對 jar 內的 class 名稱進行更名
為什麼要對 jar 內的 class 名稱進行更名呢? 因為有些 jdk
內的 class , android 並不支持. 例如 javax.xml.stream 開頭
的 class
而這個 javax.xml.stream 卻是 apache poi 會用到的. 所以要
將 poi 移植到 android , 就必須更名.
更名的方法很簡單, 使用 jarjar 這個工具.
指令如下:
java -jar d:\jar\jarjar-1.3.jar process d:\jar\rules.txt D:\objectjar\neat-tika-1.12.jar output\neat-tika-1.12.jar
其中 d:\jar\rules.txt D:\objectjar\neat-tika-1.12.jar 是原來的 jar 檔
output\neat-tika-1.12.jar 是更名後的 jar 檔 (output 目錄必須先建立)
而 d:\jar\rules.txt 是更名的規則, 內容只有一行, 如下:
rule javax.xml.stream.** aavax.xml.stream.@1
就是把 javax.xml.stream 開頭的 class , 更改成
aavax.xml.stream
jarjar download