安卓拆包打包与重新签名
1.安装jdk开发环境并设置环境变量
- 到ORCLE官网下载JDK开发环境
- 运行安装(基本一直下一步,没啥好说的,记住自己安装目录选在哪了就行)
- 配置环境变量然后找到你的JDK安装目录下的bin文件夹最后一路确定回来。
2.apk拆包打包工具——APLTOOL
- 到APLTOOL官网往下翻下载最新版APLTOOL
- 找一个你喜欢的地方新建一个文件夹作为安卓拆包打包的地方,然后把下载的.jar文件放进去(可以把名字改短点以防打指令时候不好打)
- 把你要拆包的.apk或者要打包成apk的文件夹也放进来
- 按住shift+右键,选择在此处打开powershell(按住shift再右键才有)
- 执行拆包/打包命令
java -jar jarfilename.jar d filename.apk//拆包
java -jar jarfilename.jar b flodername//打包
注意!打包前最好删除 META-INF 文件夹!这里面是旧的安装包签名信息
3.生成我们自己的.keystore文件
平常我们用的一些重新签名工具里面大都是别人做好的签名文件,这里我们可以生成我们自己独有的签名文件。
- 在powershell输入
keytool -genkey -alias 别名 -keyalg RSA -validity 有效天数 -keystore filename.keystore
参数名 | 含义 |
---|---|
-genkey | 产生证书文件 |
-alias | 产生别名 |
-keystore | 密钥库名称 |
-keyalg | 密钥的算法 |
-validity | 证书有效天数 |
然后按提示分别输入
姓名、组织单位、、城市、省份、国家代码
Y确认正确
然后设置一个密码(输入的时候不会有反应但是实际上输进去了)
回车后会再让你确认一次密码
之后你就得到了自定义的.keystore密匙文件
4.为打包好的.apk签名
在powershell输入指令
jarsigner -verbose -keystore filename.keystore -signedjar outputfile.apk inputfile.apk alise
参数名 | 含义 |
---|---|
-verbose | 输出签名过程的详细信息 |
alias | 密匙证书文件的别名 |
-keystore | 密匙证书文件位置 |
-signedjar | 指定输入输出文件名 |
inputfile.apk | 未签名文件 |
outputfile.apk | 签名后文件 |
如此我们便成功的完成了对apk文件的签名