kommuru
kommuru

Reputation: 41

proguard.ParseException: Unknown option '-encryptstrings' in proguard.cfg

When I run mvn install goal with progurad option then am getting the following error. Previously, I don't have this error. I could not find what has made the difference in getting the following error:

 proguard.ParseException: Unknown option '-encryptstrings' in line .. of file 'proguard.cfg'

I am using dexguard for my project. is this error because of the maven could not identify the dexguard folder location?

proguard.cfg content:

-dalvik  -- unknown option
-android -- unknown option
# Encrypt all strings  -- parse exception
-encryptstrings '???*'
The following works with out issues:
-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* { *; }

Upvotes: 1

Views: 2740

Answers (2)

Marian Klühspies
Marian Klühspies

Reputation: 17647

I had the same error using dexguard. The problem was that I was missing this line

            proguardFiles getDefaultDexGuardFile('dexguard-debug.pro')

So gradle took Proguard instead of Dexguard, which obviously doesn´t have the encryptstrings feature. So the working release configuration is this:

  release {
            debuggable true
            minifyEnabled true
            proguardFiles getDefaultDexGuardFile('dexguard-debug.pro')
            signingConfig signingConfigs.release
        }

Upvotes: 0

T. Neidhart
T. Neidhart

Reputation: 6200

The option -encryptstrings '???*' is only supported by DexGuard. So when you use ProGuard to build your application, you will receive such an error.

Thus it is advised to separate the dexguard related configuration into a separate config file dexguard-project.txt that is only included when using DexGuard.

Upvotes: 1

Related Questions