android aapt使用小結

來源:互聯網
上載者:User

aapt stands for Android Asset Packaging Tool and is included in the tools/ directory of the SDK. This tool allows you to view, create, and update Zip-compatible archives (zip, jar, apk). It can
also compile resources into binary assets. 

aapt即Android Asset Packaging Tool , 在SDK的tools/目錄下. 該工具可以查看, 建立, 更新ZIP格式的文檔附件(zip, jar, apk). 也可將資源檔編譯成二進位檔案. 

Though you probably won't often use aapt directly, build scripts and IDE plugins can utilize this tool to package the apk file that constitutes an Android application. 

儘管你可能沒有直接使用過aapt工具, 但是build scripts和IDE外掛程式會使用這個工具打包apk檔案構成一個Android 應用程式.

For more usage details, open a terminal, go to the tools/ directory, and run the command: 

擷取更多的實用資訊, 請開啟終端控制台, 到tools/目錄下, 執行命令: 

Linux or Mac OS X: 

  ./aapt 

Windows: 

aapt.exe 

 

 

 

 

本文小結了一下該工具的用法。
1.  aapt l[ist] [-v] [-a] file.{zip,jar,apk}
   List contents of Zip-compatible archive.
1.1 列出壓縮檔目錄
aapt l <file_path.apk>
參數:
-v:會以table的形式輸出目錄,table的表目有:Length、Method、Size、Ratio、Date、Time、CRC-32、Name。
其中Method表示壓縮形式,有:Deflate及Stored兩種,即該Zip目錄採用的演算法是壓縮模式還是儲存模式;可以看出resources.arsc、*.png採用壓縮模式,而其它採用壓縮模式。
Ratio表示壓縮率。CRC-32未明其意,Sodino盼指教。

-a:會詳細輸出所有目錄的內容。
:aapt_list.JPG
 


2. aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]
   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.

2.1 查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各種詳細資料
aapt dump badging <file_path.apk>
:aapt_dump_badging.JPG
 

2.2 查看許可權
aapt dump permissions <file_path.apk>
:aapt_dump_permissions.JPG

 

2.3 查看資源清單
aapt dump resources <file_path.apk>
一般都會輸出很多的資訊,如要全部查看,請用下面這兩句:
aapt dump resources <file_path.apk>   > sodino.txt
sodino.txt
這樣會把所有的資訊通過重新導向符">"輸出到sodino.txt檔案中,然後再開啟該檔案即可查看。


2.4 查看apk配置資訊
aapt dump configurations <file_path.apk>


2.5 查看指定apk的指定xml檔案。
aapt dump xmltree <file_path.apk> res/***.xml
以樹形結構輸出的xml資訊。
aapt dump xmlstrings <file_path.apk> res/***.xml
輸出xml檔案中所有的字串資訊。
:aapt_dump_xmltree.JPG

 

3
由於此處代碼量比較大,本人寫成批處理形式了。

使用aapt產生R.java
rem 測試的工程目錄下必須得有gen檔案夾,否則會提示:Unable to open class file R.java:No such file or directory
%aapt% package -f -m -J %GEN% -S %RES% -I %ANDROID_JAR% -M %ANDROID_MANIFEST_XML%

使用aapt產生資源套件檔案
%aapt% package -f -M %ANDROID_MANIFEST_XML% -S %RES% -A %ASSETS% -I %ANDROID_JAR% -F %RESOURCE%

%GEN%:存放的R.java檔案夾路徑。
%RES%:res檔案夾路徑。
%ANDROID_JAR%:引用的android.jar路徑。
%ANDROID_MANIFEST_XML%:工程AndroidManifest.xml絕對路徑。
%ASSETS%:asset檔案夾路徑。
%RESOURCE%:產生的resouces.arsc存放路徑。

參考:
Android系列之Android 命令列手動編譯打包詳解
http://blog168.chinaunix.net/space.php?uid=22957718&do=blog&cuid=2322671

 

其餘的不解釋,直接見:
 aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]
   Delete specified files from Zip-compatible archive.

 aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]
   Add specified files to Zip-compatible archive.

 aapt v[ersion]
   Print program version.
:aapt_r_a_v.JPG  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.