1. 程式人生 > 其它 >解決Android無法使用Apache的Base64的問題,安卓不能使用org.apache.commons.codec.binary.Base64 的問題

解決Android無法使用Apache的Base64的問題,安卓不能使用org.apache.commons.codec.binary.Base64 的問題

技術標籤:Android開發實用教程

因為 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

工具使用:
  1. cmd輸入 檢視jar包所有包名
java -jar jarjar.jar strings commons-codec-1.15.jar
  1. 新建一個rule.txt
    在這裡插入圖片描述

  2. rule.txt 內容
    在這裡插入圖片描述
    表示修改包名為org.apache.commons.android.*
    具體意思看jarjar使用教程

  3. cmd輸入

java -jar jarjar.jar process rule.txt commons-codec-1.15.jar commons-codes-android-1.15.jar

開始生成新的包

在這裡插入圖片描述