在Android Studio中出现“Error inflating class com.google.android.gms.ads.AdView”错误

5

我快疯了。

我想使用Google Play服务更改AdMob,但卡在这个错误上了。

Caused by: android.view.InflateException: Binary XML file line #53: Error inflating class com.google.android.gms.ads.AdView

我有这个:

<com.google.android.gms.ads.AdView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="5dp"
    android:id="@+id/adViewPers"/>

同时,还有这个:

<meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version"/>
<activity
        android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

主活动
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;

...
private AdView adViewPers;

...

adViewPers = (AdView) findViewById(R.id.adViewPers);
adViewPers.setAdUnitId("xxxxxxx");
adViewPers.setAdSize(AdSize.SMART_BANNER);
AdRequest adRequest = new AdRequest.Builder().build();
adViewPers.loadAd(adRequest);

在依赖项中:

图片描述

我做错了什么???


将库放在构建文件夹中可能会给您带来麻烦,因为该目录可能会在清理构建期间被删除。此外,您应该通过Maven样式的依赖项来包含Google Play服务,而不是直接包含jar文件。 - Scott Barta
@ScottBarta 是的,你说得对。我已经像添加文件一样添加了 Google Play 服务,而不是像添加库一样。如果你把这个评论写成答案,我会很高兴接受。 - Ilario
1个回答

2
更好的引入Google Play服务的方法是通过在项目结构对话框中添加库依赖,而不是像您所做的那样添加jar文件。点击+按钮>库依赖项,Google Play服务应该位于列表中。
此外,如果要添加jar文件,最好不要将它们放在build文件夹中--如果您进行了清理构建,这可能会被删除。最好的地方是在您模块根目录下的libs目录中。

我有一个问题,我注意到我收到了这个消息:“未找到Google Play服务资源。请检查您的项目配置以确保包含资源。”但是一切都正常运作。 - Ilario
在谷歌的文档中,我读到这个错误可以安全地忽略。 - Ilario

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接