eclipse: после подписания с proguard происходит сбой apk

Я использую затмение. Я пытаюсь опубликовать приложение в игровом магазине. без pro guard apk работает нормально. с pro guard я добавил ниже параметры, чтобы сохранить пакеты Google, Facebook.

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

когда я запускаю подписанный apk на устройстве, как я могу его отладить? или где я могу увидеть ошибку или трассировку стека? Я пробовал все, но до сих пор нет подсказок?

Как я могу получить ошибку в logcat в eclipse, когда apk запускается на устройстве?


person Sanjay Gupta    schedule 23.11.2014    source источник
comment
У меня та же проблема - в первую очередь, как запустить подписанный apk на устройстве через Eclipse, чтобы можно было просмотреть вывод LogCat.   -  person ban-geoengineering    schedule 31.12.2014


Ответы (1)


Вы можете добавить эту опцию, чтобы сделать трассировку стека немного более очевидной, но все же запутанной:

-keepattributes SourceFile, LineNumberTable, Signature


В качестве альтернативы вам следует расшифровать трассировку стека с помощью файла mapping.txt, который создается при создании защищенной сборки. Этот файл является «ключом» к возвращению вашего кода в нормальное состояние. Каждый раз, когда вы создаете новый apk, он меняется, поэтому убедитесь, что вы сохраняете правильный файл с правильной версией.

Используйте retrace для деобфускации трассировки стека. (Получите трассировку стека сбоя из вашего LogCat и сохраните ее в файл, например obfuscated_stacktrace.txt.) Затем выполните эту команду:

 retrace.bat -verbose mapping.txt obfuscated_stacktrace.txt

Подробнее здесь Proguard Decoding.

person Blundell    schedule 23.11.2014
comment
Я задаю другой вопрос. как получить obfuscated_stacktrace.txt? Я знаю, как использовать повторную трассировку, но как получить ошибку трассировки стека, когда apk запускается на устройстве? - person Sanjay Gupta; 23.11.2014
comment
@SanjayGupta, если apk запускается на устройстве и дает сбой, он все равно напечатает этот сбой в LogCat устройства. - person Blundell; 31.12.2014