1. 程式人生 > >Android之在ubuntu上用aapt檢視apk的名字以及相關資訊

Android之在ubuntu上用aapt檢視apk的名字以及相關資訊


badging          Print the label and icon for the app declared in APK
permissions      Print the permissions from the APK.
resources        Print the resource table from the APK.
configurations   Print the configurations in the APK.
xmltree          Print the compiled xmls in the given assets.
xmlstrings       Print the strings of the given compiled xml assets.


例如:aapt d permissions <apk檔案>, 這個就是顯示這個apk所具有的許可權

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檔案的輸出


例如:


一. 將工程的資源編譯R.java檔案


aapt package -m -J <R.java目錄> -S <res目錄> -I <android.jar目錄>  -M <AndroidManifest.xml目錄>


二. 將工程的資源編譯編譯到一個包裡


aapt package -f  -S <res目錄> -I <android.jar目錄> -A<assert目錄>  -M <AndroidManifest.xml目錄> -F <輸出的包目錄>


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