日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android构建过程

發布時間:2025/3/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android构建过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

參考: http://blog.csdn.net/shangmingchao/article/details/47375111

首先,需要了解一下構建APK的七大工具:

aapt

全稱是Android?Asset Packaging Tool,Android資源打包工具。可以將資源文件編譯成二進制文件,還可以查看、創建、更新zip格式的文檔附件(zip、jar、apk)。

aidl

全稱是Android Interface Definition Language,Android接口定義語言。可以將.aidl文件編譯成.Java文件。

javac

全稱是Java?Compiler,Java編譯器。可以將Java語言編寫的類和接口定義文件(.java)編譯成字節碼類文件(.class)。

dx

全稱是Dalvik Executable,Dalvik虛擬機可執行程序。可以將部分.class文件轉換成一個.dex文件。

apkbuilder

可以將.dex文件、已經打包好的資源文件、libs中的Native庫等其它資源打包成未簽名的.apk文件。SDK3.0之后廢棄了該工具,可以直接利用sdklib.jar中的APKBuilderMain.class實現其功能。

jarsigner

全稱是Java Archive Signer,Jar簽名工具。可以為jar文件簽名,還可以校驗jar文件的簽名和完整性。

zipalign

可以優化apk。以幫助操作系統更高效地根據請求獲取資源,將Data structure alignment(DSA,數據結構對齊標準)限定為4-byte boundaries。

?

這七大工具就包含在 我們配置Android SDK時下載的 Android SDK Build-tools中,有了這“七個小矮人”的幫助,我們就能順利地將IDE中的項目變成可以在設備上運行的應用程序了,下圖簡單描述了這個過程,是官網上的一張圖^_^。

詳細的構建過程如下圖所示:

也是官網上的一張圖,哈哈。總之就是利用各種工具以生成中間文件(intermediates)的形式最終生成apk文件。下面是關于這個過程的一些解釋:

?

①aapt工具將程序的資源文件(如AndroidManifest.xml文件、Activity中的xml布局文件)進行編譯,并生成供Java代碼引用資源的R.java文件。

?

②aidl工具將所有.aidl接口轉換成.java接口。

?

③所有的Java代碼(包括R.java和.aidl文件)被Java編譯器編譯成.class文件。

?

④dex工具將所有的.class文件轉換成Dalvik字節碼,第三方庫和所有在module構建中用到的.class文件也將被轉換成.dex文件,以便被打包成最終的.apk文件。

?

⑤所有無需編譯的資源(如圖片)、已經編譯好的資源,以及.dex文件被發往apkbuilder工具以打包成一個.apk文件。

?

⑥打包好了.apk文件后,一旦apk被創建,在安裝到設備之前必須用debug key或release key簽名。

?

⑦最終,若應用已經用發行模式簽名了,你必須用zipalign工具對齊.apk。因為對齊最終的apk有助于該應用在設備上運行時減小內存的使用。

?

?

Android構建對應的API Level參見:API_LEVEL。

總結

以上是生活随笔為你收集整理的android构建过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。