2012-07-09 16 views
11

he seguido el tutorial para el nuevo Google Analytics V2 SDK para Android se encuentra aquí:Google Analytics V2 para Android EasyTracker error que dio

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

Por desgracia cada vez que voy a ejecutar la aplicación de la información no es funcionando y este es el mensaje que me da 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 

Aquí está mi código (he redactado una parte del código que tenía que ver con HttpPost, etc.):

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

Estoy consiguiendo este mismo error sin ninguna razón que puedo ver, pero el SDK está funcionando correctamente. – vitriolix

+0

Tengo el mismo problema, pero no sé cómo cambiar "en_dash" al guión normal. – mysho

+0

Simplemente elimine el carácter en el tablero y reemplácelo con un carácter de guión –

Respuesta

4

OK He descubierto cuál era el problema con esto. Fue dentro de mi archivo 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> 

Lo que había sucedido fue cuando me pega mi TrackingID en el archivo, eclipse se había convertido en un "guión corto" de forma automática y Google no ha podido leer mi TrackingID correctamente. Cambiar los guiones en discontinuos a guiones regulares funcionó bien y ahora todo funciona.

+0

¿Cuál es el significado de "regular" aquí, es 'en guiones' el ASCII y 'guiones regulares' el formato UTF? – thecr0w

9

Me doy cuenta de que esta es una publicación anterior, pero quería dar más información: este es exactamente el mismo error que recibí hoy.

Prince es exactamente correcto, es de los trazos. Para la mayoría de eliminar el tablero y escribir - nuevamente funcionará. Pero una vez que haya limpiado su proyecto nuevamente, lo volverá a cambiar al en_dash, que podría ser el problema de mysho.

Hace esto automáticamente debido a Android Lint. ¡Puedes desactivarlo sin embargo!

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

esperanza que podía ayudar

+0

después de buscar durante más de 5 horas sobre cómo solucionar este problema con los guiones, nadie lo expresó de forma más elegante que Travis. ¡Ojalá pudiera darte +10 votos a favor! – pbojinov

+0

una vez que haya limpiado su proyecto otra vez, lo volverá a cambiar al en_dash <- este era mi problema ya que lo estaba cambiando y luego limpiando, lo que simplemente lo revertiría. espero que ayude a otros también – pbojinov

4

Es mejor añadir un atributo dentro de los "recursos" etiqueta, como a continuación:

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