java.lang.NoClassDefFoundError:com.google.android.gms.ads.AdView

我正在编写代码以在Android应用程序中显示Admob标语.为了做到这一点,我做了以下几项调整:

>已配置的Google Play服务库如下:https://developers.google.com/mobile-ads-sdk/docs/
>新增

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

       <meta-data
       android:name="com.google.android.gms.version"
        android:value="4323000" /> 

清单文件中的代码,还添加了以下权限:

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

>已通过:https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals#play链接在我的应用程序中开发了横幅.

当我尝试运行应用程序时,会发生以下问题:

     05-07 14:51:17.617: E/AndroidRuntime(7877): FATAL EXCEPTION: main
     05-07 14:51:17.617: E/AndroidRuntime(7877): java.lang.NoClassDefFoundError:       com.google.android.gms.ads.AdView
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at com.atc.hums.HumsActivity.onCreate(HumsActivity.java:458)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at android.app.Activity.performCreate(Activity.java:5165)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1103)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2419)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2520)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at android.app.ActivityThread.access$600(ActivityThread.java:162)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1366)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at android.os.Handler.dispatchMessage(Handler.java:99)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at android.os.Looper.loop(Looper.java:158)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at android.app.ActivityThread.main(ActivityThread.java:5751)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at java.lang.reflect.Method.invokeNative(Native Method)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at java.lang.reflect.Method.invoke(Method.java:511)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1083)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850)
     05-07 14:51:17.617: E/AndroidRuntime(7877):    at dalvik.system.NativeStart.main(Native Method)

解决方法:

为您的项目添加Google Play服务支持

根据Google Play Services setup guide,一个人并不能简单地“添加罐子”.
由于GPS与资源捆绑在一起,因此您必须将其作为一个新的单独项目导入,并从您自己的现有项目中引用它.

请遵循安装指南.我刚刚确认自己可以从自己的集成GPS的项目中成功引用AdView.

确保您的设备支持Google Play服务

GPS是一项外部服务-它是由Play商店应用管理的APK,您需要确保用户拥有最新的GPS APK和/或符合您要执行的操作的APK.这是指南:Ensure Devices Have the Google Play services APK.

如果该设备未安装GPS(不是Google设备,特殊ROM,AOSP ROM,旧版Android等),则无法使用AdView.

上一篇:javascript-如何在我的搜索结果页上放置adsense广告?


下一篇:javascript – 错误 – HTML中的异步adsense代码