Проблема с настройкой обфускации Android ProguardAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблема с настройкой обфускации Android Proguard

Сообщение Anonymous »

У меня возникли проблемы с созданием запутанного, сжатого или оптимизированного APK-файла для моего приложения Android (Java). Поскольку я новичок в proguard, я сначала пытаюсь создать apk с базовой конфигурацией, я еще ничего не добавлял в proguard-rules.pro, и все, что я сделал до сих пор, это установил для minifyEnabled значение true следующим образом:

Код: Выделить всё

    buildTypes {
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Итак, когда я запускаю приложение на устройстве-эмуляторе, процесс сборки проходит успешно, APK становится очень маленьким, он не запускается на устройстве должным образом, но я думаю, что это ожидаемо, как я не добавили никаких правил в файл proguard-rules.pro. Однако возникает проблема, когда я пытаюсь вручную собрать APK. Я получаю следующую ошибку:

Код: Выделить всё

Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in missing_rules.txt.
Поэтому я добавляю правило в proguard-rules.pro, которое теперь выглядит так:

Код: Выделить всё

-dontwarn org.kxml2.io.KXmlParser,org.kxml2.io.KXmlSerializer
Но когда я пытаюсь собрать его снова, я получаю ту же ошибку с тем же правилом в файле Missing_rules.txt.
Более того теперь я нашел APK, созданный для устройства-эмулятора, и хотя теперь он намного меньше, когда я открываю его с помощью анализатора APK, я все равно могу найти свои собственные классы в виде обычного текста вместе с их методами и всем остальным внутри. Я думал, обфускация включена по умолчанию? В чем может быть причина обеих проблем? Есть ли где-нибудь подробное руководство по правильной настройке? Я довольно много искал в Интернете, но источники довольно устарели, и пока не удалось найти работающее решение. Я использую Android Studio 2023.3.1, AGP 8.2.2 и Gradle 8.2

Подробнее здесь: https://stackoverflow.com/questions/784 ... on-problem
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»