Android Studio 构建
獲得源碼
分支
當前我們具有如下老版本 Android Studio 的分支:
| studio-1.0-dev | studio-1.0-release | idea13-dev | 這是 1.0 的分支,已經關閉 |
| studio-1.1-dev | studio-1.1-release | idea13-1.1-dev | 這是 1.1 的分支,已經關閉 |
| studio-1.2-dev | studio-1.2-release | idea14-1.2-dev | 這是 1.2 的分支,已經關閉 |
| studio-1.3-dev | studio-1.3-release | idea14-1.3-dev | 這是 1.3 的分支,已經關閉 |
| studio-master-dev | studio-master-dev | studio-master-dev |
ub-tools-idea133 和 ub-tools-master 分支已經廢棄掉了。我們也不使用 master 分支。
開發分支
像 Android 操作系統一樣,Android Studio 也是開源的,且可以自由的控制它。在每個穩定版發布之后,Android 將源碼發布到 Android Open Source Project (AOSP),如 這里 描述的那樣。自 Android Studio 1.4 起,Android Studio 使用了相同的在每個穩定版發布之后發布源碼的模式。對于那些為 Android Studio 貢獻代碼的同學來說,代碼提交流程基本上與 Android 平臺一樣。我們期待繼續每隔近 2 - 4 個月發布一個穩定版本的 Android Studio,且每個這樣的發布時,源碼也將變得可用。請繼續為 Android Studio AOSP 分支提交補丁。我們將做 code review 并把修改合并進后續的 Android Studio 版本。我們非常感激所有社區中的你們的合作以及在 Android Studio 上的努力工作。
標簽
有下列發布標簽可用:
- studio-3.0
- studio-2.3
- studio-2.2
- studio-2.0
- studio-1.5
- studio-1.4
- …
gradle 的如下:
- gradle_3.0.0
- gradle_2.3.0
- gradle_2.2.0
- gradle_2.0.0
- gradle_1.5.0
- …
代碼檢出
首先,你需要為你的平臺安裝前提條件。這意味著你需要 git,C 編譯器,等等。這里有一些步驟,它們依賴于具體的平臺,因此請跳轉到官方構建指南頁面,其中有詳細的指導:http://source.android.com/source/initializing.html。
有些要求是不需要的(如大小寫敏感的文件系統),除非你也打算構建平臺。如果你在 Mac 上,你將依然需要 XCode 來構建模擬器。
一旦你已經配置了所有東西,則通過如下的指導下載 repo 工具:http://source.android.com/source/downloading.html。
然后你可以在 shell 中使用如下命令檢出源碼:
$ mkdir studio-master-dev $ cd studio-master-dev $ repo init -u https://android.googlesource.com/platform/manifest -b studio-master-dev $ repo sync(頂級目錄的名字你可以隨意確定;我們中那些檢出多個分支的同學可以根據分支的名字來命名目錄。)
在 repo init 期間,它將詢問你你的名字和 e-mail 地址;后面如果你決定檢入修改集并上傳它們以 review,這些信息將被用到。
如果你想檢出并構建 2.3 發布版標簽,則使用如下的命令:
$ repo init -u https://android.googlesource.com/platform/manifest -b studio-3.0后面是 repo sync,就像前面看到的那樣。
執行特定發布版的檢出
我們開始給發布版打標簽。這意味著你可以使用標簽來獲得特定版本的源碼。當前我們使用如下標簽:
| Studio | studio-x.y |
你可以在這里查看所有可用的標簽:https://android.googlesource.com/platform/manifest/+refs。
比如,你可以通過如下命令檢出 3.0.0 版本的 Gradle 插件:
$ repo init -u https://android.googlesource.com/platform/manifest -b gradle_3.0.0 $ repo sync構建
通過 studio-* 分支構建的 SDK 部分只有 IDE 組件和 SDK Tools。由于構建系統的不同,每個組件通過不同的方式構建。
它們都不使用平臺的基于 make 的構建系統。
構建 Android Studio
在歷史上,構建 Android 工具也需要構建完整的 Android SDK,因為,比如系統鏡像所需的模擬器。
然而,我們已經很好地遷移了工具源碼為一個更獨立的設置,現在你可以構建 Android Studio IDE 而無需一個完整 Android 檢出及 C 編譯器等等。
設置 IntelliJ 以開發 Android Studio
- 下載最新的 IJ 社區版。
給它添加一個 JDK:Project Structure | SDKs | 添加一個新的 SDK,并命名為 “IDEA jdk”。(注意這個 SDK 應該是一個標準的 JDK,而不是一個“IntelliJ Platform Plugin SDK”)
- 請使用 JDK 1.6,因為我們依然支持將 IDE 運行在 Java 6上。你可以使用更新版本的 JDK,但是你可能偶然地訪問 1.6 版不可用的 APIs,因此如果你打算上傳你的改動的話,請確保你使用的是 JDK 1.6 作為你的 IDEA 的 jdk。
如果你不是在 Mac OSX 上,請把你的 JDK 中的 tools.jar 也添加 到你的 IDEA jdk 的 classpath 中。(位于 /lib/tools.jar)
(注意:你必須已經啟用了 Groovy 和 UI Designer。它們應該是,默認情況下,但是如果你在 .groovy 文件中遇到了編譯錯誤。)
通過上面的步驟檢出代碼之后,Android 插件的代碼位于 tools/adt/idea,IntelliJ IDE 的源碼位于 tools/idea/,及大量的共享庫位于 tools/base/。
編譯 IDEA
在 IntelliJ 中,通過選擇 Open Project 并選擇文件夾 tools/idea/,來打開 Android Studio 工程。現在你可以編譯、運行及調試工程了。
通過如下命令來編譯:
$ cd tools/idea $ ./build_studio.sh(如果是在 Windows 上,且無法運行 .sh 腳本,則運行 “ant” 來替代;腳本將首先設置一些環境變量。)
在 out/artifacts 中查看編譯結果。
構建插件
檢出代碼之后,Gradle Plugin 的代碼位于 tools/base。
所有的工程在一個多模塊 Gradle 工程中一起構建。那個工程的根目錄是 tools/。
當前的 Gradle Plugin 以 Gradle 4.0 構建。為了確認你正在使用正確的版本,請在工程的根目錄中構建時,使用 gradle 包裝腳本(gradlew)。
你可以通過如下命令構建 Gradle 插件(及相關的庫):
$ ./gradlew assemble如果第一次 assemble 執行失敗,則試一下如下命令:
$ ./gradlew clean assemble要測試插件,你需要運行如下的命令:
$ ./gradlew check此外,你應該把一個設備連接到你的工作站并運行:
$ ./gradlew connectedIntegrationTest為了運行特定的 connectedIntegrationTest,則運行:
$ ./gradlew connectedIntegrationTest -D:base:integration-test:connectedIntegrationTest.single=BasicTest原文:
Build Overview
Building Android Studio
Building the Android Gradle Plugin
打賞
Done.
總結
以上是生活随笔為你收集整理的Android Studio 构建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何预编译 Android 模拟器专用内
- 下一篇: Anbox 实现分析 3:会话管理器与容