Android Studio - Error inflating class com.google.ads.AdView(Android Studio - 膨胀类 com.google.ads.AdView 时出错)
问题描述
我正在使用新的 Android Studio.我已经完成了一个应用程序并且工作正常,现在我必须添加 AdMob sdk.所以我把jar放在'libs'文件夹中,然后右键单击添加为库".我在智能手机上运行该项目,但应用程序在启动时崩溃.
I'm using new Android Studio. I've done an application and works fine, now I've to add AdMob sdk. so I put the jar in 'libs' folder and right-click "add as library". I run the project on my smartphone but the application crashes on startup.
我该如何解决这个问题?我认为这将是 AdMob sdk 的导入有问题.
How can i solve this? I think it'll be something wrong with the import of AdMob sdk.
谢谢!
这是xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.application"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
//MY ACTIVITY
</activity>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<meta-data android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" android:value="true"/>
<meta-data android:name="ADMOB_PUBLISHER_ID" android:value="a151964f48b17a7"/>
</application>
这是布局xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
tools:context=".MainActivity">
<com.google.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
ads:adSize="BANNER"
ads:adUnitId="MY_UNIT_ID"
ads:loadAdOnCreate="true" >
</com.google.ads.AdView>
这是日志猫
5-20 15:38:00.835 26121-26121/com.mnt.crudelibestmoments E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mnt.crudelibestmoments/com.mnt.crudelibestmoments.MainActivity}: android.view.InflateException: Binary XML file line #195: Error inflating class com.google.ads.AdView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
at android.app.ActivityThread.access$600(ActivityThread.java:127)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4448)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #195: Error inflating class com.google.ads.AdView
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:255)
at android.app.Activity.setContentView(Activity.java:1835)
at com.mnt.crudelibestmoments.MainActivity.onCreate(MainActivity.java:40)
at android.app.Activity.performCreate(Activity.java:4465)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
... 11 more
Caused by: java.lang.ClassNotFoundException: com.google.ads.AdView
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.view.LayoutInflater.createView(LayoutInflater.java:552)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
如果我在布局 xml 中隐藏 AdMob 代码,应用程序可以正常工作
If i hide the AdMob code in layout xml, the application works properly
谢谢!
推荐答案
这有点棘手,但这里是解决方案:
it's a bit tricky but here is the solution:
当前预览版不会编辑 build.gradle 文件,即使您已将 admob 库添加到菜单中的依赖项.你可以做的是手动添加依赖,很简单:
The current preview release doesn't edit the build.gradle file, even if you have added the admob library to the dependencies in the menu. What you can do is to add the dependency manually, it's very easy:
双击导航菜单左侧的build.gradle"文件.添加以下行:
double click on the file "build.gradle" on the left in the navigation menu. Add the following line:
编译文件('libs/GoogleAdMobAdsSdk-6.4.1.jar')
compile files('libs/GoogleAdMobAdsSdk-6.4.1.jar')
应该是这样的:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/android-support-v4.jar')
compile files('libs/GoogleAdMobAdsSdk-6.4.1.jar')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}
这篇关于Android Studio - 膨胀类 com.google.ads.AdView 时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Android Studio - 膨胀类 com.google.ads.AdView 时出错


基础教程推荐
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01