2014-07-15 11 views
5

Sto impazzendo.Errore durante il gonfiaggio della classe com.google.android.gms.ads.AdView Android Studio

Sto provando a cambiare admob utilizzando i servizi di Google Play. Ma sono bloccato su questo errore.

Caused by: android.view.InflateException: Binary XML file line #53: Error inflating class com.google.android.gms.ads.AdView 

ho questo:

<com.google.android.gms.ads.AdView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="5dp" 
    android:id="@+id/adViewPers"/> 

e questo: l'attività principale

<meta-data android:name="com.google.android.gms.version" 
       android:value="@integer/google_play_services_version"/> 
<activity 
     android:name="com.google.android.gms.ads.AdActivity" 
     android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 

import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.AdSize; 
import com.google.android.gms.ads.AdView; 

... 
private AdView adViewPers; 

... 

adViewPers = (AdView) findViewById(R.id.adViewPers); 
adViewPers.setAdUnitId("xxxxxxx"); 
adViewPers.setAdSize(AdSize.SMART_BANNER); 
AdRequest adRequest = new AdRequest.Builder().build(); 
adViewPers.loadAd(adRequest); 

e nelle dipendenze:

enter image description here

cosa sto facendo male ????

+0

È probabile che mettere le librerie nella cartella di creazione ti porti nei guai, poiché tale directory può essere cancellata durante una nuova generazione. Inoltre, dovresti includere i servizi Google Play tramite una dipendenza in stile Maven invece di includere direttamente il jar. –

+0

@ScottBarta sì hai ragione ... ho aggiunto google-play-service come un file e non come una biblioteca. se scrivi questo commento in una risposta sarò felice di accettare – Ilario

risposta

2

Il modo migliore per includere Google Play Services è tramite una dipendenza Libreria nella finestra di dialogo Struttura progetto: anziché aggiungere il file jar come hai fatto, fai clic sul pulsante +> Dipendenza libreria. I servizi di Google Play dovrebbero essere nell'elenco.

Inoltre, se si aggiungono file jar, è davvero meglio non inserirli nella cartella build, che può essere cancellata se si esegue una compilazione pulita. Il posto migliore è in una directory libs nella root del tuo modulo.

+0

una domanda, ho notato che ricevo questo messaggio: "Le risorse dei servizi di Google Play non sono state trovate. Controlla la configurazione del tuo progetto per assicurarti che le risorse siano incluse. " , ma tutto funziona bene .. – Ilario

+0

nella documentazione di google ho letto che questo errore può tranquillamente essere omesso – Ilario