Это мой первый проект в Android Studio, и код моих приложений не запутывается. Я использую эту конфигурацию в файле build.gradle:
Я использую Build> Generate Signed APK ... с установленным Run Proguard. И, когда я тестировал Apk_OneClick.v4.2, мой код совершенно легко читается:
Пожалуйста, помогите мне. :(
android
android-studio
proguard
Фелипе Порхе Ксавье
источник
источник
Ответы:
Скорее всего, вы на самом деле не подписываете релизную сборку APK с помощью мастера подписи. Вы можете собрать APK выпуска из командной строки с помощью команды:
или вы можете выбрать вариант выпуска в представлении « Варианты сборки» и создать его из графического интерфейса:
источник
Вы можете настроить свой файл build.gradle для реализации proguard. Это может быть уровень модуля или уровень проекта.
Показанная конфигурация предназначена для уровня отладки, но вы можете написать свои собственные варианты сборки, как показано ниже, внутри buildTypes:
Лучше иметь отладку с помощью
minifyEnabled false
productionbuild и других сборок какminifyEnabled true
.Скопируйте файл proguard-rules.txt в корень вашего модуля или папки проекта, например
$YOUR_PROJECT_DIR\YoutProject\yourmodule\proguard-rules.txt
Вы можете изменить имя вашего файла по своему усмотрению. После настройки используйте один из трех доступных вариантов для создания вашей сборки в соответствии с buildType.
Перейдите к задаче gradle на правой панели и найдите в
assembleRelease/assemble(#your_defined_buildtype)
разделе задачи модуляПерейдите к варианту сборки на левой панели и выберите сборку из раскрывающегося списка.
Перейдите в корневой каталог проекта в проводнике, откройте cmd / terminal и запустите
Linux
./gradlew assembleRelease or assemble(#your_defined_buildtype)
Windows
gradlew assembleRelease or assemble(#your_defined_buildtype)
Вы можете найти apk в каталоге вашего модуля / сборки.
Подробнее о расположении файлов конфигурации и proguard можно узнать по ссылке.
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard
источник
NB .: Теперь вместо
вам нужно будет использовать
источник
Попробуйте переименовать файл proguard-rules.txt в proguard-android.txt и удалить ссылку на proguard-rules.txt в файле gradle.
getDefaultProguardFile(...)
Вызов ссылается на другой Proguard файл по умолчанию, один предоставленный Google , а не что в вашем проекте. Так что удалите и это, чтобы здесь файл gradle читался так:источник
Другие ответы здесь - отличные ссылки на использование proguard. Тем не менее, я не видел, чтобы обсуждалась проблема, с которой я столкнулся бы, изгибающей разум. После создания подписанного выпуска .apk он помещается в
/release
папку вашего приложения, но в моем приложении был apk, которого в/release
папке не было. Следовательно, я часами декомпилировал неправильный apk, задаваясь вопросом, почему мои изменения proguard не повлияли. Надеюсь, это кому-то поможет!источник
Вот некоторые из наиболее распространенных правил Proguard, которые вам нужно добавить в файл proguard-rules.pro в Android Sutdio.
Нож для масла
Дооснащение
ОкHttp3
Gson
Обфускация кода
источник