簡體   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