Я занимаюсь разработкой Android-приложения с использованием Butterknife и недавно обновлен до 7.0.1. Я заменил все @InjectView
и ButterKnife.inject
с помощью новой функции @Bind
и не испытывал проблем с сборками отладки, но при сбоях приложения при сбое приложения происходит сбой.Почему Butterknife @Bind не работает в выпуске (после proguard)
Если я переключу 'minifyEnabled
' на false в моем build.gradle, тогда я могу сгенерировать сборку рабочего выпуска.
Я использую конфигурацию proguard, описанную на сайте Butterknife, но она, похоже, не работает для меня. Я также использую Кинжал, Пикассо и Флеш в моей сборке.
Мои proguard-rules.pro содержание:
# ButterKnife
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *; }
-keepclasseswithmembernames class * {
@butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
@butterknife.* <methods>;
}
# Dagger
-keepclassmembers,allowobfuscation class * {
@javax.inject.* *;
@dagger.* *;
<init>();
}
-keep class javax.inject.** { *; }
-keep class **$$ModuleAdapter
-keep class **$$InjectAdapter
-keep class **$$StaticInjection
-keep class dagger.** { *; }
# Picaso
-dontwarn com.squareup.okhttp.**
# Flurry
-keep class com.flurry.** { *; }
-dontwarn com.flurry.**
Спасибо, что, кажется, решили. –