关于butterknife代码混淆的一个小坑

关于butterknife代码混淆的一个小坑

最近的一个安卓项目用到了butterknife的视图注入功能,但是在代码混淆时却注入失败。搜到的proguard写法都是这样的:

#butterknife
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *; }
-keepclasseswithmembernames class * {
    @butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
    @butterknife.* <methods>;
}

写了之后也并没有卵用,都准备放弃混淆,只用加密了。却还是不甘心,又仔细检查了几次,发现这种写法都是针对butterknife7.0及以上的,然后发现自己项目里面引用的是6.0的,二者注入的方法都不同了好么。找了好久终于找到了6.0的混淆写法:

#butterknife
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector{ *; }
-keepclasseswithmembernames class * {
    @butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
    @butterknife.* <methods>;
}

区别在第三行,一个是ViewBinder,一个是ViewInjector。虽说以后应该会换成更高版本的,但还是记录一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值