您会发现许多使用“新”Google Play 服务库运行 Android 广告的“提示”和“技巧”。其中大多数将让您追逐您的尾巴,将 jar 文件添加到“libs”文件夹,并在项目设置/结构界面中添加对这些 jar 文件中的库的引用。事实上,通过 Android Studio 将 Google 广告添加到 Android 项目需要:
1) 将此元标记添加到您的 Android 清单文件中 - 它可以在打开的“应用程序”xml 标记之间和第一个(主)“活动”xml 标记之前(文本,如上面的问题所示,将最初是红色错误 - 我们将在另一个步骤中修复它):
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
2) 将此活动添加到您的 Android 清单文件中:
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
3) 到您的“build.gradle”文件(项目文件夹中的文件,而不是根文件夹中的文件 - 即与您的“src”文件夹内联的文件,而不是与您的包名称文件夹),将其添加到“依赖项”组(这是缓解问题中描述的错误的步骤):
compile 'com.google.android.gms:play-services:4.0.30'
4) 最小目标 SDK 为 9+,目标为 13+。
5) 使用“com.google.android.gms.ads.AdView”而不是“com.google.gms.ads...”小部件。
6) 在代码(下面的示例)或 xml 布局中,实例化 AdView,并且在调用“mAdView.loadAd(adRequest);”之前,一定要设置:
mAdView.setAdSize(AdSize.BANNER); // Or whatever size you like
mAdView.setAdUnitId("YOUR_AD_UNIT_ID"); // Use your ID, requires an AdMob account
7) 如果您在 MacOS 上编码并且遇到编译器更新错误(例如,从 50 更新到 51),那么您正在使用 Java 6.0 SDK 进行编译 - 这是一个问题,因为 Android Studio 只会运行使用 6.0,但您可能添加的某些 AdView 库(请查看此答案中的“最终”部分),需要 7.0 编译器。这在这里真的不是问题(给出下面“最后”部分中的注释),但这里是使用 Java 7 SDK 编译的一个很好的资源 - 按照这些说明,然后重新启动 Android 并让它重新安装 6满足其运营需求的 SDK:http://www.cc.gatech.edu/~simpkins/teaching/gatech/cs2340/guides/java7-macosx.html
最后,如果您一直在追尾并添加如上所述的 jar/lib 设置,则在编译时会收到错误消息,表明您复制了 AdView/AdRequest 等的包含...或者如果您'得到编译器版本错误(敦促您从 50 更新到 51)。只需删除这些 jar/lib 添加并依赖第 3 步中描述的 gradle 编辑。
这是解决这个问题的官方链接:https://developers.google.com/mobile-ads-sdk/docs/