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 Google employee? See [go/building-chrome](https://goto.google.com/building-chrom
e) instead. | 10 Google employee? See [go/building-chrome](https://goto.google.com/building-chrom
e) instead. |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 | 216 |
217 ```shell | 217 ```shell |
218 CHROMIUM_OUTPUT_DIR=$gndir build/android/adb_install_apk.py $gndir/apks/ChromePu
blic.apk # for gn. | 218 CHROMIUM_OUTPUT_DIR=$gndir build/android/adb_install_apk.py $gndir/apks/ChromePu
blic.apk # for gn. |
219 ``` | 219 ``` |
220 | 220 |
221 The app will appear on the device as "Chromium". | 221 The app will appear on the device as "Chromium". |
222 | 222 |
223 ### Build Content shell | 223 ### Build Content shell |
224 | 224 |
225 Wraps the content module (but not the /chrome embedder). See | 225 Wraps the content module (but not the /chrome embedder). See |
226 [http://www.chromium.org/developers/content-module](http://www.chromium.org/deve
lopers/content-module) | 226 [https://www.chromium.org/developers/content-module](https://www.chromium.org/de
velopers/content-module) |
227 for details on the content module and content shell. | 227 for details on the content module and content shell. |
228 | 228 |
229 ```shell | 229 ```shell |
230 ninja -C out/Release content_shell_apk | 230 ninja -C out/Release content_shell_apk |
231 build/android/adb_install_apk.py out/Release/apks/ContentShell.apk | 231 build/android/adb_install_apk.py out/Release/apks/ContentShell.apk |
232 ``` | 232 ``` |
233 | 233 |
234 this will build and install an Android apk under | 234 this will build and install an Android apk under |
235 `out/Release/apks/ContentShell.apk`. (Where `Release` is the name of your build | 235 `out/Release/apks/ContentShell.apk`. (Where `Release` is the name of your build |
236 directory.) | 236 directory.) |
237 | 237 |
238 If you use custom out dir instead of standard out/ dir, use | 238 If you use custom out dir instead of standard out/ dir, use |
239 CHROMIUM_OUT_DIR env. | 239 CHROMIUM_OUT_DIR env. |
240 | 240 |
241 ```shell | 241 ```shell |
242 export CHROMIUM_OUT_DIR=out_android | 242 export CHROMIUM_OUT_DIR=out_android |
243 ``` | 243 ``` |
244 | 244 |
245 ### Build WebView shell | 245 ### Build WebView shell |
246 | 246 |
247 [Android WebView](http://developer.android.com/reference/android/webkit/WebView.
html) | 247 [Android WebView](https://developer.android.com/reference/android/webkit/WebView
.html) |
248 is a system framework component. Since Android KitKat, it is implemented using | 248 is a system framework component. Since Android KitKat, it is implemented using |
249 Chromium code (based off the [content module](http://dev.chromium.org/developers
/content-module)). | 249 Chromium code (based off the [content module](https://dev.chromium.org/developer
s/content-module)). |
250 It is possible to test modifications to WebView using a simple test shell. The | 250 It is possible to test modifications to WebView using a simple test shell. The |
251 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)) | 251 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)) |
252 and is **independent** of the WebView **implementation in the Android system** ( | 252 and is **independent** of the WebView **implementation in the Android system** ( |
253 the WebView shell is essentially a standalone unbundled app). | 253 the WebView shell is essentially a standalone unbundled app). |
254 As drawback, the shell runs in non-production rendering mode only. | 254 As drawback, the shell runs in non-production rendering mode only. |
255 | 255 |
256 ```shell | 256 ```shell |
257 ninja -C out/Release android_webview_apk | 257 ninja -C out/Release android_webview_apk |
258 build/android/adb_install_apk.py out/Release/apks/AndroidWebView.apk | 258 build/android/adb_install_apk.py out/Release/apks/AndroidWebView.apk |
259 ``` | 259 ``` |
260 | 260 |
261 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](http:/
/www.chromium.org/developers/how-tos/build-instructions-android-webview) | 261 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) |
262 | 262 |
263 ### Running | 263 ### Running |
264 | 264 |
265 Set [command line flags](https://www.chromium.org/developers/how-tos/run-chromiu
m-with-flags) if necessary. | 265 Set [command line flags](https://www.chromium.org/developers/how-tos/run-chromiu
m-with-flags) if necessary. |
266 | 266 |
267 For Content shell: | 267 For Content shell: |
268 | 268 |
269 ```shell | 269 ```shell |
270 build/android/adb_run_content_shell http://example.com | 270 build/android/adb_run_content_shell http://example.com |
271 ``` | 271 ``` |
272 | 272 |
273 For Chrome public: | 273 For Chrome public: |
274 | 274 |
275 ```shell | 275 ```shell |
276 build/android/adb_run_chrome_public http://example.com | 276 build/android/adb_run_chrome_public http://example.com |
277 ``` | 277 ``` |
278 | 278 |
279 For Android WebView shell: | 279 For Android WebView shell: |
280 | 280 |
281 ```shell | 281 ```shell |
282 build/android/adb_run_android_webview_shell http://example.com | 282 build/android/adb_run_android_webview_shell http://example.com |
283 ``` | 283 ``` |
284 | 284 |
285 ### Logging and debugging | 285 ### Logging and debugging |
286 | 286 |
287 Logging is often the easiest way to understand code flow. In C++ you can print | 287 Logging is often the easiest way to understand code flow. In C++ you can print |
288 log statements using the LOG macro or printf(). In Java, you can print log | 288 log statements using the LOG macro or printf(). In Java, you can print log |
289 statements using [android.util.Log](http://developer.android.com/reference/andro
id/util/Log.html): | 289 statements using [android.util.Log](https://developer.android.com/reference/andr
oid/util/Log.html): |
290 | 290 |
291 `Log.d("sometag", "Reticulating splines progress = " + progress);` | 291 `Log.d("sometag", "Reticulating splines progress = " + progress);` |
292 | 292 |
293 You can see these log statements using adb logcat: | 293 You can see these log statements using adb logcat: |
294 | 294 |
295 ```shell | 295 ```shell |
296 adb logcat...01-14 11:08:53.373 22693 23070 D sometag: Reticulating splines prog
ress = 0.99 | 296 adb logcat...01-14 11:08:53.373 22693 23070 D sometag: Reticulating splines prog
ress = 0.99 |
297 ``` | 297 ``` |
298 | 298 |
299 You can debug Java or C++ code. To debug C++ code, use one of the | 299 You can debug Java or C++ code. To debug C++ code, use one of the |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
359 release of Chrome for Android (v25+) you can do the following steps. | 359 release of Chrome for Android (v25+) you can do the following steps. |
360 Note that in order to get your changes into the official release, you'll | 360 Note that in order to get your changes into the official release, you'll |
361 need to send your change for a codereview using the regular process for | 361 need to send your change for a codereview using the regular process for |
362 committing code to chromium. | 362 committing code to chromium. |
363 | 363 |
364 1. Open Chrome on your Android device and visit chrome://version | 364 1. Open Chrome on your Android device and visit chrome://version |
365 2. Copy down the id listed next to "Build ID:" | 365 2. Copy down the id listed next to "Build ID:" |
366 3. Go to | 366 3. Go to |
367 [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) | 367 [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) |
368 4. Download the listed files and follow the steps in the README. | 368 4. Download the listed files and follow the steps in the README. |
OLD | NEW |