2014-11-23 82 views
1

我使用eclipse。我正試圖在Play商店中發佈應用。 沒有職業警衛,apk工作正常。 與職業後衛,我已經添加下面的選項,以保持谷歌,Facebook包。eclipse:與proguard簽署後,apk崩潰

-keep class com.facebook.** {*;} 
-keep class com.google.** {*;} 
-keep class com.android.** {*;} 

當我在設備上簽名apk文件時,我怎麼能調試它?或我在哪裏可以看到錯誤或堆棧跟蹤? 我嘗試了一切,但迄今爲止沒有線索?

當在設備上運行apk時,如何在eclipse中的logcat中發生錯誤?

+0

我有同樣的問題 - 主要是,如何經營一個簽名通過Eclipse在設備上安裝apk,以便查看LogCat輸出。 – 2014-12-31 09:15:32

回答

0

您可以添加此選項,使蹤跡一點比較明顯,但仍然混淆:

-keepattributes的SourceFile,LineNumberTable,簽名


另外,您應該使用mapping.txt去混淆您的堆棧跟蹤在創建您的編譯構建時生成的文件。該文件是將您的代碼恢復到正常狀態的「關鍵」。每次構建新的apk文件都不同,因此請確保使用正確的版本保存正確的文件。使用retrace去混淆堆棧跟蹤。 (從logcat中獲取崩潰堆棧跟蹤並將其保存到像obfuscated_stacktrace.txt文件。)然後運行這個命令:

retrace.bat -verbose mapping.txt obfuscated_stacktrace.txt 

這裏更多細節Proguard Decoding

+0

我在問不同的問題。如何獲得「obfuscated_stacktrace.txt」?我知道,如何使用回溯,但如何獲取堆棧跟蹤錯誤,當apk在設備上運行? – 2014-11-23 08:59:10

+0

@SanjayGupta如果apk在設備上運行並崩潰,它仍會將此崩潰打印到設備的LogCat – Blundell 2014-12-31 15:17:02