由于我使用广告,因此我从其他设备版本(Android 5-Android 8)中收到错误消息:
implementation 'com.google.android.gms:play-services-ads:16.0.0'
我的错误如下:
Fatal Exception: java.lang.NullPointerException: uriString
at android.net.Uri$StringUri.<init>(Uri.java:475)
at android.net.Uri$StringUri.<init>(Uri.java)
at android.net.Uri.parse(Uri.java:437)
at com.google.android.gms.ads.internal.video.a.a(:com.google.android.gms.dynamite_adsdynamite@14366046@14.3.66 (040306-213742215):13)
at com.google.android.gms.ads.internal.video.gmsg.f.a(:com.google.android.gms.dynamite_adsdynamite@14366046@14.3.66 (040306-213742215):148)
at com.google.android.gms.ads.internal.webview.j.a(:com.google.android.gms.dynamite_adsdynamite@14366046@14.3.66 (040306-213742215):293)
at com.google.android.gms.ads.internal.webview.ac.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at com.google.android.gms.ads.internal.util.e.dispatchMessage(:com.google.android.gms.dynamite_adsdynamite@14366046@14.3.66 (040306-213742215):5)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
对任何帮助都感激
答案 0 :(得分:2)
您正在使用的17.0.0
版本中有一个错误
implementation 'com.google.android.gms:play-services-ads:17.0.0' //or
implementation 'com.google.firebase:firebase-ads:17.0.0'
您可以检查此thread以获得更多详细信息。
根据来自Mobile Ads SDK团队成员的post,此问题已得到修复,但目前没有ETA。
编辑
我发现上述问题与特定的admob版本无关。从上周开始,大多数带有AdMob的应用开始崩溃,无论您使用的是哪个admob版本都无所谓。我认为服务器端或它们如何投放广告(响应中可能为空)而不是在AdMob SDK级别中遇到问题。
所以目前我们已经
17.0.0
中可能存在一些问题该问题已提交给Mobile Ads SDK
小组,因此我们只能选择等待服务器端修复,否则我们可能会在17.0.0
之后获得另一个版本。
答案 1 :(得分:0)
我将广告依赖关系升级到最新版本时也遇到了这个问题,以找到合适的解决方案,请继续检查此thread,如@Aryan在其他答案中提到的那样。目前,您可以使用以下依赖项作为解决方法:
implementation 'com.google.android.gms:play-services-ads:15.0.0'
这将防止崩溃发生。