繁体   English   中英

没找到上课“com.google.android.gms.common.app.GmsApplication”

[英]Didn't find class “com.google.android.gms.common.app.GmsApplication”

我在使用Google Play服务版本100884030在Android 4.4上运行我的应用时出现问题。我收到以下错误:

FATAL EXCEPTION: main
Process: com.google.android.gms, PID: 8678
java.lang.RuntimeException: Unable to instantiate application com.google.android.gms.common.app.GmsApplication: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.app.GmsApplication" on path: DexPathList[[zip file "/system/framework/com.android.media.remotedisplay.jar", zip file "/system/framework/com.android.location.provider.jar", zip file "/system/framework/com.google.android.ble.jar"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
    at android.app.LoadedApk.makeApplication(LoadedApk.java:507)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4301)
    at android.app.ActivityThread.access$1500(ActivityThread.java:135)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5001)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.app.GmsApplication" on path: DexPathList[[zip file "/system/framework/com.android.media.remotedisplay.jar", zip file "/system/framework/com.android.location.provider.jar", zip file "/system/framework/com.google.android.ble.jar"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
    at android.app.Instrumentation.newApplication(Instrumentation.java:975)
    at android.app.LoadedApk.makeApplication(LoadedApk.java:502)
    ... 11 more

我的Gradle设置:

compileSdkVersion 25
buildToolsVersion "25.0.2"
minSdkVersion 14 
targetSdkVersion 22
....
compile 'com.google.android.gms:play-services-analytics:10.2.1'
compile 'com.google.android.gms:play-services-ads:10.2.1'

所以你看到了什么问题?

谢谢 !!!

我认为我有一个相同的问题,结果证明设备上的.apk已损坏。 可能是内部闪存(硬件)问题?

这就是我做的:

  1. 打开设备上的“开发人员设置”(通过在“设置”的“关于”屏幕中点击内置编号七次)。
  2. 从出现的“开发人员设置”菜单中,打开“USB调试”。
  3. 连接到安装了adb的PC。
  4. 使用adb shell pm path com.google.android.gms在设备上查找现有Google Play Services apk的adb shell pm path com.google.android.gms
  5. 使用该路径从设备中提取现有的apk,然后使用adb pull /data/app/com.google.android.gms-1/base.apk进行检查(将此处的路径替换为您在第4点获得的路径) 。
  6. 通过将其扩展名更改为.zip并执行zip完整性测试来检查apk是否已损坏。 在我的情况下,它说classes2.dex bad CRC
  7. 从某个受信任的地方下载一个好的apk。 另一个相同的设备将是完美的,但我没有一个,所以我从apkmirror.com得到了我的(确保你选择了正确的变体,其中有相同的版本号)。 我下载的那个字节与从手机中提取的字节数相同,但内部的一段数据不同。
  8. 使用adb install -r <downloaded file>安装下载的apk。
  9. 重启设备。

而已。 一切都在这之后奏效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM