【发布时间】:2016-11-02 07:48:45
【问题描述】:
简而言之,当我从 Android Studio 构建替代 buildType 时,ProGuard 不会混淆源代码,但在我使用“生成签名的 APK...”选项来创建 apk 文件时工作。
还有更多细节:Android Studio 2.1.1,Gradle 版本:2.10,插件版本 .2.1.0
我有 3 种构建类型,配置如下:
buildTypes {
release {
minifyEnabled true
...
proguardFile 'proguard-rules.pro'
proguardFile getDefaultProguardFile('proguard-android.txt')
signingConfig signingConfigs.release
}
releaseDebug {
debuggable true
minifyEnabled true
...
proguardFile 'proguard-rules.pro'
proguardFile getDefaultProguardFile('proguard-android.txt')
signingConfig signingConfigs.release
}
debug {
debuggable true
minifyEnabled false
...
proguardFile getDefaultProguardFile('proguard-android.txt')
testProguardFile 'proguard-rules-test.pro'
signingConfig signingConfigs.release
}
}
我直接从 Android Studio 运行应用程序并得到这样的结果:
- 发布 - 混淆
- releaseDebug - 不混淆
- 调试 - 未混淆
当我使用“生成签名的 APK...”选项时:
- 发布 - 混淆
- releaseDebug - 混淆
- 调试 - 未混淆
是构建系统问题还是我遗漏了什么?
附:只是为了澄清,已经为 releaseDebug 构建类型启用了 minifyEnabled 并且 ProGuard 正在工作,但在这种特殊情况下不是。这与调试模式无关。
【问题讨论】:
-
我很抱歉,但不是。 ProGuard 正在工作,但不是在一种特定情况下。这与调试模式无关。
标签: android android-studio android-gradle-plugin android-build android-proguard