2016-09-28 6 views
1

Когда я запускаю цель установки mvn с параметром progurad, я получаю следующую ошибку. Раньше у меня этой ошибки не было. Я не мог найти то, что сделал разницу в получении следующее сообщение об ошибке:proguard.ParseException: Неизвестный параметр '-encryptstrings' в proguard.cfg

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

У меня такая же проблема, но я использую dexguard и Gradle кажется использовать ProGuard вместо –

ответ

1

Опция -encryptstrings '???*' поддерживается только DexGuard. Поэтому, когда вы используете ProGuard для создания своего приложения, вы получите такую ​​ошибку.

Таким образом, рекомендуется разделить конфигурацию, связанную с dexguard, в отдельный файл конфигурации dexguard-project.txt, который включен только при использовании DexGuard.

+0

Спасибо. Я перешел в файл dexguard-project.txt. Как я могу позволить maven рассматривать этот файл? – kommuru

0

У меня была такая же ошибка, используя dexguard. Проблема заключалась в том, что я пропускал эту линию

  proguardFiles getDefaultDexGuardFile('dexguard-debug.pro') 

Так Gradle взял Proguard вместо Dexguard, что, очевидно, это не распространяется функция незаменима в encryptstrings. Таким образом, конфигурация работает релиз следующим образом:

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