[英]Stack trace deobfuscation: Android Studio with ProGuard and Crashlytics
堆棧跟蹤反混淆的魔力如何與Android Studio,ProGuard和Crashlytics配合使用?
每個應用程序生成都會生成一個唯一的生成ID,據我所知,即使應用程序的versionCode
和versionName
,也會生成該ID:
<string name = "com.crashlytics.android.build_id">RANDOM_UUID</ string>
正如我假設的那樣,在構建時,此構建ID以及mapping.txt均被上載到了Crashlytics服務器。 而且,每個崩潰報告都包含此構建ID。 因此,即使對於具有相同versionCode
和versionName
構建,Crashlytics服務器也可以找到正確的mapping.txt。
但是,如果在構建期間我暫時失去了Internet連接,而我卻沒有注意到這一點怎么辦? 我試圖在關閉Internet的情況下進行構建,並且構建成功,沒有警告,沒有錯誤。 但是我預計構建會失敗,抱怨它無法將mapping.txt和構建ID上傳到Crashlytics服務器。
那么,在沒有Internet的情況下,Gradle的Crashlytics插件如何處理構建?
並且假設Crashlytics可以區分具有相同versionCode
和versionName
構建是正確的嗎?
UPD。 在獲得Mike的答案之前,我還通過簡單地執行./gradlew tasks --all
在我的項目根目錄中)來./gradlew tasks --all
:
來自Fabric的Mike。 對於在沒有活動網絡連接時發生的構建,我們在運行構建的計算機上緩存了映射-構建ID對。 網絡連接恢復后,我們將上載緩存的數據。
是的,由於每個版本的唯一ID,我們可以區分具有相同versionCode
和versionName
的版本。 這就是為什么您必須謹慎對待它的一代:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.