【发布时间】:2016-03-04 13:44:07
【问题描述】:
我使用com.google.android.gms:play-services:8.4.0。它在 Lollipop 中运行良好,但在 Jelly Bean 4.2 中崩溃。我的代码如下:
在毕业典礼中:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.myapp.myapp"
minSdkVersion 10
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta1'
compile 'io.reactivex:rxandroid:1.0.1'
// Because RxAndroid releases are few and far between, it is recommended you also
// explicitly depend on RxJava's latest version for bug fixes and new features.
compile 'io.reactivex:rxjava:1.0.14'
compile 'com.android.support:recyclerview-v7:23.+'
compile 'com.android.support:cardview-v7:23.+'
compile 'com.squareup.picasso:picasso:2.5.2'
compile project(':aFileChoosers')
//compile project(':cRops')
compile project(':ucrop')
compile ('io.nlopez.smartlocation:library:3.2.0') {
transitive = false
}
}
apply plugin: 'com.google.gms.google-services'
我收到的消息如下:
03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime: 致命 例外:主要 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime: java.lang.NoClassDefFoundError: com.google.android.gms.R$string 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:在 com.google.android.gms.measurement.zza.(未知来源) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime: 在 com.google.android.gms.measurement.zza.zzaR(未知来源)03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime: 在 com.google.android.gms.measurement.internal.zzn.zziJ(未知来源) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:
在 com.google.android.gms.measurement.internal.zzz.zza(未知来源) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:
在 com.google.android.gms.measurement.internal.zzw.(未知 来源)03-04 20:35:39.838 27252-27252/com.myapp.myapp E/Android运行时:在 com.google.android.gms.measurement.internal.zzaa.zzDj(未知来源) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:
在 com.google.android.gms.measurement.internal.zzw.zzaT(未知 来源)03-04 20:35:39.838 27252-27252/com.myapp.myapp E/Android运行时:在 com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(未知 来源)03-04 20:35:39.838 27252-27252/com.myapp.myapp E/Android运行时:在 android.content.ContentProvider.attachInfo(ContentProvider.java:1058) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:
在 android.app.ActivityThread.installProvider(ActivityThread.java:5097) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:
在 android.app.ActivityThread.installContentProviders(ActivityThread.java:4680) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:
在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4613) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:
在 android.app.ActivityThread.access$1300(ActivityThread.java:162) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:
在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1424) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:
在 android.os.Handler.dispatchMessage(Handler.java:107) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime: 在 android.os.Looper.loop(Looper.java:194) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:在 android.app.ActivityThread.main(ActivityThread.java:5371) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime: 在 java.lang.reflect.Method.invokeNative(Native Method) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime: 在 java.lang.reflect.Method.invoke(Method.java:525) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime:
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 03-04 20:35:39.838 27252-27252/com.myapp.myapp E/AndroidRuntime: 在 dalvik.system.NativeStart.main(Native Method)
我该如何解决?请任何人帮助我..非常感谢
【问题讨论】:
-
com.google.android.gms:play-services是非常庞大的存储库。我们只使用子存储库:com.google.android.gms:play-services-analytics和com.google.android.gms:play-services-ads,一切正常。也许这可以解决您的问题。 -
我需要用于谷歌云消息和 gps 导航的播放服务.. 那么我必须使用什么?
-
我认为
com.google.android.gms:play-services-gcm和com.google.android.gms:play-services-location。你可以在这里查看完整列表developers.google.com/android/guides/setup#split -
但是使用 com.google.android.gms:play-services:8.4.0 它在 lolipop 中可以正常工作。为什么它可以做到?
-
我不太清楚。也许某些播放服务模块需要最低限度的 SDK 作为 Lollipop。您有意义的堆栈跟踪以以下行开头:
com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate。也许没有完整的包com.google.android.gms.measurement不会包含在您的项目中。
标签: android google-play-services