AndResGuardAndroid資源混淆工具
AndResGuard 是一款 Android資源混淆工具,資源混淆組件不涉及編譯過程,只需輸入一個apk(無論簽名與否,debug版,release版均可,在處理過程中會直接將原簽名刪除),可得到一個實(shí)現(xiàn)資源混淆后的apk(若在配置文件中輸入簽名信息,可自動重簽名并對齊,得到可直接發(fā)布的apk)以及對應(yīng)資源ID的mapping文件。同時(shí)可在配置文件中指定白名單,壓縮文件(支持*,?通配符),支持自動簽名,保持舊mapping,7z重打包,對齊等功能。 本工具支持 Linux、Window 跨平臺使用,但測試表示若使用7z壓縮,Linux 下的壓縮率更高。
示例代碼:
apply plugin: 'AndResGuard'
buildscript {
dependencies {
classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.1.9'
}
}
andResGuard {
mappingFile = null
use7zip = true
useSign = true
keepRoot = false
whiteList = [
//for your icon
"R.drawable.icon",
//for fabric
"R.string.com.crashlytics.*",
//for umeng update
"R.string.umeng*",
"R.string.UM*",
"R.string.tb_*",
"R.layout.umeng*",
"R.layout.tb_*",
"R.drawable.umeng*",
"R.drawable.tb_*",
"R.anim.umeng*",
"R.color.umeng*",
"R.color.tb_*",
"R.style.*UM*",
"R.style.umeng*",
"R.id.umeng*"
//umeng share for sina
"R.drawable.sina*"
]
compressFilePattern = [
"*.png",
"*.jpg",
"*.jpeg",
"*.gif",
"resources.arsc"
]
sevenzip {
artifact = 'com.tencent.mm:SevenZip:1.1.9'
//path = "/usr/local/bin/7za"
}
}
簡單用法:
java -jar andresguard.jar input.apk
若想指定配置文件或輸出目錄:
java -jar andresguard.jar input.apk -config yourconfig.xml -out output_directory
若想指定簽名信息或mapping信息:
java -jar andresguard.jar input.apk -config yourconfig.xml -out output_directory -signature signature_file_path storepass_value keypass_value storealias_value -mapping mapping_file_path
若想指定7zip或zipalign的路徑(若已設(shè)置環(huán)境變量,這兩項(xiàng)不需要單獨(dú)設(shè)置):
java -jar andresguard.jar input.apk -7zip /shwenzhang/tool/7za -zipalign /shwenzhang/sdk/tools/zipalign
若想用7zip重打包安裝包,同時(shí)也可指定output路徑,指定7zip或zipalign的路徑(此模式其他參數(shù)都不支持):
java -jar andresguard.jar -repackage input.apk -out output_directory -7zip /shwenzhang/tool/7za -zipalign /shwenzhang/sdk/tools/zipalign
評論
圖片
表情
