命令工具
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
這個(gè)命令沒什么用, .APK和.zip文件沒什么區(qū)別,可以直接使用壓縮解壓工具打開,增刪改查文件都非常方便
2.查看編譯后的xml文件
aapt d badging x.apk 查看APK的相關(guān)描述(如包名狼速、版本挠锥、label等)
aapt d permissions x.apk 查看APK的權(quán)限
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類和方法數(shù)量
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
詳情請(qǐng)看
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
簡(jiǎn)書: http://www.reibang.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