2014-09-27 5 views
9

Bene, questo è un errore strano e difficile da trovare. Poco prima di iniziare:Impossibile trovare la classe com.google.android.gms.analytics.GoogleAnalytics

  • Nella mia app ho Admob installato e funzionante. Quindi la configurazione di GooglePlayServices sembra ok (lib aggiunto come progetto ...).
  • Sto usando la v17 di googleplayservices. Testato anche con v21 e v22.
  • Il mio cellulare ha Android 2,3

Fondamentalmente il problema che sto avendo è la seguente, ho seguito il tutorial da Android (uno dei peggiori che abbia mai visto ...) e nella classe Application (che è stato esistente prima) ho inserito la funzione di inseguitore:

public synchronized Tracker getTracker(TrackerName trackerId) { 
    if (!mTrackers.containsKey(trackerId)) { 

     GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
     Tracker t = analytics.newTracker(PROPERTY_ID); 
     mTrackers.put(trackerId, t); 

    } 
    return mTrackers.get(trackerId); 
} 

ho aggiunto la parola chiave pubblica alla funzione perché non era visibile ...

Così, quando uso questa funzione in qualunque parte del app Ottengo il seguente errore:

09-27 16:43:54.099: E/dalvikvm(2407): Could not find class 'com.google.android.gms.analytics.GoogleAnalytics$b', referenced from method com.google.android.gms.analytics.GoogleAnalytics.enableAutoActivityReports

E più tardi il seguente errore:

09-27 16:43:54.129: E/AndroidRuntime(2407): Caused by: java.lang.NullPointerException 09-27 16:43:54.129: E/AndroidRuntime(2407): at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:100) 09-27 16:43:54.129: E/AndroidRuntime(2407): at com.google.android.gms.analytics.t.(Unknown Source) 09-27 16:43:54.129: E/AndroidRuntime(2407): at com.google.android.gms.analytics.t.q(Unknown Source) 09-27 16:43:54.129: E/AndroidRuntime(2407): at com.google.android.gms.analytics.GoogleAnalytics.(Unknown Source) 09-27 16:43:54.129: E/AndroidRuntime(2407): at com.google.android.gms.analytics.GoogleAnalytics.getInstance(Unknown Source)

Qualsiasi idea di come può essere risolto?

+0

Errore in 2.3 e 4.4.3 –

+0

Si sta utilizzando Proguard? –

+0

No, non lo sono. Grazie –

risposta

0

Quindi, finalmente è stato risolto. Nel caso qualcuno abbia avuto lo stesso problema di me stesso. Fornisco qui qual è l'ultima azione che ho fatto che finalmente ha fatto lavoro di analisi dei dati di Google:

  • per mezzo del dispositivo 2.3.6 (Samsung Galaxy Ace)
  • ho aggiornato strumenti SDK di Android da 24.0.1 a 24.0.2
  • ho aggiornato Android supporto Repository da 10 a 11.
  • La mia richiesta è stata l'utilizzo di Android-supporto-v7 e google_play_services
  • e 'stato già utilizzando Admob da google-play-servizi (nessuna evidenza google-play-servizi è stato erroneamente installato).

Quindi, non so cosa faccia funzionare finalmente, ma sembra correlato agli strumenti SDK Android o agli aggiornamenti del supporto Android Support.

Sto lasciando queste informazioni solo nel caso in cui qualcuno si trovi di fronte allo stesso problema e tu sia in grado di isolare il problema. Se qualcuno sta leggendo questa soluzione, propongo di isolare gli aggiornamenti in modo da poter fornire informazioni migliori ad altre persone.

Spero che aiuti!

-1

Assicurarsi di aver aggiunto la libreria non solo al progetto, ma anche di collegarlo. Vai alle proprietà del progetto, quindi ad Android, e nel pannello di destra vedrai "libreria". Assicurati di vedere la libreria di Google Play Services che desideri con un controllo verde. Se non lo vedi, aggiungilo.

Un'altra causa potrebbe essere l'impossibilità di importare le parti della libreria necessarie nell'attività tramite le istruzioni di importazione, ma in genere il problema sopra è quello che si verifica più spesso o ciò che le persone dimenticano di fare. Ma il messaggio di eccezione del puntatore NULL è esattamente ciò che significa, e se hai problemi in una delle due aree menzionate, questo è il messaggio esatto che otterrai perché non riesce a trovare una risorsa o una classe a cui stai facendo riferimento.

+0

Poiché AdMob funziona nella mia app, non ci dovrebbero essere problemi con la configurazione di Google Play Services. –

+0

Per il puntatore nullo, poiché sto usando eclipse, dovrebbe esserci un messaggio di parti mancanti della libreria, se questo è il caso. –