java.lang.ClassNotFoundException - eatg(文件:- com.google.android.gms@[email protected] (100300-668017056):5)- 设备状态 - 100% 在后台

问题描述 投票:0回答:1

崩溃发生在 Google Play 服务的内部类中。所有崩溃都在后台发生。设备状态 - 100% 在后台。崩溃是从最近 5 天开始的。 所有谷歌播放服务库也是最新的。 下面附加堆栈跟踪。

堆栈跟踪:

Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: Leatg;
       at anqf.d(:com.google.android.gms@[email protected] (100300-668017056):5)
       at ajso.<clinit>(:com.google.android.gms@[email protected] (100300-668017056):9)
       at com.google.android.gms.chimera.container.DynamiteLoaderImpl.<init>(:com.google.android.gms@[email protected] (100300-668017056):49)
       at java.lang.Class.newInstance(Class.java)
       at com.google.android.gms.dynamite.DynamiteModule.zzg(com.google.android.gms:play-services-basement@@18.1.0:5)
       at com.google.android.gms.dynamite.DynamiteModule.zza(com.google.android.gms:play-services-basement@@18.1.0:28)
       at com.google.android.gms.dynamite.zze.zzb(com.google.android.gms:play-services-basement@@18.1.0)
       at com.google.android.gms.dynamite.zzi.selectModule(com.google.android.gms:play-services-basement@@18.1.0:2)
       at com.google.android.gms.dynamite.DynamiteModule.load(com.google.android.gms:play-services-basement@@18.1.0:5)
       at com.google.android.gms.internal.measurement.zzef.zzf(zzef.java:2)
       at com.google.android.gms.internal.measurement.zzcx.zza(com.google.android.gms:play-services-measurement-sdk-api@@21.2.1:3)
       at com.google.android.gms.internal.measurement.zzdu.run(com.google.android.gms:play-services-measurement-sdk-api@@21.2.1:2)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:919)

另外,附上设备状态图片 enter image description here

我希望通过更新谷歌播放服务库找到一些解决方案。但这并没有帮助。

android firebase kotlin google-play-services classnotfoundexception
1个回答
0
投票

以下是可能的原因和解决方案的细分:

1。播放服务版本不匹配:

您的应用中集成的 Google Play 服务版本可能与设备安装的版本不兼容。

解决方案:确保 build.gradle 文件中的 Google Play Services 版本是最新的。

例如:

implementation 'com.google.android.gms:play-services-basement:18.1.0'
implementation 'com.google.android.gms:play-services-measurement-sdk-api:21.2.1'

您可能需要将它们更新到最新的稳定版本。

  1. Google Play 服务安装损坏:

设备上的 Google Play 服务可能已损坏或部分安装。

解决方案:卸载设备上的 Google Play 服务更新,或指示用户从 Play 商店更新/重新安装 Google Play 服务。

  1. ProGuard 或 R8 配置:

如果您使用 ProGuard 或 R8 进行代码压缩和混淆,它可能会无意中删除或混淆必要的类。

解决方案:将规则添加到 ProGuard 配置文件中,以防止删除必要的类。

例如:

-keep class com.google.android.gms.** { *; }
-keep class eetg { *; }

确保与 Google Play 服务相关的类和您的 DynamiteModule 依赖项没有被混淆。

4。多重索引问题:

如果您的应用程序使用 multidex,则辅助 dex 文件中的类加载可能会出现问题。

解决方案:如果您使用的是 multidex,请确保在 build.gradle 中正确配置它:

android {
defaultConfig {
    multiDexEnabled true
}
}

此外,请考虑在您的 Application 类中添加 multidex 初始化。

5。炸药模块加载问题:

错误发生在 DynamiteModule 类中,该类动态加载 Google Play 服务中的模块。它可能表明特定模块不可用或未正确加载。

解决方案:尝试检查设备是否支持 Dynamite 模块。另外,在多个设备或模拟器上进行测试,看看是否是特定于设备的问题。

6。清除应用程序缓存和数据:

如果设备上出现此问题,则应用程序的缓存数据可能会导致失败。

解决方案:清除应用程序的缓存和数据,或重新安装应用程序。

7。库依赖冲突:

项目中不同库版本之间的冲突可能会导致此问题。

解决方案:使用 ./gradlew app:dependencies 命令检查库之间是否存在版本冲突。您可以在 build.gradle 中使用依赖项解析策略来强制执行特定版本:

configurations.all {
resolutionStrategy {
    force 'com.google.android.gms:play-services-basement:18.1.0'
}
}

我希望这些信息可以帮助您解决错误。

© www.soinside.com 2019 - 2024. All rights reserved.