2015-11-07 5 views
1

Когда я установил minifyEnabled истина в build.gradle, я получаю следующее сообщение об ошибке при попытке построить мой подписанный APK:Невозможно построить APK из-за ошибки Proguard

Error:Execution failed for task ':app:packageRelease'. 
> Unable to compute hash of .../app/build/intermediates/classes-proguard/release/classes.jar 

Я не знаю, почему это происходит , Любая помощь оценивается.

+0

Посмотрите на результат сборки для любых предупреждений предыдущих предупреждений. – laalto

+0

Существует множество предупреждений о том, что «невозможно найти ссылочный класс», связанный с моими сторонними библиотеками (например, Butterknife, Parse и OkHttp). – vikzilla

+0

Добавьте правила '-dontwarn' для этих пакетов. – laalto

ответ

0

Вы добавляете правила proguard для сторонних библиотек, не так ли?

Например, для вас есть нож для масла, чтобы добавить это Proguard файл:

-keep class butterknife.** { *; } 
-dontwarn butterknife.internal.** 
-keep class **$$ViewBinder { *; } 

-keepclasseswithmembernames class * { 
    @butterknife.* <fields>; 
} 

-keepclasseswithmembernames class * { 
    @butterknife.* <methods>; 
} 
+0

Я в настоящее время не являюсь. Новичок в android, поэтому я задаюсь вопросом, нужно ли каждому стороннему lib требовать правила proguard для релизов? Например, я использую mopub, но не видел, как документы много говорят о proguard/setting minifyEnabled = true – vikzilla

+0

Некоторым библиотекам необходимо настроить proguard. Mopub тоже: https://github.com/mopub/mopub-android-sdk/blob/master/mopub-sample/proguard.cfg – Ozgur

+0

Даже когда я добавляю все это, я получаю такую ​​же ошибку, к сожалению – vikzilla