Buck/OkBuck: интеграция DexGuard не работает
Я успешно использую DexGuard с Gradle
в Android Studio без проблем. Я недавно попробовал свои силы на OkBuck
чтобы ускорить мое время сборки, и это действительно помогло мне.
Хотя он может создавать отладочные и подписанные APK для меня, но когда я пытаюсь собрать для выпуска с DexGuard, как:
./buckw install --run app:bin_release
Я получаю следующую ошибку:
Error: Unknown option '-dalvik' in line 9 of file 'SomeApp/app/build/okbuck/release/proguard.pro',
included from line 60 of file 'buck-out/gen/app/bin_release/proguard/command-line.txt',
included from argument number 1
BUILD FAILED: //app:bin_release failed with exit code 1:
proguard_obfuscation
stderr: Error: Unknown option '-dalvik' in line 9 of file 'SomeApp/app/build/okbuck/release/proguard.pro',
included from line 60 of file 'buck-out/gen/app/bin_release/proguard/command-line.txt',
included from argument number 1
Вероятно, незначительно упомянуть детали интеграции DexGuard, так как она выполняется в соответствии с документацией и работает нормально, когда я собираюсь из Android Studio или использую ./gradlew
, но вот оно:
SomeApp /build.gradle:
buildscript {
ext {
DEXGUARD_HOME = "$System.env.DEXGUARD_HOME"
}
...
SomeApp / приложение /build.gradle:
buildTypes {
...
release {
minifyEnabled true
proguardFile DEXGUARD_HOME + "Dexguard-7.3.11/lib/dexguard-release-aggressive.pro"
proguardFile 'dexguard-project.txt'
signingConfig signingConfigs.release
}
}
1 ответ
Обычно в сообщении указывается, что ProGuard по-прежнему включен - ProGuard не знает параметр DexGuard -dalvik
, Ты должен уйти minifyEnabled
установлен в false
, Сам DexGuard уже сжимает, оптимизирует и запутывает весь код и ресурсы.