尝试在 ProGuard 中启用缩小时出现 DexGuard 错误
Posted
技术标签:
【中文标题】尝试在 ProGuard 中启用缩小时出现 DexGuard 错误【英文标题】:DexGuard error while trying to enable minifying in ProGuard 【发布时间】:2021-04-12 08:32:25 【问题描述】:我正在尝试使用 ProGuard 在 android 应用中启用缩小功能。
当我将minifyEnabled
设置为false
时,它会构建,但一旦我将其设置为true
:
buildTypes
debug
minifyEnabled false
jniDebuggable true
versionNameSuffix '_DEBUG'
zipAlignEnabled true
release
minifyEnabled true
proguardFile getDefaultDexGuardFile('dexguard-release.pro')
proguardFile 'dexguard-project.txt'
jniDebuggable false
signingConfig signingConfigs.release
我收到一个 gradle 同步错误:
ERROR: minifyEnabled is set to 'true' for variant <name of the variant>.
堆栈跟踪状态:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':MainApp'
Caused by: org.gradle.api.GradleException: Errors occurred during DexGuard plugin configuration.
DexGuard 在这里必须做什么?
【问题讨论】:
在发布模式下,您在某些属性中设置了dexguard 我的错,我在开发团队使用的插件方面混淆了 DexGuard 和 ProGuard。 【参考方案1】:Dexguard 的文档说:
DexGuard 期望其输入不会被混淆,因此请确保您在此处指定的所有变体都没有将 minifyEnabled 选项设置为 true。
你不能在同一个库中同时使用 Dexugard 和 Proguard。您必须禁用 Dexguard 或 Proguard。
Dexguard 是 Progurad 的改进(和付费)版本。当你有 Dexguard 时,我看不出有任何使用 Proguard 的理由。
【讨论】:
以上是关于尝试在 ProGuard 中启用缩小时出现 DexGuard 错误的主要内容,如果未能解决你的问题,请参考以下文章
Android ProGuard +MultiDex 导致 ClassNotFoundException
使用 Android Studio 签署 APK 时出现 Proguard 错误