解決Android無法使用Apache的Base64的問題,安卓不能使用org.apache.commons.codec.binary.Base64 的問題
阿新 • • 發佈:2020-12-14
因為 android 系統 framework 層也使用了org.apache.commons.codec 庫,執行時呼叫的是 framework 層的庫,沒有載入我們新增的包,導致我們不能使用該庫的方法。我們通常做RSA加密會用到Base64,從而導致衝突。
方案一
使用java自帶base64 (java.util.Base64),遠端也要同樣使用java.util.Base64相容安卓端
方案二
修改Apache code庫的包名
工具:jarjar.jar
下載地址:https://www.jb51.net/softs/577289.html
jarjar使用教程:https://www.cnblogs.com/yejiurui/p/4283505.html
工具使用:
- cmd輸入 檢視jar包所有包名
java -jar jarjar.jar strings commons-codec-1.15.jar
-
新建一個rule.txt
-
rule.txt 內容
表示修改包名為org.apache.commons.android.*
具體意思看jarjar使用教程 -
cmd輸入
java -jar jarjar.jar process rule.txt commons-codec-1.15.jar commons-codes-android-1.15.jar
開始生成新的包