2013-09-30 6 views
5

La mia app funziona correttamente con la build di debug e posso vedere le eccezioni Crashlytics segnalate su ogni dispositivo che ho testato le funzionalità dell'app. Tuttavia, quando ottengo il rilascio di build attraverso Jenkins:Rapporti crashlytics Impossibile recuperare le impostazioni da https://settings.crashlytics.com/

a. l'app rimane bloccata nella schermata di avvio che è vuota.

b. ottieni la finestra di dialogo 'l'applicazione si è fermata'.

ho trovato alcuni messaggi logcat durante l'esecuzione del build di rilascio:

Primo: fa uscire la seguente eccezione

09-30 09:49:05.561: I/Crashlytics(5696): Initializing Crashlytics 1.0.4.15 
09-30 09:49:05.591: E/Crashlytics(5696): . 
09-30 09:49:05.591: E/Crashlytics(5696): .  | | 
09-30 09:49:05.591: E/Crashlytics(5696): .  | | 
09-30 09:49:05.591: E/Crashlytics(5696): .  | | 
09-30 09:49:05.591: E/Crashlytics(5696): . \ | |/
09-30 09:49:05.591: E/Crashlytics(5696): . \ /
09-30 09:49:05.591: E/Crashlytics(5696): .  \/
09-30 09:49:05.591: E/Crashlytics(5696): .  \/ 
09-30 09:49:05.591: E/Crashlytics(5696): . 
09-30 09:49:05.591: E/Crashlytics(5696): Something is missing! Find it here: 
09-30 09:49:05.591: E/Crashlytics(5696): http://www.crashlytics.com/api/v1/[API_KEY]/android/confirm/[PACKAGE_NAME] 
09-30 09:49:05.591: E/Crashlytics(5696): . 
09-30 09:49:05.591: E/Crashlytics(5696): .  /\ 
09-30 09:49:05.591: E/Crashlytics(5696): . /\ 
09-30 09:49:05.591: E/Crashlytics(5696): . / \ 
09-30 09:49:05.601: E/Crashlytics(5696): . /| | \ 
09-30 09:49:05.601: E/Crashlytics(5696): .  | | 
09-30 09:49:05.601: E/Crashlytics(5696): .  | | 
09-30 09:49:05.601: E/Crashlytics(5696): .  | | 
09-30 09:49:05.601: E/Crashlytics(5696): . 
09-30 09:49:05.601: D/AndroidRuntime(5696): Shutting down VM 
09-30 09:49:05.601: W/dalvikvm(5696): threadid=1: thread exiting with uncaught exception (group=0x40ad8228) 
09-30 09:49:05.601: E/AndroidRuntime(5696): FATAL EXCEPTION: main 
09-30 09:49:05.601: E/AndroidRuntime(5696): java.lang.RuntimeException: Unable to start activity ComponentInfo{[PACKAGE_NAME]/[ACTIVITY_NAME]}: com.crashlytics.android.CrashlyticsMissingDependencyException: 

Secondo: Impossibile recuperare le impostazioni da https://settings.crashlytics.com/spi/v1/platforms/android/apps/[APP_PACKAGE_NAME]/settings; [classe org.json.JSONException: valore non valido di tipo java.lang.String non può essere convertito in JSONObject]

Terzo: Spesso si lamenta di non avere l'API_KEY in manifest. Tuttavia è già presente in manifest e funziona correttamente nelle build di debug.

<meta-data android:name="com.crashlytics.ApiKey" android:value="[crashlytics_api_key]"/>

all'interno del tag <application>.

ho fatto anche il seguente:

  1. seguito l'URL citato nella traccia eccezione, ma mi reindirizza alla pagina crashlytics/download. probabilmente non ho i permessi.

  2. Aggiunto <import file="./ant_tasks/crashlytics_build.xml"/> in build.xml e comprendeva i seguenti file di origine: crashlytics_build_base.xml, crashlytics_build.xml, crashlytics-devtools.jar e crashlytics.jar

  3. esportato il file di crashlytics.jar in Ordine & Esporta/.classpath.

<classpathentry exported="true" kind="lib" path="libs/crashlytics.jar"/>

ma ancora non aiuta.

Quando ho Decommentare Crashlytics.start(getApplicationContext()); all'interno Application.onCreate()

sia il debug e rilascio costruisce funziona bene, ovviamente non ho ricevuto alcun rapporto di crash.

@Override 
public void onCreate() { 
    super.onCreate(); 
    Crashlytics.start(getApplicationContext()); 
} 

Se qualcuno ha riscontrato problemi simili, ti prego, aiutami risolverlo. Molte grazie in anticipo.

Solo per la mia comprensione:

  1. fa Crashlytics ha un api_key diverso per il debug e build di rilascio?
  2. Ho anche bisogno di usare i file build di crashlytics?
  3. Cosa mi manca per la versione di rilascio?
+0

Prova questo: http://stackoverflow.com/questions/17563601/running-android-app-with-crashlytics-from-intellij – Oknesif

risposta

1

Sembra che tu non stia ottenendo le librerie e le proprietà di compilazione nel posto giusto. Sto indovinando da "La mia app funziona bene con la build di debug", che stai usando un ambiente di compilazione diverso (forse un IDE) ma poi su Jenkins, stai usando qualcosa come Maven. L'integrazione IDE ti aiuterà molto per il debug, ma ci sono ulteriori passaggi per ottenere la riga di comando funzionale build.

Quando si va alla pagina di download che raccomandano, dovrebbero esserci istruzioni su come distribuire Crashlytics su qualsiasi sistema di compilazione. Dovrai scegliere quello giusto, quindi copiare/incollare esattamente ciò che hanno nei tuoi file di build. L'ho fatto per Maven e fintanto che ottieni la cosa giusta nel tuo POM dovresti essere tutto pronto. Per il gradle, potrebbe anche essere più semplice.

Problemi correlati