android - AdMob 错误(扩展类 com.google.ads.AdView 时出错)

标签 android android-studio admob adview

我尝试把AdMob,复制libs里的库,在manifest里注册:

<activity android:name="com.google.ads.AdActivity"android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"> 

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.INTERNET"/> 

在单独的布局代码中添加:

<LinearLayout android:layout_width="fill_parent" 
              android:layout_height="wrap_content" 
              android:orientation="horizontal" 
              android:gravity="center" 
              > 
    <com.google.ads.AdView android:id="@+id/adView" 
                           android:layout_width="wrap_content" 
                           android:layout_height="wrap_content" 
                           ads:adUnitId="my cod" 
                           ads:adSize="SMART_BANNER" 
                           ads:loadAdOnCreate="true"/> 

</LinearLayout> 

在 Activity 中:

AdView adView = (AdView)this.findViewById(R.id.adView); 
    adView.loadAd(new AdRequest()); 

在图形查看器中一切看起来都很好。

但是当你启动模拟器爬升时报错:

03-09 10:21:10.509      935-935/my.ideal E/AndroidRuntime﹕ FATAL EXCEPTION: main 
java.lang.RuntimeException: Unable to start activity ComponentInfo{my.ideal/my.ideal.MainActivity}: android.view.InflateException: Binary XML file line #259: Error inflating class com.google.ads.AdView 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
        at android.app.ActivityThread.access$600(ActivityThread.java:141) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:137) 
        at android.app.ActivityThread.main(ActivityThread.java:5103) 
        at java.lang.reflect.Method.invokeNative(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:525) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
        at dalvik.system.NativeStart.main(Native Method) 
 Caused by: android.view.InflateException: Binary XML file line #259: Error inflating class com.google.ads.AdView 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:707) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
        at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267) 
        at android.app.Activity.setContentView(Activity.java:1895) 
        at my.ideal.MainActivity.onCreate(MainActivity.java:31) 
        at android.app.Activity.performCreate(Activity.java:5133) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
        at android.app.ActivityThread.access$600(ActivityThread.java:141) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:137) 
        at android.app.ActivityThread.main(ActivityThread.java:5103) 
        at java.lang.reflect.Method.invokeNative(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:525) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
        at dalvik.system.NativeStart.main(Native Method) 
 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.ads.AdView" on path: DexPathList[[zip file "/data/app/my.ideal-2.apk"],nativeLibraryDirectories=[/data/app-lib/my.ideal-2, /system/lib]] 
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
        at android.view.LayoutInflater.createView(LayoutInflater.java:559) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
        at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267) 
        at android.app.Activity.setContentView(Activity.java:1895) 
        at my.ideal.MainActivity.onCreate(MainActivity.java:31) 
        at android.app.Activity.performCreate(Activity.java:5133) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
        at android.app.ActivityThread.access$600(ActivityThread.java:141) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:137) 
        at android.app.ActivityThread.main(ActivityThread.java:5103) 
        at java.lang.reflect.Method.invokeNative(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:525) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
        at dalvik.system.NativeStart.main(Native Method) 

设备也不启动,使用Android Studio。

怎么办?

最佳答案

我认为你的错误与类名有关。这应该是:

<activity
   android:name="com.google.android.gms.ads.AdActivity"
   android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

代替:com.google.ads.AdActivity

关于android - AdMob 错误(扩展类 com.google.ads.AdView 时出错),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22288054/

相关文章:

java 日期转字符串 - 有时是 CET,有时是 CEST

java - 在应用程序模块 Android 库模块中使用带有 JNI 的库模块

java - Lollipop 上的 android Theme.Holo.Light.DarkActionBar

authentication - 无法登录admob帐户

java - 如何在 Java 中传递泛型类型名称 (Android)

android - 确定 5.0+ 操作系统版本的存储访问框架内的可用空间

android - 从android中的字节数组中读取EXIF数据

android - 在同一台机器上编译 AOSP 并运行 Android Studio,可能的情况吗?

iphone - Xcode 和 admob 第一次做什么?

Android - InterstitialAd - 未找到 Google Play 服务资源