2012-07-09 15 views
11

Ho seguito il tutorial per il nuovo Google Analytics V2 SDK per Android si trova qui:Google Analytics V2 SDK per EasyTracker Android dà errori

https://developers.google.com/analytics/devguides/collection/android/v2/

Purtroppo ogni volta che vado per eseguire l'applicazione la segnalazione non è lavorando e questo è il messaggio che mi dà logcat:

07-09 09:13:16.978: W/Ads(13933): No Google Analytics: Library Incompatible. 
07-09 09:13:16.994: I/Ads(13933): To get test ads on this device, call adRequest.addTestDevice("2BB916E1BD6BE6407582A429D763EC71"); 
07-09 09:13:17.018: I/Ads(13933): adRequestUrlHtml: <html><head><script src="http://media.admob.com/sdk-core-v40.js"></script><script>AFMA_getSdkConstants();AFMA_buildAdURL({"kw":[],"preqs":0,"session_id":"7925570029955749351","u_sd":2,"seq_num":"1","slotname":"a14fd91432961bd","u_w":360,"msid":"com.mysampleapp.sampleapp","js":"afma-sdk-a-v6.0.1","mv":"8013013.com.android.vending","isu":"2BB916E1BD6BE6407582A429D763EC71","cipa":1,"format":"320x50_mb","net":"wi","app_name":"1.android.com.mysampleapp.sampleapp","hl":"en","u_h":592,"carrier":"311480","ptime":0,"u_audio":3});</script></head><body></body></html> 
07-09 09:13:17.041: W/ActivityManager(220): Unable to start service Intent { act=com.google.android.gms.analytics.service.START (has extras) }: not found 
07-09 09:13:17.049: W/GAV2(13933): Thread[main,5,main]: Connection to service failed 1 
07-09 09:13:17.057: W/GAV2(13933): Thread[main,5,main]: Need to call initializea() and be in fallback mode to start dispatch. 
07-09 09:13:17.088: D/libEGL(13933): loaded /system/lib/egl/libGLES_android.so 
07-09 09:13:17.096: D/libEGL(13933): loaded /vendor/lib/egl/libEGL_POWERVR_SGX540_120.so 
07-09 09:13:17.096: D/libEGL(13933): loaded /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so 
07-09 09:13:17.096: D/libEGL(13933): loaded /vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so 

Ecco il mio codice (ho redatto una parte del codice che ha avuto a che fare con HttpPost, ecc):

package com.mysampleapp.sampleapp; 

    import java.io.BufferedReader; 
    import java.io.InputStream; 
    import java.io.InputStreamReader; 
    import java.util.ArrayList; 
    import java.util.List; 

    import org.apache.http.HttpEntity; 
    import org.apache.http.HttpResponse; 
    import org.apache.http.NameValuePair; 
    import org.apache.http.client.HttpClient; 
    import org.apache.http.client.entity.UrlEncodedFormEntity; 
    import org.apache.http.client.methods.HttpPost; 
    import org.apache.http.impl.client.DefaultHttpClient; 
    import org.apache.http.message.BasicNameValuePair; 
    import org.json.JSONArray; 
    import org.json.JSONObject; 

    import com.google.analytics.tracking.android.EasyTracker; 

    import android.app.Activity; 
    import android.app.ProgressDialog; 
    import android.content.DialogInterface; 
    import android.content.DialogInterface.OnCancelListener; 
    import android.content.Intent; 
    import android.content.SharedPreferences; 
    import android.os.AsyncTask; 
    import android.os.Bundle; 
    import android.preference.PreferenceManager; 
    import android.util.Log; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.ImageView; 
    import android.widget.TextView; 


    public class viewRandom extends Activity { 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      setContentView(R.layout.viewrandom); 



      uservote.setVisibility(View.GONE); 
      new randomViewClass().execute(); 

     } 

     public void onStart() { 
      super.onStart(); 
      EasyTracker.getInstance().activityStart(this); 
     } 

     public void onStop() { 
      super.onStop(); 
      EasyTracker.getInstance().activityStop(this); 
     } 
} 
+0

sto ottenendo questo stesso errore per nessuna ragione che posso vedere, ma l'SDK funziona correttamente. – vitriolix

+0

Ho lo stesso problema, ma non so come cambiare "en_dash" a trattino normale. – mysho

+0

Basta cancellare il carattere di trattino e sostituirlo con un carattere di trattino –

risposta

4

OK Ho scoperto quale fosse il problema con questo. E 'stato nel mio file di analytics.xml:

<?xml version="1.0" encoding="utf-8" ?> 
<resources> 
    <string name="ga_trackingId">UA-0000000-00</string> 
    <bool name="ga_autoActivityTracking">true</bool> 
    <bool name="ga_reportUncaughtExceptions">true</bool> 
    <string name="ga_sampleFrequency">20</string> 
</resources> 

Quello che era successo è stato quando ho incollato il mio trackingId nel file, eclissi era convertita a un "trattino" automaticamente e Google è stato in grado di leggere il mio trackingId correttamente. La modifica dei trattini su trattini regolari ha funzionato bene e ora tutto funziona.

+0

Qual è il significato di "regolare" qui, è 'en dashes' l'ASCII e 'regular dashes' il formato UTF? – thecr0w

9

Mi rendo conto che questo è un vecchio post, ma volevo fornire un po 'più di informazioni sul fatto che questo è esattamente lo stesso errore che ricevevo oggi.

Prince è esattamente corretto, è dai trattini. Per la maggior parte eliminando il trattino e digitando - di nuovo funzionerà. Ma una volta ripulito il progetto, si tornerà a en_dash che potrebbe essere il problema di mysho.

Lo fa automaticamente a causa di Android Lint. Puoi disabilitarlo però!

Go into your preferences (I'm on a mac so for me it's Eclipse -> Preferences)

Go to Android Go to Lint error Checking

You can either disable Lint checker completely or do what I did, disable just the en_dash thing

Either fine the one called "TypographyDashes" under Usability:Typography or search "dash" inside the search box. Either way it should come up with TypographyDashes.

Highlight it and turn it to "Ignore" under the severity

From there Click apply and then allow it to relint

Speranza ho potuto fare a

+0

dopo aver cercato per oltre 5 ore su come risolvere questo problema con i trattini, nessuno l'ha messo più elegante di quello di Travis. Vorrei poterti dare +10 voti positivi! – pbojinov

+0

una volta ripulito il progetto, esso tornerà di nuovo a en_dash <- questo era il mio problema perché stavo cambiando, quindi facendo un clean, che sarebbe stato ripristinato. spero che aiuti anche gli altri – pbojinov

4

E 'meglio aggiungere un attributo nelle "risorse" tag come di seguito:

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes"> 
    <!--Replace placeholder ID with your tracking ID--> 
    <string name="ga_trackingId">UA-12345678-X</string> 

    <!--Enable automatic activity tracking--> 
    <bool name="ga_autoActivityTracking">true</bool> 

    <!--Enable automatic exception tracking--> 
    <bool name="ga_reportUncaughtExceptions">true</bool> 
</resources> 
Problemi correlati