2013-09-30 32 views
5

設置我的應用程序運行正常與調試版本,我可以看到被報告的每一個我所測試的應用程序功能的設備上Crashlytics例外。然而,當我通過詹金斯得到發佈版本:Crashlytics報告無法檢索從https://settings.crashlytics.com/

一個。應用卡在啓動屏幕是空白。

b。獲取'應用程序已停止'對話框。

我發現了一些logcat的消息,同時執行發佈版本:

第一:它轉儲以下異常

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: 

二:無法從https://settings.crashlytics.com/spi/v1/platforms/android/apps/[APP_PACKAGE_NAME]/settings檢索設置; [class org.json.JSONException:java.lang.String類型的值無效,無法轉換爲JSONObject]

第三:通常抱怨在清單中沒有API_KEY。然而,它是在清單中,並運行良好,已經有在調試版本。

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

<application>標籤內。

我也做了以下內容:

  1. 緊跟在異常跟蹤中提到的網址,但它重定向我crashlytics /下載頁面。可能我沒有權限。

  2. 新增<import file="./ant_tasks/crashlytics_build.xml"/> build.xml中,包括如下源文件: crashlytics_build_base.xml,crashlytics_build.xml,crashlytics-devtools.jar和crashlytics.jar

  3. 導出的crashlytics.jar文件訂購&導出/的.classpath。

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

,但仍然沒有幫助。

當我取消Crashlytics.start(getApplicationContext());內Application.onCreate()

兩個調試和發佈版本工作得很好,當然我沒有得到任何崩潰報告。

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

如果有人遇到類似的問題,請幫我解決它。提前謝謝了。

只是爲了我的理解:

  1. 不Crashlytics對調試和發佈版本的不同API_KEY?
  2. 我甚至需要使用crashlytics構建文件嗎?
  3. 我錯過了什麼發佈版本?
+0

試試這個: http://stackoverflow.com/questions/17563601/running-android-app-with-crashlytics-from-intellij – Oknesif

回答

1

這聽起來像你沒有得到正確的地方編譯時間庫和屬性。我從「我的應用程序在調試版本上運行良好」中猜測,你使用的是不同的編譯環境(也許是IDE),但是在Jenkins上,你正在使用類似Maven的東西。 IDE集成將幫助您進行大量調試,但還有其他步驟可以獲得構建函數式命令行。

當你到他們推薦的下載頁面時,應該有關於如何將Crashlytics部署到任何構建系統的說明。您需要選擇正確的文件,然後將其中的內容完全複製/粘貼到構建文件中。我已經爲Maven做了這個,只要你在你的POM中得到正確的東西,你應該都準備好了。對於gradle,它甚至可能更容易。