Android-aapt/dx命令编译打包APK

命令工具
    AndroidSDK/build-tools/apixx/aapt.exe
    AndroidSDK/build-tools/apixx/aapt/dx.bat
    JDK/bin/javac.exe
注: 以下命令中[]都表示可选

一.aapt命令

功能:
    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.编译xml文件
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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值