接手的项目发现最后打release包的混淆都没做,吭哧吭哧一上午编写完打包规则后发现打包是成功了,但是报了这样的一段警告:
警告截图
看着就烦,反正releaseApk测过了,直接忽略吧。于是在proguard-rules.pro
添加了
-dontwarn freemarker.**
重新打包,美滋滋等着0 warnings。结果等打包成功后还有警告……WC,无奈准备直接忽略混淆这个包,添加了-keep class freemarker.** { *;}
再试,还是同样的结果……无语了一阵后我准备看看到底依赖了何方神圣,忽略警告都不行。然而惊奇的发现并没有依赖这玩意儿,但是项目的External Libraries
却明明白白多出了
依赖截图
……
……
没办法,应该是其他依赖的库依赖了这个包……虽然对打包没什么影响,但是看着却着实不爽。原谅本人才疏学浅,只能通过排除法一个一个忽略自己依赖的包,然后打包看还有没有警告。当忽略了到谷歌ZXing的时候奇迹发生了
0 warnings
所以遇到这个在混淆规则里添加一个-dontwarn com.google.**
应该就可以了。
PS:写这篇文章的时候有时候加上这个忽略规则还是会出现警告,但是重新打一次包就没了,很奇怪。
PPS:也有可能不是Zxing触发的警告,可能误打误撞忽略了谷歌什么东西吧。
顺便问一下有没有人知道怎么用External Libraries
里面的包逆推出来是由哪个依赖引进过来的呢?