dmitry.tcheban
dmitry.tcheban

Reputation: 191

Error inflating class com.google.android.ads.AdView

I've got quite weird problem with new AdView creation in layout XML while migrating from old AdMob.

OK. Product target- Google API 19 Default properties- Google API 8

google play lib is referenced in the project and seems to be dexed and then included into resulting apk (proof is below).

I have the following code in my layout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.android.gms.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0"
android:orientation="vertical" >
...
    <com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/admob_unit_id"
    />

When I load the layout I've got the exception.

I see the following suspicious things:

  1. I have specially put code which uses AdView BEFORE the XML loading and have no exception there

    com.google.android.gms.ads.AdView ad= new com.google.android.gms.ads.AdView(this);
    
    try
    {
    setContentView(R.layout.ap_map);
    }
    catch(RuntimeException e)
    
    {
        throw e;
    
    }
    

So, I assume that there is no prob with google play library inclusion itself. However, when I debugged the exception- I've got an internal exception- NoClassDefFoundException, so it looks exactly like I have google play lib missed

  1. I have weird probs with AdView declaration- if I declare it as google suggest

I've got an error saying that

- error: No resource identifier found for attribute 'adSize' in package MYPACKAGE

So I had to add

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

in the top of the layout declaration to get rid of this

Any ideas? I've read a few related topics here and all of them seems to be related with google play lib absence but it does not seem to be the case

Upvotes: 1

Views: 1251

Answers (1)

Nana Ghartey
Nana Ghartey

Reputation: 7927

Change :

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

to:

xmlns:ads="http://schemas.android.com/apk/res-auto"

Upvotes: 1

Related Questions