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

集成Meta Audience Network到AdMob中介时出现NoSuchMethodError崩溃问题

AdMob中介集成Meta Audience Network时Mediation Test Suite崩溃问题

问题详情

将Meta Audience Network集成到AdMob中介后,直接用AdMob加载广告正常,但通过Mediation Test Suite启动广告时应用崩溃,报错信息如下:

java.lang.NoSuchMethodError: No virtual method addNetworkExtrasBundle(Ljava/lang/Class;Landroid/os/Bundle;)Lcom/google/android/gms/ads/AdRequest$Builder; in class Lcom/google/android/gms/ads/AdRequest$Builder; or its super classes (declaration of 'com.google.android.gms.ads.AdRequest$Builder' appears in /data/app/~~oKlg38Jc4VCuldv5j8yjbw==/in.animall.android-j-38kGYKedQ-_97P08tWkw==/base.apk!classes19.dex)
    at com.google.android.ads.mediationtestsuite.utils.AdRequestUtil.buildAdRequest(AdRequestUtil.java:64)
    at com.google.android.ads.mediationtestsuite.utils.AdManager.<init>(AdManager.java:26)
    at com.google.android.ads.mediationtestsuite.utils.InterstitialAdManager.<init>(InterstitialAdManager.java:19)
    at com.google.android.ads.mediationtestsuite.dataobjects.AdFormat$2.createAdLoader(AdFormat.java:27)
    at com.google.android.ads.mediationtestsuite.dataobjects.BatchAdRequestManager.testNextConfig(BatchAdRequestManager.java:49)
    at com.google.android.ads.mediationtestsuite.dataobjects.BatchAdRequestManager.beginTesting(BatchAdRequestManager.java:39)
    at com.google.android.ads.mediationtestsuite.activities.ConfigurationItemDetailActivity.loadSelectedAds(ConfigurationItemDetailActivity.java:240)
    at com.google.android.ads.mediationtestsuite.activities.ConfigurationItemDetailActivity.access$500(ConfigurationItemDetailActivity.java:42)
    at com.google.android.ads.mediationtestsuite.activities.ConfigurationItemDetailActivity$2.onMenuItemClick(ConfigurationItemDetailActivity.java:86)
    at androidx.appcompat.widget.Toolbar$1.onMenuItemClick(Toolbar.java:224)
    at androidx.appcompat.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:769)
    at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:833)
    at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:157)
    at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:984)
    at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:974)
    at androidx.appcompat.widget.ActionMenuView.invokeItem(ActionMenuView.java:620)
    at androidx.appcompat.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:155)
    at android.view.View.performClick(View.java:7447)
    at android.view.View.performClickInternal(View.java:7420)
    at android.view.View.access$3700(View.java:837)
    at android.view.View$PerformClick.run(View.java:28867)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7886)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:568)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)

当前使用的依赖版本:

facebook-mediation = "6.18.0.0"
playServicesAds = "23.4.0"
mediationTestSuite = "3.0.0"
play-services-ads = { group = "com.google.android.gms", name = "play-services-ads", version.ref = "playServicesAds" }
google-ads-facebook = { group = "com.google.ads.mediation", name = "facebook", version.ref = "facebook-mediation"}
mediation-test-suite = { group = "com.google.android.ads", name = "mediation-test-suite", version.ref = "mediationTestSuite" }

问题原因

这个NoSuchMethodError是依赖版本不兼容导致的:Mediation Test Suite 3.0.0要求Google Ads SDK最低版本为24.0.0,但你使用的play-services-ads版本是23.4.0,低于要求版本,导致Test Suite调用了该版本SDK中不存在的addNetworkExtrasBundle方法。

解决方案

1. 升级Google Ads SDK版本

将playServicesAds版本升级到24.0.0或更高,确保与Mediation Test Suite 3.0.0兼容。修改后的依赖配置示例:

facebook-mediation = "6.18.0.0"
playServicesAds = "24.0.0"
mediationTestSuite = "3.0.0"
play-services-ads = { group = "com.google.android.gms", name = "play-services-ads", version.ref = "playServicesAds" }
google-ads-facebook = { group = "com.google.ads.mediation", name = "facebook", version.ref = "facebook-mediation"}
mediation-test-suite = { group = "com.google.android.ads", name = "mediation-test-suite", version.ref = "mediationTestSuite" }

2. 验证适配器兼容性

当前使用的facebook-mediation:6.18.0.0适配Google Ads SDK 23.3.0及以上版本,升级到24.x版本无需更换适配器版本,可直接兼容。

3. 清理并重构项目

同步项目依赖后,执行清理(Clean Project)和重新构建(Rebuild Project)操作,确保新依赖生效。

备选方案(不推荐)

如果暂时无法升级Google Ads SDK,可以降级Mediation Test Suite到兼容23.4.0的版本(如2.0.0),但推荐优先升级SDK到最新稳定版,以获得更好的兼容性和功能支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 01:54:53