OLD | NEW |
1 # Checking out and building Chromium for Android | 1 # Checking out and building Chromium for Android |
2 | 2 |
3 There are instructions for other platforms linked from the | 3 There are instructions for other platforms linked from the |
4 [get the code](get_the_code.md) page. | 4 [get the code](get_the_code.md) page. |
5 | 5 |
6 ## Instructions for Google Employees | 6 ## Instructions for Google Employees |
7 | 7 |
8 Are you a Google employee? See | 8 Are you a Google employee? See |
9 [go/building-chrome](https://goto.google.com/building-chrome) instead. | 9 [go/building-chrome](https://goto.google.com/building-chrome) instead. |
10 | 10 |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 `out/Release/apks/ContentShell.apk`. (Where `Release` is the name of your build | 217 `out/Release/apks/ContentShell.apk`. (Where `Release` is the name of your build |
218 directory.) | 218 directory.) |
219 | 219 |
220 If you use custom out dir instead of standard out/ dir, use | 220 If you use custom out dir instead of standard out/ dir, use |
221 CHROMIUM_OUT_DIR env. | 221 CHROMIUM_OUT_DIR env. |
222 | 222 |
223 ```shell | 223 ```shell |
224 export CHROMIUM_OUT_DIR=out_android | 224 export CHROMIUM_OUT_DIR=out_android |
225 ``` | 225 ``` |
226 | 226 |
227 ### Build WebView shell | 227 ### Build WebView |
228 | 228 |
229 [Android WebView](https://developer.android.com/reference/android/webkit/WebView
.html) | 229 [Android WebView](https://developer.android.com/reference/android/webkit/WebView
.html) |
230 is a system framework component. Since Android KitKat, it is implemented using | 230 is a system framework component. Since Android KitKat, it is implemented using |
231 Chromium code (based off the [content module](https://dev.chromium.org/developer
s/content-module)). | 231 Chromium code (based off the [content module](https://dev.chromium.org/developer
s/content-module)). |
232 It is possible to test modifications to WebView using a simple test shell. The | |
233 WebView shell is a view with a URL bar at the top (see [code](https://code.googl
e.com/p/chromium/codesearch#chromium/src/android_webview/test/shell/src/org/chro
mium/android_webview/test/AwTestContainerView.java)) | |
234 and is **independent** of the WebView **implementation in the Android system** ( | |
235 the WebView shell is essentially a standalone unbundled app). | |
236 As drawback, the shell runs in non-production rendering mode only. | |
237 | 232 |
238 ```shell | 233 If you want to build the complete Android WebView framework component and test |
239 ninja -C out/Release android_webview_apk | 234 the effect of your chromium changes in Android apps using WebView, you should |
240 build/android/adb_install_apk.py out/Release/apks/AndroidWebView.apk | 235 follow the [Android AOSP + chromium WebView |
241 ``` | 236 instructions](https://www.chromium.org/developers/how-tos/build-instructions-and
roid-webview) |
242 | |
243 If, instead, you want to build the complete Android WebView framework component
and test the effect of your chromium changes in other Android app using the WebV
iew, you should follow the [Android AOSP + chromium WebView instructions](https:
//www.chromium.org/developers/how-tos/build-instructions-android-webview) | |
244 | 237 |
245 ### Running | 238 ### Running |
246 | 239 |
247 Set [command line flags](https://www.chromium.org/developers/how-tos/run-chromiu
m-with-flags) if necessary. | 240 Set [command line flags](https://www.chromium.org/developers/how-tos/run-chromiu
m-with-flags) if necessary. |
248 | 241 |
249 For Content shell: | 242 For Content shell: |
250 | 243 |
251 ```shell | 244 ```shell |
252 build/android/adb_run_content_shell http://example.com | 245 build/android/adb_run_content_shell http://example.com |
253 ``` | 246 ``` |
254 | 247 |
255 For Chrome public: | 248 For Chrome public: |
256 | 249 |
257 ```shell | 250 ```shell |
258 build/android/adb_run_chrome_public http://example.com | 251 build/android/adb_run_chrome_public http://example.com |
259 ``` | 252 ``` |
260 | 253 |
261 For Android WebView shell: | |
262 | |
263 ```shell | |
264 build/android/adb_run_android_webview_shell http://example.com | |
265 ``` | |
266 | |
267 ### Logging and debugging | 254 ### Logging and debugging |
268 | 255 |
269 Logging is often the easiest way to understand code flow. In C++ you can print | 256 Logging is often the easiest way to understand code flow. In C++ you can print |
270 log statements using the LOG macro or printf(). In Java, you can print log | 257 log statements using the LOG macro or printf(). In Java, you can print log |
271 statements using [android.util.Log](https://developer.android.com/reference/andr
oid/util/Log.html): | 258 statements using [android.util.Log](https://developer.android.com/reference/andr
oid/util/Log.html): |
272 | 259 |
273 `Log.d("sometag", "Reticulating splines progress = " + progress);` | 260 `Log.d("sometag", "Reticulating splines progress = " + progress);` |
274 | 261 |
275 You can see these log statements using adb logcat: | 262 You can see these log statements using adb logcat: |
276 | 263 |
277 ```shell | 264 ```shell |
278 adb logcat...01-14 11:08:53.373 22693 23070 D sometag: Reticulating splines prog
ress = 0.99 | 265 adb logcat...01-14 11:08:53.373 22693 23070 D sometag: Reticulating splines prog
ress = 0.99 |
279 ``` | 266 ``` |
280 | 267 |
281 You can debug Java or C++ code. To debug C++ code, use one of the | 268 You can debug Java or C++ code. To debug C++ code, use one of the |
282 following commands: | 269 following commands: |
283 | 270 |
284 ```shell | 271 ```shell |
285 build/android/adb_gdb_content_shell | 272 build/android/adb_gdb_content_shell |
286 build/android/adb_gdb_chrome_public | 273 build/android/adb_gdb_chrome_public |
287 build/android/adb_gdb_android_webview_shell http://example.com | |
288 ``` | 274 ``` |
289 | 275 |
290 See [Debugging Chromium on Android](https://www.chromium.org/developers/how-tos/
debugging-on-android) | 276 See [Debugging Chromium on Android](https://www.chromium.org/developers/how-tos/
debugging-on-android) |
291 for more on debugging, including how to debug Java code. | 277 for more on debugging, including how to debug Java code. |
292 | 278 |
293 ### Testing | 279 ### Testing |
294 | 280 |
295 For information on running tests, see [android\_test\_instructions.md](https://c
hromium.googlesource.com/chromium/src/+/master/docs/android_test_instructions.md
). | 281 For information on running tests, see [android\_test\_instructions.md](https://c
hromium.googlesource.com/chromium/src/+/master/docs/android_test_instructions.md
). |
296 | 282 |
297 ### Faster Edit/Deploy (GN only) | 283 ### Faster Edit/Deploy (GN only) |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 release of Chrome for Android (v25+) you can do the following steps. | 349 release of Chrome for Android (v25+) you can do the following steps. |
364 Note that in order to get your changes into the official release, you'll | 350 Note that in order to get your changes into the official release, you'll |
365 need to send your change for a codereview using the regular process for | 351 need to send your change for a codereview using the regular process for |
366 committing code to chromium. | 352 committing code to chromium. |
367 | 353 |
368 1. Open Chrome on your Android device and visit chrome://version | 354 1. Open Chrome on your Android device and visit chrome://version |
369 2. Copy down the id listed next to "Build ID:" | 355 2. Copy down the id listed next to "Build ID:" |
370 3. Go to | 356 3. Go to |
371 [http://storage.googleapis.com/chrome-browser-components/BUILD\_ID\_FROM\_ST
EP\_2/index.html](http://storage.googleapis.com/chrome-browser-components/BUILD_
ID_FROM_STEP_2/index.html) | 357 [http://storage.googleapis.com/chrome-browser-components/BUILD\_ID\_FROM\_ST
EP\_2/index.html](http://storage.googleapis.com/chrome-browser-components/BUILD_
ID_FROM_STEP_2/index.html) |
372 4. Download the listed files and follow the steps in the README. | 358 4. Download the listed files and follow the steps in the README. |
OLD | NEW |