背景
最近遇到打包生產(chǎn)包時無法有效去除Log輸出的問題,但是混淆文件已經(jīng)按照網(wǎng)上通用的做法增加了相關(guān)的配置,在Demo中運行也沒有問題,但是在公司的項目中運行就會遇到問題。
排查過程
? 按照網(wǎng)上的通用做法要去除release包中的Log相關(guān)方法处窥,需要符合以下幾個條件
- 系統(tǒng)的混淆文件要使用“proguard-android-optimize.txt”
- 自己使用的混淆文件中不能有“-dontoptimize”配置
- 所有的module、aar和jar包的混淆文件中都能有“-dontoptimize”配置
解決方法
經(jīng)過排查损搬,自己項目中的配置沒有問題碧库,那問題就只能是出在第三方庫柜与。為了確認項目最后打包時使用的混淆文件是否含有“-dontoptimize”配置,在proguard.pro文件中加入“-printconfiguration ../full-config.txt”配置嵌灰,打包時會在根目錄下生成合并后的混淆文件弄匕,經(jīng)過查看該文件,發(fā)現(xiàn)合并后的文件中含有“-dontoptimize”配置沽瞭∏ń常基本確認是使用的第三方庫使用的混淆文件中有“-dontoptimize”配置,一一排查使用的第三方庫中的混淆文件驹溃,aar和jar包中的混淆文件位置可以參照官方說明城丧,找到有問題的第三方包,聯(lián)系提供方修改一下混淆文件豌鹤,然后重新打包亡哄,解決問題。