2013-04-12 101 views
1

我在如何添加谷歌AdSense?

使用此代碼看起來很完美,沒有任何錯誤BT不知道爲什麼,我的應用程序時墜毀,每次我跑我的應用程序..

<com.google.ads.AdView 
    android:id="@+id/ad" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    ads:adUnitId= "idthatigotthroughadmob" 
    ads:loadAdOnCreate="true" 
    ads:adSize="BANNER" 
/> 

在android系統的manifest.xml

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

<application><activity 
android:name="com.google.ads.AdActivity" 
android:configChanges="keyboard|keyboardHidden|orientation" 
></activity> </application> 

logcat的顯示

04-12 21:30:09.655: E/dalvikvm(272): Could not find class 'com.google.ads.AdView', 
referenced from method com.project.hisaabkikitaab.MainActivity.onCreate 
04-12 21:30:09.655: W/dalvikvm(272): VFY: unable to resolve check-cast 471 (Lcom/google 
/ads/AdView;) in Lcom/project/hisaabkikitaab/MainActivity; 
04-12 21:30:09.655: D/dalvikvm(272): VFY: replacing opcode 0x1f at 0x000e 
04-12 21:30:09.655: D/dalvikvm(272): VFY: dead code 0x0010-02b9 in Lcom/project 
/hisaabkikitaab/MainActivity;.onCreate (Landroid/os/Bundle;)V 
04-12 21:30:09.815: D/AndroidRuntime(272): Shutting down VM 
04-12 21:30:09.815: W/dalvikvm(272): threadid=1: thread exiting with uncaught  
exception (group=0x4001d800) 
04-12 21:30:09.845: E/AndroidRuntime(272): FATAL EXCEPTION: main 
04-12 21:30:09.845: E/AndroidRuntime(272): java.lang.NoClassDefFoundError:  
com.google.ads.AdView 
04-12 21:30:09.845: E/AndroidRuntime(272): at  
com.project.hisaabkikitaab.MainActivity.onCreate(MainActivity.java:42) 
04-12 21:30:09.845: E/AndroidRuntime(272): at 
.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 

回答

3

您需要的ads命名空間添加到佈局根節點,也

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 

,你可能接過例如,從已經有它的教程:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
       android:orientation="vertical" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent"> 
    <com.google.ads.AdView android:id="@+id/adView" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         ads:adUnitId="MY_AD_UNIT_ID" 
         ads:adSize="BANNER" 
         ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID" 
         ads:loadAdOnCreate="true"/> 
</LinearLayout> 

來源:https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals,Android的標籤

另一種可能的解決方案:

有沒有libs文件夾在您的項目?如果有,是否有admob庫?如果你說沒有任何的那些,確保一個libs文件夾中創建(在ressrc同一水平上,並複製你的admob圖書館裏。清潔工程和重建。

+0

我已經補充說:(< LinearLayout xmlns:android =「http://schemas.android.com/apk/res/android」 xmlns:ads =「http://schemas.android.com/apk/lib/com.google.ads」 android :layout_width =「match_parent」 android:layout_height =「match_parent」 android:background =「@ drawable/backmage」 android:orientation =「vertical」 > – scripter

+0

我已經通過那個開發人員頁面寫了我的代碼,知道我的應用程序正在發生什麼每當我開始崩潰..是否還有什麼我失蹤? – scripter

+1

@scripter試試這個:你的項目中是否有一個'libs'文件夾?如果是這樣,那裏有'admob'圖書館嗎?如果你對其中的任何一個人說「否」,確保創建了一個'libs'文件夾(在'res'和'src'的同一級別,並將你的'admob'庫複製到那裏] Clean project and rebuild。 – Korcholis