Как использовать ProGuard в Android Studio?
Это мой первый проект в Android Studio и код моего приложения не обфусцирован.
Im использует эту конфигурацию в сборке.файл gradle:

Я использую Build > Generate Signed APK... с помощью ProGuard проверено.
И, когда я протестировал с помощью Apk_OneClick.v4. 2, мой код полностью легко читается:

пожалуйста, помогите мне. : (
5 ответов:
вы, вероятно, на самом деле не подписываете сборку выпуска APK с помощью мастера подписи. Вы можете либо построить релиз APK из командной строки с помощью команды:
./gradlew assembleReleaseили вы можете выбрать вариант выхода из Построить Варианты просмотр и построить его из графического интерфейса:
вы можете настроить свою сборку.файл gradle для реализации proguard. Это может быть на уровне модуля или на уровне проекта.
buildTypes { debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } }показанная конфигурация предназначена для уровня отладки, но вы можете написать свои собственные вкусы сборки, как показано ниже внутри buildTypes:
myproductionbuild{ minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' }лучше иметь отладку с
minifyEnabled falseи productionbuild и другие сборки какminifyEnabled true.скопируйте свои правила proguard.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
попробуйте переименовать ваши ' proguard-правила.txt 'file to' proguard-android.txt 'и удалить ссылку на' proguard-правила.txt ' в вашем файле gradle. Элемент
getDefaultProguardFile(...)вызов ссылается на другой файл proguard по умолчанию, предоставленный Google, а не в вашем проекте. Поэтому удалите и это, чтобы здесь файл gradle читал:buildTypes { release { runProguard true proguardFile 'proguard-android.txt' } }
другие ответы здесь отличные ссылки на использование proguard. Тем не менее, я не видел, чтобы обсуждалась проблема, с которой я столкнулся, это был умственный Бендер. После создания подписанного выпуска .АПК, это положить в
/releaseпапка в вашем приложении, но в моем приложении был apk, которого не было в . Следовательно, я потратил часы на декомпиляцию неправильного apk, задаваясь вопросом, почему мои изменения proguard не повлияли. Надеюсь, это кому-то поможет!

Comments