Android-aapt/dx命令编译打包APK
命令工具
AndroidSDK/build-tools/apixx/aapt.exe
AndroidSDK/build-tools/apixx/aapt/dx.bat
JDK/bin/javac.exe
注: 以下命令中[]都表示可选
一.aapt命令(android application package tool)
功能:
1.编译res目录xml文件
2.编译AndroidManifest.xml
3.生成R.java
4.生成Resources.arsc
1.查看APK包文件列表
aapt l[ist] [-v] [-a] file.{zip,jar,apk}
List contents of Zip-compatible archive
这个命令没什么用, .APK和.zip文件没什么区别,可以直接使用压缩解压工具打开,增删改查文件都非常方便
2.查看编译后的xml文件
aapt d badging x.apk 查看APK的相关描述(如包名、版本、label等)
aapt d permissions x.apk 查看APK的权限
aapt d resources x.apk 查看APK的Resources.arsc
aapt d xmltree x.apk x.xml 查看编译后的XML文件(如AndroidManifest.xml)
3.编译打包
aapt p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml]
-S res目录
-M AndroidManifest.xml路径
-A assert目录
-I android.jar路径
-J R.java输出目录
-F APK输出目录
3.1.生成R.java
aapt package -J R.java输出目录 -S res路径 -I android.jar路径 -M AndroidManifest.xml路径
3.2.编译xml
aapt package -S res路径 -I android.jar路径 -M AndroidManifest.xml路径 -F 输出目录
二.dx命令
1.把.java编译为.class
使用JDK/bin/javac,编译java源码和R.java
javac -bootclasspath android.jar路径 java源码和R.java路径
2.把.class编译为.dex
dx --dex classes路径
3.查看.dex类和方法数量
dx --find-usages <file.dex> <declaring type> <member>
Find references and declarations to a field or method.
declaring type: a class name in internal form, like Ljava/lang/Object;
member: a field or method name, like hashCode
三.签名
APK签名工具可以用jarsigner或者apksigner
详情请看
http://blog.csdn.net/qq_32115439/article/details/55520012
http://lioil.win/2017/02/18/Signer.html
http://c.lioil.win/2017/02/18/Signer.html
简书: http://www.jianshu.com/p/e130c4bc1bd7
CSDN博客: http://blog.csdn.net/qq_32115439/article/details/55846094
GitHub博客:http://lioil.win/2017/02/20/AAPT-DX.html Coding博客:http://c.lioil.win/2017/02/20/AAPT-DX.html