Closed drakeet closed 6 years ago
你好,感谢分享和开源这个项目,它看起来很棒!
不过我看到在 README 文档中写到需要 keep 一系列 okhttp、retrofit 等相关代码,而且都是全量 keep **,过于暴力,实际上,这些 keep 很多都是不必要的,如果是 aar 项目,大多会有 consumerProguard,它们会自动采纳开源库作者内置的 Proguard rules,如果全量 keep 起来,会导致 minify 工具无法正常排除无用代码最终使得安装包体积增大。
**
consumerProguard
# retrofit2 -dontwarn retrofit2.** -keep class retrofit2.** { *; } # <- 不应该 -keepattributes Signature -keepattributes Exceptions -dontwarn org.robovm.** -keep class org.robovm.** { *; } # <- 不应该 # okhttp3 -dontwarn com.squareup.okhttp3.** -keep class com.squareup.okhttp3.** { *;} # <- 不应该 -keep class okhttp3.** { *;} # <- 不应该 -keep class okio.** { *;} # <- 不应该 -dontwarn sun.security.** -keep class sun.security.** { *;} -dontwarn okio.** -dontwarn okhttp3.** # rxjava -dontwarn rx.** -keep class rx.** { *; } # <- 不应该
如果可以,请修改这部分内容,以免产生误导 :) 再次表示感谢!
谢谢你提出的宝贵意见,因为工程中用到了反射,为了安全就基本都keep了,后续我会重新整理一份。
因为 RxJava 和 OKHttp 都属于大型库,全量 keep 将导致安装包大好几 MB,代价很大。
我重新把混淆整理了一下
你好,感谢分享和开源这个项目,它看起来很棒!
不过我看到在 README 文档中写到需要 keep 一系列 okhttp、retrofit 等相关代码,而且都是全量 keep
**
,过于暴力,实际上,这些 keep 很多都是不必要的,如果是 aar 项目,大多会有consumerProguard
,它们会自动采纳开源库作者内置的 Proguard rules,如果全量 keep 起来,会导致 minify 工具无法正常排除无用代码最终使得安装包体积增大。如果可以,请修改这部分内容,以免产生误导 :) 再次表示感谢!