未混淆的代码为

 

 

 混淆之后:

 

 

 可以看到混淆打包之后注解全都被去掉了!!!

解决方式为添加以下混淆文件

# mvp注解框架混淆
-keep @com.example.httplibrary.mvp.inject.InjectPresenter class * {*;}
-keepclasseswithmembers class * {
    @com.example.httplibrary.mvp.inject.InjectPresenter <methods>;
}
-keepclasseswithmembers class * {
    @com.example.httplibrary.mvp.inject.InjectPresenter <fields>;
}
-keepclasseswithmembers class * {
    @com.example.httplibrary.mvp.inject.InjectPresenter <init>(...);
}
# The "Signature" attribute is required to be able to access generic types whencompiling in JDK 5.0 and higher.
-keepattributes Signature
# processing Annotations
-keepattributes *Annotation*

加入混淆文件之后,运行正常,加入混淆文件之后代码如下:

posted on 2022-03-18 14:08  南巷挽清风  阅读(282)  评论(0编辑  收藏  举报