https for buildserver.labs.intellij.net
[idea/adt-tools-base.git] / studio.md
1 # Build Android Studio Source Code
2
3 If you haven’t already done so, [download the Android Studio source code](/source.md) so that you
4 have a local copy of the following projects:
5
6  * Android plugin source code: `<studio-master-dev>/tools/adt/idea`
7  * IntelliJ IDE base: `<studio-master-dev>/tools/idea/`
8  * Shared library dependencies: `<studio-master-dev>/tools/base/`.
9
10 To learn how to build the Android plugin for Gradle from source, read
11 [The Android Gradle plugin](/build-system/README.md).
12
13 ## Run Bazel
14
15 *** note
16 Note that this does not apply to AOSP currently
17 [Issue 126764883](https://issuetracker.google.com/126764883).
18 The required binaries are checked in as prebuilts. You should ignore this
19 section if building from AOSP.
20 ***
21
22 In order to successfully build Android Studio from source, you’ll need to make sure that you’re able
23 to run the revision-controlled executable of Bazel that's located in the
24 `<studio-master-dev>/tools/base/bazel/` directory:
25
26 ```
27 $ cd studio-master-dev/
28 $ tools/base/bazel/bazel version
29   Build label: …
30   Build target: …
31   …
32 ```
33
34 To make sure Bazel can execute Android Studio build tasks, try running the following command:
35
36 ```
37 $ bazel build <studio-master-dev>/tools/adt/idea/android:profiler-artifacts
38 ```
39
40 To learn more about running Bazel (including running tests), read
41 [Building Studio with Bazel](bazel/README.md).
42
43
44 ## Install prerequisites for Windows users
45
46 If you're on Windows, you need to complete the following steps before you build AS from the
47 command-line:
48
49 1. ___Install Python 2.7 or higher:___ Ensure you have Python installed on your windows machine, and
50    the path to `python.exe` is added to your `PATH` environment variable.
51    __Note:__ It is recommend you use the 64-bit version, although the 32-bit version should work
52    fine.
53
54 2. __Install msys2:__ When building Android Studio, Bazel expects to find msys2 installed at
55    `c:\tools\msys2\`. Otherwise, you get a build error.
56 3. __Install
57    [Visual Studio 2015 build tools](http://landinghub.visualstudio.com/visual-cpp-build-tools)__:
58    Otherwise, you get a build error.
59 4. __Install Git for Windows:__ If you haven’t already done so, download and install
60    [Git for Windows (64-bit)](https://git-scm.com/downloads):
61    1. Enable the option to __Use Git from the Windows Command Prompt__.
62    1. Enable the option to __Checkout Windows-style, commit Unix-style line endings__.
63    1. Add Git for Windows to your `PATH` environment variable.
64    1. Configure Git to support long paths (that is, paths longer than 260 characters):
65       ```
66       C:> git config --global core.longpaths true
67       ```
68    1. Set the following PATH environment variables:
69       ```
70       C:> set PATH=%PATH%; %LOCALAPPDATA%\Programs\Git;%LOCALAPPDATA%\Programs\Git\Cmd;%LOCALAPPDATA%\Programs\Git\usr\bin;%USERPROFILE%\bin
71       ```
72 5. __Download and install [git-repo](https://gerrit.googlesource.com/git-repo/)__ and include it in
73    your `PATH` environment variable.
74 6. __Download the Android SDK.__ You can do this in one of two ways:
75    1. Use the [SDK Manager](https://developer.android.com/studio/intro/update.html#sdk-manager) from
76       a pre-installed version of Android Studio.
77    1. Download the [SDK command line tools](https://developer.android.com/studio/index.html#Other),
78       and then use the
79       [sdkmanager command line tool](https://developer.android.com/studio/command-line/sdkmanager.html)
80       to download an Android SDK package.
81
82 ## Build Android Studio using IntelliJ
83
84 If you are interested in making changes to the Android Studio codebase and building the IDE from
85 source, you can do so [using IntelliJ](http://www.jetbrains.com/idea/documentation/).
86 To begin, you need to first configure a new project from the Android Studio source code, as follows:
87
88 1. Download and install the latest version of
89    [IntelliJ IDEA Community Edition](https://www.jetbrains.com/idea/download).
90 2. Open IntelliJ IDEA and
91    [create a new project](https://www.jetbrains.com/help/idea/new-project-wizard.html).
92 3. When prompted to select the source directory for your project, select
93    `<studio-master-dev>/tools/idea/` and click __OK__.
94 4. Keep clicking __Next__ until you are prompted to select the project SDK.
95 5. Point IntelliJ to your local JDK, as follows:
96    1. Select __IDEA jdk__ from the left pane.
97    1. While __IDEA jdk__ is highlighted, click __Add new SDK (+) &gt; JDK__.
98       __Note:__ The SDK you add should be a standard JDK, NOT an "IntelliJ Platform Plugin SDK".
99    1. Navigate to where you downloaded the Android source code and select the JDK package included
100       in `prebuilts/studio/jdk/`
101    1. If you are on __Linux or Windows__, also add `<jdk-path>/lib/tools.jar` to the __IDEA jdk__
102       classpath.
103 6. Keep clicking __Next__ until IntelliJ creates your project.
104 7. After the IntelliJ finishes creating your project, click __Build &gt; Rebuild Project__ from the
105    menu bar.
106    * If you see issues compiling .kt files, make sure that you've installed the Kotlin plugin
107 8. Select __AndroidStudio__ from the __Configurations__ pulldown menu near the top right of the IDE.
108
109 __Note:__ If you run into issues compiling `*.groovy` files, make sure you
110 [enable the Groovy plugin](https://www.jetbrains.com/help/idea/getting-started-with-groovy.html).
111
112 To build Android Studio, click the __Run__ button (which looks like a green ‘play’ button) near the
113 top right corner of the IDE.
114
115 ## Building from the command line
116
117 To build Android Studio from the command line, run the bash shell as Administrator and execute the
118 following commands:
119
120 ```
121 $ cd studio-master-dev/tools/idea
122 $ ./build_studio.sh
123 ```
124
125 __Windows users:__ to build Android Studio from the command line from a Windows machine, run
126 Command Prompt as Administrator and execute the following commands:
127
128 ```
129 $ cd studio-master-dev/tools/idea
130 $ ant
131 ```
132
133 You should find compressed build artifacts in `studio-master-dev/out/artifacts/`.
134 To run the version of Android Studio you just built, extract the artifact for your OS,
135 and then run either `/bin/studio.sh` or `\bin\studio.exe` from the extracted directory.
136
137
138 ## Common issues
139
140 * __Error: java: package com.sun.source.tree does not exist__: Make sure to add `tools.jar` to the
141 "IDEA jdk" configuration, as explained above in [Build Android Studio using IntelliJ](#build-android-studio-using-intellij).
142 * __java.lang.UnsatisfiedLinkError: C:\cygwin64\home\...\tools\idea\bin\win\jumplistbridge64.dll:
143   Access is denied__:
144   You may get this exception if you are trying to load and run the IDE project on Windows using
145   Cygwin. To fix this issue, grant execute permissions to necessary files by opening a command
146   prompt as Administrator and running the following command:
147
148   ```
149   icacls C:\cygwin64\home\Android\aosp\tools\idea\bin\win\* /grant Everyone:(RX)
150   ```
151
152   Alternatively, you can navigate to the `tools\bin\win\` directory and perform the following
153   actions for each `.exe` and `.dll` file:
154   1. Right-click on a file.
155   2. Select __Properties__ to open a dialog.
156   3. Click on the __Security__ tab.
157   4. Click __Edit__.
158   5. Enable execute permission.
159   6. Click __OK__.