Android jar包混淆
在專案中,有時候我們會把某些程式碼,通過jar的形式,放到伺服器上,
然後在客戶端下載,用反射呼叫,這樣很方便,也能不通過升級APK隨時更新這部分程式碼,
但是這樣,別人也能拿到我們的jar隨意反編譯,就會暴露,
所以這個時候,我們就要搞安全工作。
百度告訴我們有兩種方法:1.jar混淆,2.加密。
加密的方法,我也試過,通過base64,把jar包加密了,然後本地解密成功,但是載入的時候懵逼了...所以放棄。
混淆
首先得匯出jar包,本人out,用eclipse
在需要被匯出的專案點選右鍵,然後選擇Export
這個時候,就在對應的位置,生成了一個5.jar 我的是在桌面,那個輸出地址可以自己規定
————————————————————————以上為第一步————————————————————
拿到這個jar之後,我們就可以開始混淆工作了
首先,我們進入SDK目錄,跟著對應的路勁,找到proguardgui.bat
開啟之後,可以看到一個命令視窗,等待一會就回彈出我們的混淆工具了
按照順序,選擇對應的txt檔案,用來生成我們自己的一個混淆配置檔案,大神也可以自己寫,
這個配置檔案在SDK目錄下的tools\proguard資料夾裡面,
開啟之後,點選左邊的PROCESS
點選儲存,儲存我們的配置資訊,然後找到這個a.pro
呼叫入口一定要keep,暴露出來,不然找不到入口
修改之後儲存,然後再用我們的混淆工具種,開啟,
具體操作和上面的開啟工具後的第一張相同,然後選擇輸入輸出,以及依賴的jar
記得將optimization中的optimize的勾去掉
最後,在process中點選右下角的process,就能生成混淆後的jar
如圖,成功
——————————————————————第三部,二次打包————————————————————————————————
最後一步,進入到sdk\build-tools\android-4.4W,具體版本自行決定
打包成功,完成