這里借用一下百度百科,我比較懶
1.列出apk包的內容
aapt l[ist] [-v] [-a] <你的應用>
-v 以table形式列出來
-a 詳細列出內容
例如:aapt l <你的apk文件>,這個命令就是查看apk內容
2. 查看apk一些信息
aapt d[ump] [選項] <你的應用>
這里可以輸入全稱dump,也可以直接用d代替。
選項 |
說明 |
例如 |
badging | 查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各種詳細信息 | aapt dump badging <file_path.apk> |
permissions | 查看權限 | aapt dump resources <file_path.apk> |
resources | 查看資源列表 | aapt dump resources <file_path.apk> > sodino.txt |
configurations | 查看apk配置信息 | aapt dump configurations <file_path.apk> |
xmltree | 以樹形結構輸出的xml信息。 | aapt dump xmltree <file_path.apk> res/***.xml |
xmlstrings | 查看指定apk的指定xml文件。 | aapt dump xmlstrings <file_path.apk> res/***.xml |
TIP:由於我們工作中需要使用badging參數來查看versioncode,因此可以使用命令aapt dump badging <file_path.apk> | findstr “versionCode”來查看
3.編譯android資源
aapt p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] /
[-0 extension [-0 extension ...]] [-g tolerance] [-j jarfile] /
[--debug-mode] [--min-sdk-version VAL] [--target-sdk-version VAL] /
[--app-version VAL] [--app-version-name TEXT] [--custom-package VAL] /
[--rename-manifest-package PACKAGE] /
[--rename-instrumentation-target-package PACKAGE] /
[--utf16] [--auto-add-overlay] /
[--max-res-version VAL] /
[-I base-package [-I base-package ...]] /
[-A asset-source-dir] [-G class-list-file] [-P public-definitions-file] /
[-S resource-sources [-S resource-sources ...]] [-F apk-file] [-J R-file-dir] /
[--product product1,product2,...] /
[raw-files-dir [raw-files-dir] ...]
這個比較復雜,只解釋幾個關鍵參數。
-f 如果編譯出來的文件已經存在,強制覆蓋。
-m 使生成的包的目錄放在-J參數指定的目錄。
-J 指定生成的R.java的輸出目錄
-S res文件夾路徑
-A assert文件夾的路徑
-M AndroidManifest.xml的路徑
-I 某個版本平台的android.jar的路徑
-F 具體指定apk文件的輸出
4.打包好的apk中移除文件
aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]
例如:aapt r <你的apk文件> AndroidManifest.xml, 這個就是將apk中的AndroidManifest移除掉
5. 添加文件到打包好的apk中
aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]
例如:aapt a <你的apk文件> <要添加的文件路徑>, 這個就是將文件添加到打包好的apk文件中
6.顯示aapt的版本
aapt v[ersion]
例如:aapt v, 就是打印這個結果 Android Asset Packaging Tool, v0.2