Butterknife を使用して Android アプリを作成しており、最近 7.0.1 にアップグレードしました。@InjectView
すべてのButterKnife.inject
使用法を新しい機能に置き換えました@Bind
。デバッグ ビルドでは問題はありませんが、リリース ビルドの起動時にアプリがクラッシュします。
minifyEnabled
build.gradle で' ' を false に切り替えると、動作するリリース ビルドを生成できます。
Butterknife サイトに記載されているプロガード構成を使用していますが、うまく機能していないようです。私のビルドでは、Dagger、Picasso、Flurry も使用しています。
私の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.**