Android二次开发打包

关于Android二次打包,有的是为了更换证书,有的是为了修改资源,有的是为了注入广告,不管处于什么样的目的,都希望用于正当渠道。废话不多说,直接进入正题。

1.准备工作

我们需要下载ApkTool工具(关于该工具的下载和安装在官网都有详细的步骤,在这里就不多说了),然后确保keytool和jarsigner命令是可用的。

2.反编译

我们使用ApkTool进行反编译APK,执行如下命令:

1
apktool d -o app app.apk

 

就会将反编译结果放到app目录下,然后就可以修改反编译后的app目录中的内容,比如图片或代码。
如果需要修改代码,需要修改对应的Smali文件,关于Smali可以参见Android逆向开发之Smali

3.编译

接下来执行如下命令,将修改后的目录重新打包为APK

1
apktool b -o app_fix.apk app

转载https://wangchao.im/2016/01/20/android-secondary-build/

这样我们就生成了新的修改后的app_fix.apk

4.生成keystore

使用keytool命令生成keystore,具体如下:

1
keytool -genkeypair -alias test -keyalg RSA -validity 20000 -keystore test.keystore

 

然后会提示我们录入密钥口令,还有输入一些信息,根据提示填写即可,执行结束后就会生成一个别名为testtest.keystore

5.签名

用我们刚才生成的test.keystoreapp_fix.apk签名,执行如下:

1
2
3
4
## jarsigner
jarsigner -verbose -keystore test.keystore -signedjar app_signed.apk app_fix.apk test
## apksigner
apksigner sign --ks test.keystore --out app_signed.apk test.apk

 

执行后需要录入keystore的口令,最后就会生成签名后的APKapp_signed.apk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值