You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Google Mobile Ads SDK时出现LiteSdkInfo类找不到异常求助

Google Mobile Ads SDK初始化抛出ClassNotFoundException异常排查

异常信息

E/Ads: Failed to retrieve lite SDK info.
    java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.internal.client.LiteSdkInfo" on path: DexPathList[[zip file "/data/app/~~AkgGqulaWLZ1A0aJbj6lcg==/ca.used-33LOn7ZdeyTUBp3TFol1sw==/base.apk"],nativeLibraryDirectories=[/data/app/~~AkgGqulaWLZ1A0aJbj6lcg==/ca.used-33LOn7ZdeyTUBp3TFol1sw==/lib/arm64, /data/app/~~AkgGqulaWLZ1A0aJbj6lcg==/ca.used-33LOn7ZdeyTUBp3TFol1sw==/base.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64, /product/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at com.google.android.gms.ads.nonagon.util.q.e(:com.google.android.gms.policy_ads_fdr_dynamite@233702201@233702200057.563238123.563238123:8)
        at com.google.android.gms.ads.nonagon.util.q.c(:com.google.android.gms.policy_ads_fdr_dynamite@233702201@233702200057.563238123.563238123:40)
        at com.google.android.gms.ads.nonagon.a.s(:com.google.android.gms.policy_ads_fdr_dynamite@233702201@233702200057.563238123.563238123:15)
        at com.google.android.gms.ads.nonagon.a.b(:com.google.android.gms.policy_ads_fdr_dynamite@233702201@233702200057.563238123.563238123:5)
        at com.google.android.gms.ads.ChimeraMobileAdsSettingManagerCreatorImpl.getMobileAdsSettingManager(:com.google.android.gms.policy_ads_fdr_dynamite@233702201@233702200057.563238123.563238123:52)
        at com.google.android.gms.ads.internal.client.bx.bO(:com.google.android.gms.policy_ads_fdr_dynamite@233702201@233702200057.563238123.563238123:40)
        at m.aiu.onTransact(:com.google.android.gms.policy_ads_fdr_dynamite@233702201@233702200057.563238123.563238123:21)
        at android.os.Binder.transact(Binder.java:1052)
        at msh.ge(:com.google.android.gms@234414031@23.44.14 (150400-580326705):8)
        at com.google.android.gms.ads.internal.client.ay.getMobileAdsSettingManager(:com.google.android.gms@234414031@23.44.14 (150400-580326705):12)
        at com.google.android.gms.ads.MobileAdsSettingManagerCreatorImpl.getMobileAdsSettingManager(:com.google.android.gms@234414031@23.44.14 (150400-580326705):42)
        at com.google.android.gms.ads.internal.client.az.fe(:com.google.android.gms@234414031@23.44.14 (150400-580326705):40)
        at msi.onTransact(:com.google.android.gms@234414031@23.44.14 (150400-580326705):122)
        at android.os.Binder.transact(Binder.java:1052)
        at com.google.android.gms.internal.ads.zzhs.zzbq(com.google.android.gms:play-services-ads-base@@20.3.0:2)
        at com.google.android.gms.internal.ads.zzbgj.zze(com.google.android.gms:play-services-ads-lite@@20.3.0:4)
        at com.google.android.gms.internal.ads.zzbia.zza(com.google.android.gms:play-services-ads-lite@@20.3.0:3)
        at com.google.android.gms.internal.ads.zzben.zzb(com.google.android.gms:play-services-ads-lite@@20.3.0:13)
        at com.google.android.gms.internal.ads.zzbeu.zzf(com.google.android.gms:play-services-ads-lite@@20.3.0:1)
        at com.google.android.gms.internal.ads.zzbeu.zzd(com.google.android.gms:play-services-ads-lite@@20.3.0:11)
        at com.google.android.gms.internal.ads.zzbhv.zzw(com.google.android.gms:play-services-ads-lite@@20.3.0:3)
        at com.google.android.gms.internal.ads.zzbhv.zzb(com.google.android.gms:play-services-ads-lite@@20.3.0:8)
        at com.google.android.gms.ads.MobileAds.initialize(com.google.android.gms:play-services-ads-lite@@20.3.0:3)
        at ca.used.main.MainActivity.onCreate(MainActivity.java:156)
        at android.app.Activity.performCreate(Activity.java:8104)
        at android.app.Activity.performCreate(Activity.java:8088)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3479)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3681)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
E/Ads:     at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2130)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:250)
        at android.app.ActivityThread.main(ActivityThread.java:7803)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)

问题说明

调用MobileAds.initialize()时触发上述异常,涉及的com.google.android.gms.ads.internal.client.LiteSdkInfo类并非我代码库中的类,推测属于Google Mobile Ads SDK内部依赖。

相关配置

app模块build.gradle

implementation 'com.google.android.gms:play-services-ads:20.3.0'

项目根目录build.gradle

buildscript {
    repositories {
        google()
        mavenCentral()
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

AndroidManifest.xml

<uses-permission android:name="com.google.android.gms.permission.AD_ID" />

<meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="THE_VALUE" />

MainActivity.java关键代码

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;


MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });

异常原因分析

  1. SDK版本兼容问题:使用的play-services-ads 20.3.0版本较旧,可能与设备上的Google Play服务版本不匹配,导致内部依赖类加载失败。
  2. Dex分包或代码混淆问题:开启代码混淆后,ProGuard/R8可能误移除了SDK内部需要的LiteSdkInfo类;或者Dex分包配置不当,导致该类未被打包进主Dex。
  3. Gradle缓存冲突:Gradle缓存中存在旧版本的SDK依赖,导致编译时未正确引入所需类。
  4. 依赖冲突:项目中其他依赖可能引入了不同版本的Google Play服务组件,导致版本冲突。

解决方法

  • 升级SDK版本:将play-services-ads版本更新至最新稳定版,例如:

    implementation 'com.google.android.gms:play-services-ads:22.6.0'
    

    新版本通常修复了旧版本的兼容性问题,且与最新Google Play服务适配更好。

  • 清理项目缓存与重建:

    1. 执行Android Studio的Build > Clean Project
    2. 执行Build > Rebuild Project
    3. 可选:删除项目根目录下的.gradle文件夹,以及模块的build文件夹,重新同步Gradle。
  • 调整代码混淆规则:如果开启了代码混淆,在proguard-rules.pro中添加以下规则,避免误删SDK内部类:

    -keep class com.google.android.gms.ads.internal.client.LiteSdkInfo { *; }
    -keep class com.google.android.gms.ads.** { *; }
    
  • 检查设备Google Play服务版本:确保测试设备上的Google Play服务已更新至最新版,可通过Google Play商店检查更新。

  • 排查依赖冲突:运行./gradlew app:dependencies查看项目依赖树,检查是否有其他依赖引入了旧版本的play-services-ads或相关组件,若有则通过exclude排除冲突:

    implementation('xxx:xxx:1.0') {
        exclude group: 'com.google.android.gms', module: 'play-services-ads'
    }
    

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 04:19:51