Android 反编译工具apktool、jar2dex、apksigner、zipalign基本命令

504 阅读1分钟

前排打个广告,自己写的decompile工具,使用起来绝对丝滑

反编译基本命令

tips: 使用之前,请确保你的PC已经配置java、Android SDK的环境变量

apktool: www.jianshu.com/p/9add52acb…

反编译:apktool.jar d input.apk -f -o outputDir
回编译:apktool.jar b inputDir -f -o output.apk

bundletool: developer.android.google.cn/studio/comm…

* aab2apks:
    bundletool build-apks --bundle=input.aab --output=output.apks
* aab2apks&sign:
    bundletool build-apks --bundle=input.aab --output=output.apks
    --ks=/MyApp/keystore.jks
    --ks-pass pass:123456
    --ks-key-alias=MyKeyAlias
    --key-pass pass:123456

jar & dex的相互转换

* dex2jar
	win: d2j-dex2jar.bat input.dex -f -o output.jar 
	mac: d2j-dex2jar.sh input.dex -f -o output.jar
* jar2dex
	d8 input.jar --output <file>     <file>是文件夹或者.zip
	win: d2j-jar2dex.bat input.jar -f -o ouput.dex
	mac: d2j-jar2dex.sh input.jar -f -o output.dex
tips: mac使用之前需要给 d2j_invoke.sh 增加可执行权限
	chmod +x d2j_invoke.sh

apk签名: developer.android.google.cn/studio/comm…

jarsigner -verbose -keypass 密钥口令 
	-storepass 密钥库的密码短语 
	-keystore 密钥文件路径 
	-signedjar 签名后文件路径 
	待签名文件路径  
	别名
java -jar apksigner.jar sign --ks release.jks input.apk
java -jar apksigner.jar sign 
	--ks key.jks 
	--ks-pass pass:pp123456 
	--ks-key-alias releasekey
	--key-pass pass:pp123456 
	--out output.apk 
	input.apk

apk对齐: developer.android.google.cn/studio/comm…

zipalign -f -v 4 input.apk output.apk

最后再打个广告,自己写的decompile工具,使用起来绝对丝滑