導航:首頁 > 操作系統 > android快速編譯

android快速編譯

發布時間:2023-03-06 10:30:25

1. android編譯打包流程詳解

下圖的是官網對於Android編譯打包流程的介紹。

官方的介紹非常籠統,簡而言之,其大致流程就是:
編譯-->DEX-->打包-->簽名和對齊

(好像什麼都沒Get到,有一種意猶未盡的感覺……)

來一張外國大神的圖片(註:這張圖少了簽名的步驟)

用文字解釋一下上圖的流程:

首先,我們整理一下編譯的輸入部分是什麼(圖中黃色部分):

接下來的步驟:

好了,編譯打包的詳細流程說完了,接下來我們看看是否能回答開篇的那些問題。

答:aapt工具對於每個資源文件生成了唯一的ID,這些ID保存在R.java文件中。如下是R.java文件的內容:

資源ID是一個4位元組的無符號整數,在R.java文件中用16進製表示。其中,最高的1位元組表示Package ID,次高1個位元組表示Type ID,最低2位元組表示Entry ID。

只有一個ID如何能引用到實際資源呢?實際上aapt工具還生成了一個文件resources.arsc,相當於一個資源索引表,或者你理解成一個map也行,map的key是資源ID,value是資源在apk文件中的路徑。resources.arsc裡面還有其他信息,這個就不多說了。

通過R.java文件和resources.arsc配合,就能引用到實際的資源文件。

答:第7步已經闡述了對齊所做的工作,為什麼要進行對齊,這是為了加快資源的訪問速度。如果每個資源的開始位置都是上一個資源之後的 4*n位元組,那麼訪問下一個資源就不用遍歷,直接跳到4*n位元組處判斷是不是一個新的資源即可。

如果舉例子,那麼對齊有點類似於資源數組化,數組的訪問速度當然比鏈錶快。

答:xml裡面都是各種字元,不利於快速遍歷。編譯成二進制文件,用數字替換各種符號,一方面能快速訪問,另一方面也能減少大小。

https://developer.android.com/studio/build/index.html
http://www.alittlemadness.com/2010/06/07/understanding-the-android-build-process/
http://blog.csdn.net/luoshengyang/article/details/8744683
https://stackoverflow.com/questions/6517151/how-does-the-mapping-between-android-resources-and-resources-id-work
http://www.jianshu.com/p/eaaddfe34d11

2. 如何加快Android Studio的編譯速度

作為一名Android程序員,選擇一個好的IDE工具可以使開發變得非常高效,很多程序員喜歡使用Google的AndroidStudio來進行開發,但使用起來有時會出現卡頓等問題。本文介紹了幾種優化AndroidStudio啟動、編譯、運行速度的方法。首先解決一個AndroidStudio啟動報錯的問題1、進入剛安裝的AndroidStudio目錄下的bin目錄。找到idea.properties文件,用文本編輯器打開。2、在idea.properties文件末尾添加一行:disable.android.first.run=true,然後保存文件。3、關閉AndroidStudio後重新啟動,便可進入界面。優化AndroidStudio啟動速度1、開啟gradle單獨的守護進程當AndroidStudio遇到錯誤的時候,往往會導致AndroidStudio掛掉,為了防止推出程序,則另外開啟一個線程來守護AndroidStudio的進程,具體操作。在C:\Users\.gradle這個目錄下,創建gradle.properties配置文件,復制以下配置進行優化。#Project-wideGradlesettings.org.gradle.daemon=trueorg.gradle.jvmargs=-Xmx2048m-XX:MaxPermSize=512m-XX:+HeapDumpOnOutOfMemoryError-Dfile.encoding=UTF-8org.gradle.parallel=trueorg.gradle.configureondemand=true這些配置文件主要就是增大gradle運行的java虛擬機的大小,讓gradle在編譯的時候使用獨立進程,讓gradle可以很好的運行。2、擴大內存64位:\studio64.exe.vmoptionsorstudio.exe.vmoptions32位:\studio.exe.vmoptionsorstudio.exe.vmoptions編輯這個文件,在最開始的兩行設置內存大小,類似於eclipse.ini中的配置。配置如下:-Xms256m-Xmx1024m3、優化編譯時VM大小選擇file->setting->compile添加如下參數:-Xmx1024m-XX:MaxPermSize=128m-XX:+HeapDumpOnOutOfMemoryError-Dfile.encoding=UTF-8具體參數大小視電腦配置而定。經過測試,編譯速度有很大提升,比較大的項目從之前的5-8分鍾可以減少到1-2分鍾。OneAPMMobileInsight能夠實時監測移動應用的真實用戶體驗,通過Agent實現端到端的應用性能分析。幫助用戶提高發現應用問題的速度。並且可以深入到代碼級進行應用性能問題剖析,通過可視化界面展示智能移動終端的實時運行狀態。

3. 如何加快Android Studio 編譯app 的速度

以下幾個方法可以提高Android Studio的編譯速度:

  1. Gradle 2.4對執行性能有很大的優化,要手動讓Android Studio使用Gradle 2.4,在項目根目錄下的 build.grade中加入。

    4. 如何提高android.mk的編譯速度

    從eclipse轉到Android studio,總覺得編譯速度或者安裝到手機上的速度會變很快,現實是仍然很慢,所以就搜如何提高build速度,安裝真機上apk能快一點,步驟如下:
    1.修改android studio的使用堆內存,根據自己電腦的內存,盡量設置的大一點,點擊help->如下圖:
    2.接下來設置使用離線gradle構建,一開始就是使用了內置的默認路徑gradle,勾選offline這個選項,編譯的速度快的不止一點點,在.gradle的離線位置,建立一個gradle.properties的文件,設置精靈後台一直編譯,這樣提高了很多的速度

閱讀全文

與android快速編譯相關的資料

熱點內容
怎麼初步認識編程 瀏覽:208
為什麼程序員都喜歡谷歌 瀏覽:891
壓縮性骨拆能自愈嗎 瀏覽:277
安卓怎麼設置游戲畫面 瀏覽:114
k線上寫字源碼 瀏覽:457
單擊按鈕保存資料源碼 瀏覽:354
華為gt加密卡 瀏覽:213
河北超融合伺服器廠家雲主機 瀏覽:894
芙兒優安全座椅app怎麼連接 瀏覽:294
專業美團騎手app怎麼開通 瀏覽:949
個人音樂分享網站源碼 瀏覽:375
在新電腦上怎麼注冊加密狗 瀏覽:123
最後一戰游戲源碼 瀏覽:5
phpmysql實例下載 瀏覽:751
傳智黑馬安卓非加密 瀏覽:553
伺服器如何配置host 瀏覽:1001
守望執行命令 瀏覽:371
加密狗插上去了怎麼辦 瀏覽:624
錘子m1怎麼把文件夾重置 瀏覽:213
APP的數據會存在哪裡 瀏覽:66