当我使用progurad选项运行mvn install目标时,我收到以下错误。以前,我没有这个错误。我找不到导致以下错误的原因:
proguard.ParseException: Unknown option '-encryptstrings' in line .. of file 'proguard.cfg'
我正在为我的项目使用dexguard。这个错误是因为maven无法识别dexguard文件夹位置吗?
proguard.cfg内容:
-dalvik -- unknown option
-android -- unknown option
# Encrypt all strings -- parse exception
-encryptstrings '???*'
以下是解决问题的方法:
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic
-optimizationpasses 30
-allowaccessmodification
-dontpreverify
-dontoptimize
-ignorewarnings
-renamesourcefileattribute Maviance
-keepattributes SourceFile,LineNumberTable,*Annotation*
-keep,allowshrinking,allowobfuscation class android.support.**Compat* { *; }
答案 0 :(得分:1)
只有DexGuard支持选项-encryptstrings '???*'
。因此,当您使用ProGuard构建应用程序时,您将收到此类错误。
因此,建议将dexguard相关配置分离为仅在使用DexGuard时包含的单独配置文件dexguard-project.txt
。
答案 1 :(得分:0)
我使用dexguard时遇到了同样的错误。问题是我错过了这一行
proguardFiles getDefaultDexGuardFile('dexguard-debug.pro')
所以Gradle采用了Proguard而不是Dexguard,它显然没有加密串功能。因此工作版本配置如下:
release {
debuggable true
minifyEnabled true
proguardFiles getDefaultDexGuardFile('dexguard-debug.pro')
signingConfig signingConfigs.release
}