Search code examples
androidadsense

how to add google adsense?


i am using this code which looks perfect without any error bt dont know why my application gets crashed everytime i run my app..

<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"
/>

in android manifest.xml

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

in

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

logcat shows

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)

Solution

  • You need to add the ads namespace to the layout root node, too

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

    The tutorial where you probably took the example from already has it:

    <?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>
    

    Source: https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals, Android tab

    Another possible solution:

    Is there a libs folder in your project? If so, is there the admob library? In case you say no to any of those, make sure a libs folder is created (at the same level of res and src, and copy your admob library there. Clean project and rebuild.