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执行完之后才執行。
keep pattern
备注: pattern為要比對的字串,可以使用「*」和「**」來表示任意的Package名稱。「*」可以代表一层的Package,「**」可以代表多层的Package。
result為要取代成的字串,可以使用「@1」、「@2」这类的符号表示要使用第几个pattern的「*」或「**」所代表的字串。
如果要将Jar包內的「cn.domob」名称全都替換成「com.google」,可以编写以下的rulesFile:
rule cn.domob.**com.google.@1