微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

加载 RewardedAds 时出现 Flutter FATAL EXCEPTION 错误 java.lang.InstantiationError: com.google.android.gms.ads.rewarded.RewardedAd

如何解决加载 RewardedAds 时出现 Flutter FATAL EXCEPTION 错误 java.lang.InstantiationError: com.google.android.gms.ads.rewarded.RewardedAd

所以我使用的是 google_mobile_ads plugin 版本 0.12.1+1(这是目前最新的版本)。

我遇到了一个奇怪的错误,过去 3 天我尝试了很多方法来修复它,但没有任何成功。

请注意,它一直在运行,而且该应用程序已经上线几个月了,所以所有 AdMob 凭据都是正确的,我已经多次重新检查过。

所以我不知道到底发生了什么,但我没有其他地方可以找到解决方案,我最终在这里发布了一个问题。希望有人能帮我指点一下。

调用 rewardedAd.load() 时,应用程序崩溃并显示如下错误消息:

E/AndroidRuntime(27180): FATAL EXCEPTION: main
E/AndroidRuntime(27180): Process: com.me.app,PID: 27180
E/AndroidRuntime(27180): java.lang.InstantiationError: com.google.android.gms.ads.rewarded.RewardedAd
E/AndroidRuntime(27180):    at io.Flutter.plugins.googlemobileads.FlutterRewardedAd.createRewardedAd(FlutterRewardedAd.java:154)
E/AndroidRuntime(27180):    at io.Flutter.plugins.googlemobileads.FlutterRewardedAd.load(FlutterRewardedAd.java:95)
E/AndroidRuntime(27180):    at io.Flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.onMethodCall(GoogleMobileAdsPlugin.java:330)
E/AndroidRuntime(27180):    at io.Flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/AndroidRuntime(27180):    at io.Flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/AndroidRuntime(27180):    at io.Flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:818)
E/AndroidRuntime(27180):    at android.os.MessageQueue.nativePollOnce(Native Method)
E/AndroidRuntime(27180):    at android.os.MessageQueue.next(MessageQueue.java:336)
E/AndroidRuntime(27180):    at android.os.Looper.loop(Looper.java:197)
E/AndroidRuntime(27180):    at android.app.ActivityThread.main(ActivityThread.java:8167)
E/AndroidRuntime(27180):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(27180):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
E/AndroidRuntime(27180):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
I/Process (27180): Sending signal. PID: 27180 SIG: 9

在我的代码中:

MobileAds.instance.initialize()main.dart 中被调用,一旦初始化完成,RewardedAd 就会像这样初始化:

_rewardedAd = RewardedAd(
          adUnitId: AdManager.rewardedAdUnitId,listener: AdListener(
            onRewardedAdUserEarnedReward: (RewardedAd ad,RewardItem reward) {
              print('Rewarded Ad successful: $ad reward: $reward');
              // Give reward to user
            },onAdLoaded: (Ad ad) {
              setState(() {
                isAdsLoading = false;
              });
            },onAdFailedToLoad: (Ad ad,LoadAdError error) {
              print('Error Rewarded Video Ad Failed to load: $error');
            },),request: AdRequest())
        ..load();

如果我删除 ..load(),它不会崩溃,但永远不会加载。再一次,这之前没有崩溃。

我做了什么来解决这个问题:

  1. 我已重新检查所有凭据:应用 ID 和广告单元 ID 均正确。
  2. 再次查看文档以确保我的 AndroidManifest.xml 设置正确。
  3. 尝试了 0.12.1+1(空安全)和 0.11.0+4(此版本用于实时版本)。
  4. 尝试了调试和发布模式。
  5. 在 Android 虚拟设备和真实设备中都尝试过。
  6. 还有很多我已经不记得了。

注意:实时版本运行良好。我已经尝试将应用上传到封闭测试版本,但它仍然崩溃。

Flutter run --verbose

这是一个很长的日志,所以我在这里包括错误部分,但您可以阅读所有full log here

