首页 > 解决方案 > Android 模拟器无法与 Google Ad SDK Flutter 一起运行

问题描述

我试图使用 Google Ad SDK for Flutter (google_mobile_ads 0.12.1) 来显示横幅广告。我遵循文档上的每一步(iOS 完美运行)。但是,当我尝试在 Android 上运行该应用程序时,模拟器无法启动。我把我的代码简化到最大,发现仅仅添加 sdk 包就会挂掉我的模拟器。我的步骤现在非常简单:

  1. 创建了一个新项目(是的,带有浮动按钮的计数应用程序)。应用程序已在 Android 模拟器上成功构建并运行。
  2. 添加了google_mobile_ads 0.12.1软件包并 pub 得到了。
  3. minSdkVersion将值更改android/app/build.gradle为 19,以满足 Google 移动广告 SDK 的要求。

现在尝试构建并运行,模拟器卡住了。它已建成,没有崩溃,但永远无法完成安装。调试控制台确实显示了使用已弃用 API 的文件警告:

Launching lib/main.dart on AOSP on IA Emulator in debug mode...
Running Gradle task 'assembleDebug'...
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
✓ Built build/app/outputs/flutter-apk/app-debug.apk.
Installing build/app/outputs/flutter-apk/app.apk...

差不多就是这样。永远卡在那里。我一直在四处寻找,但还没有找到任何有用的信息。会不会是 Google Ad SDK 中的东西?

我在用着 -

Android Studio 4.1.3
Emulator: Nexus 6 API 28
Flutter SDK version: Flutter 2.0.4 • channel stable
google_mobile_ads 0.12.1

标签: androidflutterandroid-emulatorgooglemobileads

解决方案


弄清楚了。AndroidManifest.xml 必须正确配置,否则应用程序会崩溃。在我的原始应用程序中,元数据需要在应用程序级别,但我不小心将它添加到活动级别。

元数据 android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="xx-xxxx-xxxx-xxxxxxx-xxxx"

一旦这被纠正,问题就解决了。简单但花了我一些时间。希望这对像我这样的新手有所帮助。


推荐阅读