Android構建系統是你用於構建,測試,運行及打包你的apps的工具包。構建系統既能夠做爲一個集成工具經過Android Studio的菜單運行,也能夠在命令行中獨立地運行。你可使用構建系統的功能來作這些事情: html
Android構建系統的靈活性使得你可以在不改變你的app的核心源代碼文件的狀況下達成全部這些目標。要編譯一個Android Studio項目,請參考Building and Running from Android Studio。要對Android Studio項目配置特別的構建設置,請參考 Configuring Gradle Builds。 java
構建過程包含了在產生.apk的過程當中用到的許多工具及有中間文件產生的子過程。若是你在使用Android Studio作開發,則在你每次爲你的項目或模塊運行Gradle build task時,都會完成完整的構建過程。構建過程是很是靈活的,而因爲許多構建過程是可配置並可擴展的,於是理解構建過程背後都發生了什麼是頗有用的。下圖描述了包含在一次構建中的不一樣工具及過程: android
一次典型構建的常規過程大致以下。構建系統從配置的product flavors,build types,和dependencies合併全部的資源。若是不一樣目錄下包含的資源具備相同的名字或設定,則遵循的覆蓋優先級順序爲:dependencies覆蓋build types,build types覆蓋product flavors,product flavors覆蓋main source目錄: shell
注意:Apps有一個限制,引用的method數被限制在64K之內。若是你的app達到了這個限制,構建過程將輸出以下的錯誤消息: app
Unable to execute dex: method ID not in [0, 0xffff]: 65536.
要避免這個錯誤,請參考Building Apps with Over 65K Methods。 ide
構建過程爲每次構建在app/build目錄下產生一個不一樣的APK:app/build/outputs/apk/目錄包含名爲app-<flavor>-<buildtype>.apk的包;好比app-full-release.apk和app-demo-debug.apk。 工具
Done。 測試
原文。
gradle