[  +35 ms] E/AndroidRuntime(31757): FATAL EXCEPTION: main
[        ] E/AndroidRuntime(31757): Process: com.me.app,PID: 31757
[        ] E/AndroidRuntime(31757): java.lang.InstantiationError:
com.google.android.gms.ads.rewarded.RewardedAd
[        ] E/AndroidRuntime(31757):     at
io.Flutter.plugins.googlemobileads.FlutterRewardedAd.createRewardedAd(FlutterRewardedAd.java:154)
[        ] E/AndroidRuntime(31757):     at
io.Flutter.plugins.googlemobileads.FlutterRewardedAd.load(FlutterRewardedAd.java:95)
[        ] E/AndroidRuntime(31757):     at
io.Flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.onMethodCall(GoogleMobileAdsPlugin.java:330)
[        ] E/AndroidRuntime(31757):     at
io.Flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
[        ] E/AndroidRuntime(31757):     at
io.Flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
[        ] E/AndroidRuntime(31757):     at
io.Flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:818)
[        ] E/AndroidRuntime(31757):     at android.os.MessageQueue.nativePollOnce(Native Method)
[        ] E/AndroidRuntime(31757):     at android.os.MessageQueue.next(MessageQueue.java:336)
[        ] E/AndroidRuntime(31757):     at android.os.Looper.loop(Looper.java:197)
[        ] E/AndroidRuntime(31757):     at android.app.ActivityThread.main(ActivityThread.java:8167)
[        ] E/AndroidRuntime(31757):     at java.lang.reflect.Method.invoke(Native Method)
[        ] E/AndroidRuntime(31757):     at
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
[        ] E/AndroidRuntime(31757):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
[  +33 ms] I/Process (31757): Sending signal. PID: 31757 SIG: 9
[ +261 ms] Service protocol connection closed.
[        ] Lost connection to device.
[   +2 ms] executing: /Volumes/ME/Applications/Android/sdk/platform-tools/adb -s 5a53414a33573398 forward
--list
[  +11 ms] Exit code 0 from: /Volumes/ME/Applications/Android/sdk/platform-tools/adb -s 5a53414a33573398
forward --list
[        ] 5a53414a33573398 tcp:59154 tcp:34485
[   +1 ms] executing: /Volumes/ME/Applications/Android/sdk/platform-tools/adb -s 5a53414a33573398 forward
--remove tcp:59154
[  +13 ms] DevFS: Deleting filesystem on the device
(file:///data/user/0/com.me.app/code_cache/my_appCGPZRY/my_app/)
[ +257 ms] Ignored error while cleaning up DevFS: TimeoutException after 0:00:00.250000: Future not completed
[   +3 ms] executing: /Volumes/ME/Applications/Android/sdk/platform-tools/adb -s 5a53414a33573398 forward
--list
[  +16 ms] Exit code 0 from: /Volumes/ME/Applications/Android/sdk/platform-tools/adb -s 5a53414a33573398
forward --list
[   +2 ms] "Flutter run" took 140,682ms.
[   +4 ms] Running shutdown hooks
[        ] Shutdown hook priority 4
[   +1 ms] Shutdown hooks complete
[        ] exiting with code 0

Flutter analyze

Analyzing my_app...                                           
No issues found! (ran in 6.1s)

Flutter doctor -v

[✓] Flutter (Channel stable,2.0.5,on macOS 11.2.2 20D80 darwin-x64,locale en-US)
    • Flutter version 2.0.5 at /Users/ME/development/Flutter
    • Framework revision adc687823a (12 days ago),2021-04-16 09:40:20 -0700
    • Engine revision b09f014e96
    • Dart version 2.12.3
    • Pub download mirror https://pub.Flutter-io.cn
    • Flutter download mirror https://storage.Flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Volumes/ME/Applications/Android/sdk
    • Platform android-30,build-tools 30.0.2
    • ANDROID_HOME = /Volumes/ME/Applications/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4,Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      ? https://plugins.jetbrains.com/plugin/9212-Flutter
    • Dart plugin can be installed from:
      ? https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.55.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.8.0

[✓] Connected device (3 available)
    • SM G960U1 (mobile)  • 5a5341                         • android-arm64  • Android 10 (API 29)
    • ME iPho (mobile) • b3ebbe938628 • ios            • iOS 14.4.2
    • Chrome (web)        • chrome                                   • web-javascript • Google Chrome
      90.0.4430.85

• No issues found!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。