我在多进程中使用 AdMob 横幅广告。它在低于 29 的 API 版本上工作正常,但在 android-P 上,它给出了这个错误。
com.google.android.gms.ads.internal.webview.s: Webview initialization failed.
at com.google.android.gms.ads.internal.webview.o.a(:com.google.android.gms.policy_ads_fdr_dynamite@6000@6000.204543870.204543870:5)
at com.google.android.gms.ads.internal.i.a(:com.google.android.gms.policy_ads_fdr_dynamite@6000@6000.204543870.204543870:6)
at com.google.android.gms.ads.internal.y.a(:com.google.android.gms.policy_ads_fdr_dynamite@6000@6000.204543870.204543870:4)
at com.google.android.gms.ads.internal.l.run(:com.google.android.gms.policy_ads_fdr_dynamite@6000@6000.204543870.204543870:11)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.google.android.gms.ads.internal.util.f.dispatchMessage(:com.google.android.gms.policy_ads_fdr_dynamite@6000@6000.204543870.204543870:1)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.RuntimeException: Using WebView from more than one process at once with the same data directory is not supported. https://crbug.com/558377
我已经在应用程序类中初始化了 MobileAds。我还尝试在我使用广告但没有成功的其他过程中进行初始化。
最佳答案
请注意您的错误中的这一行:
“Caused by: java.lang.RuntimeException: 不支持同时从多个进程使用相同数据目录的 WebView。
”
这意味着您的应用程序正在使用 2 个或更多进程,您需要为每个进程设置不同的 WebView
目录(主进程已经有默认文件夹),如我的 question and answer here 中所述。 .
在 Android 9.0 API 28 上,在第二个进程运行时调用 WebView.setDataDirectorySuffix("any-folder-name")
,然后再使用任何 WebView
。
关于android - Admob 横幅广告未在 android P 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52144354/