https://www.cnblogs.com/yejiurui/p/4283505.html
一、首先下載jarjar.jar工具
地址在:https://code.google.com/p/jarjar/
二、查看包名
java -jar jarjar.jar strings domob_android_sdk.jar
此步驟可以使用rar打開jar文件來看
三、更換包名
java -jar jarjar.jar process <rulesFile> <inJar>? <outJar>
rule文件示例:
rule org.** org2.@1
rule com.fasterxml.** com.fasterxml2.@1
運行示例:
java -jar jarjar-1.4.jar process ./rule.txt open-sdk-java-2.0.2.jar ./open-sdk-java-2.0.3.jar
rule詳細:
rulesFile直接用.txt文檔寫就行,
rulesFile有三種指令,分別如下:
1. rule用來取代Package的名稱。
rule pattern result
2.zap用來移除符合名稱的Package。
zap pattern
3.keep只會保留符合的Package的名稱,其他的則會刪除。如果和zap一起使用,將會在zap執(zhí)行完之后才執(zhí)行。
keep pattern
備注: pattern為要比對的字串,可以使用「*」和「**」來表示任意的Package名稱。「*」可以代表一層的Package,「**」可以代表多層的Package。
result為要取代成的字串,可以使用「@1」、「@2」這類的符號表示要使用第幾個pattern的「*」或「**」所代表的字串。
如果要將Jar包內(nèi)的「cn.domob」名稱全都替換成「com.google」,可以編寫以下的rulesFile:
rule cn.domob.**com.google.@1