編輯:關於Android編程
Andrioid 編譯系統是你用於build,test,runapp的工具箱。編譯系統的運行,可以通過Android Studio的菜單或者是獨立的命令行。通過編譯系統的特性你可以做以下的事情:
(1)自定義,配置,擴展編譯進程。
(2)用同一個project and modules創建擁有不同特性的apk。
(3)通過來源設置重用代碼和資源。
Android編譯系統的自由性,能夠在不修改您應用程序的核心源文件的基礎上實現您想要的一切。
如何使用Android Studio 編譯項目,請看我的下一篇文章Build And Running From Android studio。
如何自定義編譯配置,請看我的下一篇文章:configuringgradle builds。
A Detailed Look atthe Build Process
編譯進程包含了許多的工具和進程,這些使得在編譯apk的過程中會生成很多中間文件。如果你在Android studio中開發,每次當你為你的app運行Gradle編譯任務的時候,整套的編譯過程就會被執行。編譯系統的自由性使它有益,但是,因為大部分的構建過程是可配置的和可擴展的,所以我們要了解在這之下到底發生了什麼。下圖描述了在構建中涉及的不同的工具和過程:
一個經典的構建過程一般如下:編譯系統對比合並所有的已配置的 product Flavors,build types,dependencies。如果在不同的文件夾中包含同樣名字的資源或者設置,那麼生效的優先級順序是:dependencies 覆蓋build types,build types 覆蓋product flavors,product flavors 覆蓋main sources 目錄。
(1)aapt 全稱AndroidAsset packaging tool。該工具獲取應用的資源文件,例如,AndroidManifest.xml,Activities的xml文件,並且編譯它們。R.java文件被生成,所以你能將你的資源文件id在java code中使用。
(2)aidl工具轉化你在java代碼中引入的所有的.aidlinterface。
(3)所有的java code,包含R.java和.aidl將被java compiler工具編譯,然後生成.class文件。
(4)dex工具轉換.class文件成為Dalvikbyte code。任何的第三方庫和.class文件也都會被轉換成.dex文件。以至於最後它們能被打包成.apk文件。
(5)未被編譯的資源如圖片,已被編譯的資源,.dex文件都會被發送到apkbuilder工具,從而生成apk。
(6)一但apk被構建,那麼在安裝到設備之前,它一定要被簽名,要麼是debug要麼是release。
(7)一但apk是release的,那麼一定要使用zip以align工具,它可以減少apk運行時所占用的內存。
注釋:apk中的方法數是有限制的,不可以超過65535.具體的解決辦法:請參考我的文章:Apps over 64K Methods。
一般來說 真機調試 是最快的, 所以建議 大家 直接用真機調試。
前言很多程序猿(媛)都對消息處理機制做過分析,大家都基本了解了MessageQueue、Handler、Looper之間相互之間怎麼協同工作,但是具體到消息是如何傳遞,取
本片博客主要簡介以下Android兩個問題介紹一下常見的內存緩存算法 怎樣實現這些Android算法大家應該對ImageLoader這個框架都不陌生吧,一個很強大的圖片加
Android Studio是專門為Android開發設計的IDE,比Eclipse開發Android更加方便、快捷。安裝Android Studio以後,想運行AVD,