![](/img/trans.png)
[英]Google AdMob java.lang.NoClassDefFoundError: com.google.android.gms.ads.AdView
[英]java.lang.NoClassDefFoundError: com.google.android.gms.ads.AdView
我正在編寫代碼以在我的Android應用程序中顯示Admob Banner。 為了達到這個目的,我做了以下幾點調整:
添加
<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" />
當我嘗試運行應用程序時,它會拋出以下異常:
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服務設置指南 ,不僅僅是“添加廣告”。 由於GPS捆綁了資源,您必須將其作為新的單獨項目導入,並從您自己的現有項目中引用它。
請按照設置指南進行操作。 我剛剛確認我可以從我自己的GPS項目中成功引用AdView
。
GPS是一項外部服務 - 它是由Play商店應用管理的APK,您需要確保用戶擁有最新的GPS APK和/或符合您想要的功能。 以下是指南: 確保設備擁有Google Play服務APK 。
如果設備沒有安裝GPS(不是Google設備,特殊ROM,AOSP ROM,舊Android等等),則無法使用AdView。
我認為你應該遵循這些步驟
第一步:你應該登錄到admob帳戶並在那里添加一個沒有url的應用程序。點擊管理app take,adunitId從那里的xml布局請放置以下代碼。
<com.google.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="youradunitid"
ads:adSize="BANNER"
ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID"
ads:loadAdOnCreate="true"/>
第二步:在主要活動中,請不要再添加adview,因為您已經在xml中添加了adview,請不要忘記將loadAdOnCreate = true
第三步:
您已經為清單添加了必要條件。
第四步:當您在模擬器上運行時,它會提供測試廣告
第五步:現在您已准備好在設備上啟動
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.