Подтвердить что ты не робот

Android studio, где находится файл сопоставления proguard

В студии android, где находятся файлы сопоставления proguard, сгенерированные после компиляции подписанного APK?

Я не уверен, что он не работает или я просто забыл путь к файлу, и мой принудительный поиск google/stackoverflow не ответил на этот

4b9b3361

Ответ 1

Он должен быть расположен в build/outputs/proguard/release/mapping.txt в каталоге вашего прикладного модуля.

Ответ 2

Для меня они находятся в 'build/output/mapping/release'

Ответ 3

Мне было проще настроить proguard для записи файла map.txt в местоположение за пределами дерева каталогов build/, чтобы его можно было более удобно проверить в управлении версиями.

Чтобы добиться этого, поместите это в свой proguard-rules.pro файл:

-printmapping mapping.txt

Это, скорее всего, поместит его в ту же директорию, что и ваш файл proguard-rules.pro. В конечном счете, вы, вероятно, захотите записать его в тот же каталог, что и ваш файл APK, и с эквивалентным именем (которое может включать в себя вкус, тип сборки и т.д.).

Примечание. По моему опыту, это не отменено файлом шаблона proguard (который был предложен комментатором для другого здесь).

ОБНОВЛЕНИЕ: если у вас есть несколько продуктов, то это гораздо лучшее решение: fooobar.com/questions/44426/...

Ответ 4

Я обнаружил, что он не генерируется, поэтому я добавил его в файл правил

-printmapping build/outputs/mapping/release/mapping.txt

Ответ 5

Я использую версию Android Studio 2.2.2. Для меня это расположено в следующих местах:

Отладка: \app\build\outputs\mapping\debug\mapping.txt

Для выпуска: \app\build\outputs\mapping\release\mapping.txt

Ответ 6

введите описание изображения здесь

Здесь он находится на картинке - вы найдете его в папке сопоставления:

Ответ 7

Его довольно поздно ответить на этот вопрос, но на всякий случай кому-то нужен мой ответ.

Расположение файла сопоставления для deobfuscate:

ProGuard сохраняет файл в приложении приложение/построить/выходы/отображение/АРОМАТИЧЕСКОЕ/выпуск/mapping.txt

Обычно в режиме отладки вам не нужен файл сопоставления, потому что обычно обфускация отключена. Если это не так, убедитесь, что в файле build.gradle у вас есть код ниже для варианта отладки.

debug {
    minifyEnabled false
    debuggable true
}

Некоторые Gotchas:

Файл mapping.txt перезаписывается каждый раз, когда вы создаете сборку релизов с помощью ProGuard, поэтому сначала создайте резервную копию этого файла перед созданием новой версии. Это поможет обфускации трассировки стека из более старой версии вашего приложения.

Кроме того, существует два способа обфускации вашего кода:

1. Загрузите файл mapping.txt в консоль Google Play:

При публикации приложения в Google Play вы можете загрузить файл mapping.txt для каждой версии вашего APK. Затем Google Play деактивирует трассировки входящих стеков из пользовательских проблем, поэтому вы можете просмотреть их в консоли Google Play.

2. Используйте локальный инструмент sdk retrace.sh/retrace.bat:

Несколько раз вы хотите запустить версию своего приложения (изменив вариант сборки для его выпуска и запуска), чтобы перекрестно проверить и исправить ошибки, чтобы это не происходило в процессе производства (когда они были выпущены в play-store).

Чтобы преобразовать запутанную стек-трассировку в читаемую самостоятельно, используйте retrace script (retrace.bat в Windows; retrace.sh на Mac/Linux).

Он находится в каталоге <sdk-root>/tools/proguard/bin/.

<sdk-root> - это место, где были установлены все ваши библиотеки и sdks для Android.

script берет файл mapping.txt и трассировку стека, создавая новую, читаемую трассировку стека.

Синтаксис команды:

retrace.bat|retrace.sh [-verbose] mapping.txt [<stacktrace_file>]

Например:

retrace.bat -verbose mapping.txt obfuscated_trace.txt

Я предпочитаю локальную версию обфускации, что весьма удобно для предварительной проверки производственных ошибок.

Надеюсь, это поможет.

Ответ 8

Потому что я тупой и теряюсь, даже когда кто-то говорит мне, где находится файл:

cd StudioProjects/fooProject
find . -name "mapping.txt" | xargs less