小编Kar*_*thy的帖子

为什么Butterknife @Bind在发布版本中失败(在proguard之后)

我一直在使用Butterknife构建Android应用程序,最近升级到7.0.1.我用新功能替换了所有@InjectViewButterKnife.inject使用,@Bind并且没有调试版本的问题,但应用程序在启动时崩溃发布版本.

如果我minifyEnabled在build.gradle中将' ' 切换为false,那么我可以生成一个有效的发布版本.

我正在使用Butterknife网站上记录的proguard配置,但它似乎对我不起作用.我也在构建中使用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 …
Run Code Online (Sandbox Code Playgroud)

android bind proguard butterknife

11
推荐指数
2
解决办法
3414
查看次数

标签 统计

android ×1

bind ×1

butterknife ×1

proguard ×1