編輯:關於Android編程
android打包過程,下面這張圖取自Android開發權威指南,非常清晰。
名稱 功能介紹 在操作系統中的路徑 aapt Android資源打包工具 ${ANDROID_SDK_HOME}/platform-tools/appt aidl Android接口描述語言轉化為.java文件的工具 ${ANDROID_SDK_HOME}/platform-tools/aidl javac Java Compiler ${JDK_HOME}/javac或/usr/bin/javac dex 轉化.class文件為Davik VM能識別的.dex文件 ${ANDROID_SDK_HOME}/platform-tools/dex apkbuilder 生成apk包 ${ANDROID_SDK_HOME}/tools/apkbuilder jarsigner .jar文件的簽名工具 ${JDK_HOME}/jarsigner或/usr/bin/jarsigner zipalign 字節碼對齊工具 ${ANDROID_SDK_HOME}/tools/zipalign
[--product product1,product2,...] /
[raw-files-dir [raw-files-dir] ...]
下面我們來一步一步的分析一下。
aapt的用法有:
aapt l[ist] [-v] [-a] file.{zip,jar,apk}
-v 以table形式列出來
-a 詳細列出內容
aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]
badging 打印app包的label和icon
例如:aapt d permissions , 這個就是顯示這個apk所具有的權限
aapt p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] /
這個比較復雜,只解釋幾個關鍵參數。
-f 如果編譯出來的文件已經存在,強制覆蓋。
-m 使生成的包的目錄放在-J參數指定的目錄。
-J 指定生成的R.java的輸出目錄
-S res文件夾路徑
-A assert文件夾的路徑
-M AndroidManifest.xml的路徑
-I 某個版本平台的android.jar的路徑
-F 具體指定apk文件的輸出
例如:
1). 將工程的資源編譯R.java文件
aapt package -m -J
2). 將工程的資源編譯編譯到一個包裡
aapt package -f -S
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文件中
aapt v[ersion]
例如:aapt v, 就是打印這個結果 Android Asset Packaging Tool, v0.2
javac 用於編譯Java文件,格式為:
版本:1.0日期:2014.5.17 2014.6.1版權:© 2014 kince 轉載注明出處 在介紹SwitchButton之前,先來看一下系統Butt
主要包括那些不錯的開發庫,包括依賴注入框架、圖片緩存、網絡相關、數據庫ORM建模、Android公共庫、Android 高版本向低版本兼容、多媒體相關及其他。一、依賴注入
前言:在移動客戶端的開發中,地理位置定位是一個非常重要的環節,有些時候用戶可能會限制web app或者Android app的一些權限,或者由於信號不佳的原因無法獲得准確
SparseArray 目前有很多地方從性能優化方說使用SparseArray來替換hashMap,來節省內存,提高性能。Linkify.addLinks() 這個類可以