美文网首页Android开发反编译Android开发
Android反编译、签名、重打包、zipalign一条龙

Android反编译、签名、重打包、zipalign一条龙

作者: Vghh | 来源:发表于2019-05-01 23:44 被阅读4次

@[toc]

1.Android编译打包过程

在这里插入图片描述
图片来自https://www.jianshu.com/p/eaaddfe34d11

用到的工具:

1.aapt
Android资源打包工具,生成R.java文件
路径:${ANDROID_SDK_HOME}/platform-tools/appt

2.aidl
Android接口描述语言,转化为.java文件的工具
路径: ${ANDROID_SDK_HOME}/platform-tools/aidl

3.javac
Java Compiler ,编译Java文件,生成对应的.class文件
路径: ${JDK_HOME}/javac或/usr/bin/javac

4.dex
转化.class文件为Davik VM(此处暂不叙述ART)能识别的.dex文件
路径: ${ANDROID_SDK_HOME}/platform-tools/dx

5.apkbuilder
生成apk包
路径: ${ANDROID_SDK_HOME}/tools/opkbuilder

6.jarsigner
.jar文件的签名工具
路径: ${JDK_HOME}/jarsigner或/usr/bin/jarsigner

7.zipalign
字节码对齐工具
路径: ${ANDROID_SDK_HOME}/tools/zipalign

2.Android反编译与重打包

反编译相关工具:

apktool,编译和反编译apk,从apk中提取图片和布局资源
https://ibotpeaches.github.io/Apktool/install/

dex2jar,将可运行文件classes.dex反编译为jar源码文件

jd-gui,查看jar源码文件

apktool windows下安装:
https://ibotpeaches.github.io/Apktool/install/
1.下载apktool.jar最新版

在这里插入图片描述 在这里插入图片描述
2.在apktool.jar的同级目录下新建apktool.bat文件

注意: 文件末尾apktool.jar的名字一定要和apktool.jar名字完全一样,比如是apktool_2.4.0.jar,则apktool.bat文件内也必须指定apktool_2.4.0.jar

在这里插入图片描述 在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
反编译:

CMD 指令
apktool.bat d source.apk -o <output_dir>
或者
apktool d source.apk -o <output_dir>

在这里插入图片描述
在这里插入图片描述
重打包

CMD 指令
apktool.bat b <intput_dir> -o built.apk
或者
apktool b <intput_dir> -o built.apk

在这里插入图片描述

3.APK签名

生成签名文件

签名需要keystore文件,可以使用keytool工具生成,一般Java环境都带有keytool命令
可以先配置JAVA JDK环境变量
CMD命令:

keytool -genkey -validity 36000 -keysize 1024 -alias sign -keyalg RSA -keystore C:\Users\cy\Desktop\sign.jks -dname CN=(cy),OU=(cy科技有限公司),,O=(cy科技有限公司),L=(永州市),ST=(湖南省),C=(CN)  -storepass 123456 -keypass 123456  -v
在这里插入图片描述
签名APK

CMD指令:

jarsigner -verbose -keystore C:\Users\cy\Desktop\sign.jks -storepass 123456 -signedjar C:\Users\cy\Desktop\signed.apk C:\Users\cy\Desktop\appBuild.apk sign
在这里插入图片描述
签名APK后验证

CMD命令:

jarsigner -verify C:\Users\cy\Desktop\signed.apk
在这里插入图片描述

4.Android zipalign字节对齐

zipalign优化工具在 D:\Android\sdk\build-tools\xxx目录下 zipalign.exe
小编这里是放到了桌面
CMD命令:

zipalign -f -v 4 C:\Users\cy\Desktop\signed.apk C:\Users\cy\Desktop\zipaligned.apk
在这里插入图片描述

各位老铁有问题欢迎及时联系、指正、批评、撕逼

GitHub

关注专题Android开发常用开源库

简书

微信公众号


这里写图片描述

QQ群


这里写图片描述

相关文章

网友评论

    本文标题:Android反编译、签名、重打包、zipalign一条龙

    本文链接:https://www.haomeiwen.com/subject/rrsgnqtx.html