Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Side by Side Diff: docs/working_remotely_with_android.md

Issue 1314733002: Doc style: working_remotely_with_android.md (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Introduction 1 # Working remotely with Android
2 2
3 When you call `$SRC/build/android/run_tests.py` or `$SRC/build/android/run_instr umentation_tests.py` it assumes an android device is attached to the local host. 3 [TOC]
4
5 If you want to work remotely from your laptop with an android device attached to it, while keeping an ssh connection to a remote desktop machine where you have your build environment setup, you will have to use one of the two alternatives l isted below.
6 4
7 5
8 # Option 1: SSHFS - Mounting the out/Debug directory 6 ## Introduction
7
8 When you call /build/android/run_tests.py or
9 /build/android/run_instrumentation_tests.py it assumes an android device
10 is attached to the local host.
11
12 TODO: these scripts do not exist.
nodir 2015/08/24 23:32:15 not sure what to do with this
Bons 2015/08/25 00:37:58 let's keep these in TODOs and follow up after the
nodir 2015/08/25 14:45:03 Acknowledged.
13
14 If you want to work remotely from your laptop with an android device attached to
15 it, while keeping an ssh connection to a remote desktop machine where you have
16 your build environment setup, you will have to use one of the two alternatives
17 listed below.
18
19 ## Option 1: SSHFS - Mounting the out/Debug directory
9 20
10 ### On your remote host machine 21 ### On your remote host machine
11 (_you can open a regular ssh to your host_)
12 ```
13 # build it
14 desktop$ cd $SRC;
15 desktop$ . build/android/envsetup.sh
16 desktop$ build/gyp_chromium -DOS=android
17 desktop$ ninja -C out/Debug
18 ```
19 (see also AndroidBuildInstructions).
20 22
23 You can open a regular ssh to your host.
24
25 # build it
26 desktop$ cd $SRC;
27 desktop$ . build/android/envsetup.sh
28 desktop$ build/gyp_chromium -DOS=android
29 desktop$ ninja -C out/Debug
30
31 See also
32 [Android Build Instructions](https://www.chromium.org/developers/how-tos/android -build-instructions).
21 33
22 ### On your laptop 34 ### On your laptop
23 (_you have to have an android device attached to it_)
24 ```
25 # Install sshfs
26 laptop$ sudo apt-get install sshfs
27 35
28 # Mount the chrome source from your remote host machine into your local laptop. 36 You have to have an android device attached to it.
29 laptop$ mkdir ~/chrome_sshfs
30 laptop$ sshfs your.host.machine:/usr/local/code/chrome/src ./chrome_sshfs
31 37
32 # Setup enviroment. 38 # Install sshfs
33 laptop$ cd chrome_sshfs
34 laptop$ . build/android/envsetup.sh
35 laptop$ adb devices
36 laptop$ adb root
37 39
38 # Install APK (which was previously built in the host machine). 40 laptop$ sudo apt-get install sshfs
39 laptop$ python build/android/adb_install_apk.py --apk ContentShell.apk --apk_pac kage org.chromium.content_shell
40 41
41 # Run tests. 42 # Mount the chrome source from your remote host machine into your local lapt op.
42 laptop$ python build/android/run_instrumentation_tests.py -I --test-apk ContentS hellTest -vvv
43 ```
44 43
45 **This is assuming you have the exact same linux version on your host machine an d in your laptop.** 44 laptop$ mkdir ~/chrome_sshfs
45 laptop$ sshfs your.host.machine:/usr/local/code/chrome/src ./chrome_sshfs
46
47 # Setup enviroment.
48
49 laptop$ cd chrome_sshfs
50 laptop$ . build/android/envsetup.sh
51 laptop$ adb devices
52 laptop$ adb root
53
54 # Install APK (which was previously built in the host machine).
55
56 laptop$ python build/android/adb_install_apk.py --apk ContentShell.apk --apk _package org.chromium.content_shell
57
58 # Run tests.
59
60 laptop$ python build/android/run_instrumentation_tests.py -I --test-apk Cont entShellTest -vvv
61
62 *** note
63 This is assuming you have the exact same linux version on your host machine and
64 in your laptop.
65 ***
46 66
47 But if you have different versions, lets say, ubuntu lucid on your laptop, and t he newer ubuntu precise on your host machine, some binaries compiled on the host will not work on your laptop. 67 But if you have different versions, lets say, ubuntu lucid on your laptop, and t he newer ubuntu precise on your host machine, some binaries compiled on the host will not work on your laptop.
48 In this case you will have to recompile these binaries in your laptop: 68 In this case you will have to recompile these binaries in your laptop:
49 ```
50 # May need to install dependencies on your laptop.
51 laptop$ sudo ./build/install-build-deps-android.sh
52 69
53 # Rebuild the needed binaries on your laptop. 70 # May need to install dependencies on your laptop.
54 laptop$ build/gyp_chromium -DOS=android
55 laptop$ ninja -C out/Debug md5sum host_forwarder
56 ```
57 71
72 laptop$ sudo ./build/install-build-deps-android.sh
58 73
59 # Option 2: SSH Tunneling 74 # Rebuild the needed binaries on your laptop.
60 75
61 ## Option 2a: Use a script 76 laptop$ build/gyp_chromium -DOS=android
77 laptop$ ninja -C out/Debug md5sum host_forwarder
62 78
63 Copy src/tools/android/adb\_remote\_setup.sh to your laptop, then run it. adb\_r emote\_setup.sh updates itself, so you only need to copy it once. 79 ## Option 2: SSH Tunneling
64 80
65 ``` 81 ### Option 2a: Use a script
66 laptop$ curl "http://src.chromium.org/svn/trunk/src/tools/android/adb_remote_set up.sh" > adb_remote_setup.sh
67 laptop$ chmod +x adb_remote_setup.sh
68 laptop$ ./adb_remote_setup.sh <desktop_hostname> <path_to_adb_on_desktop>
69 ```
70 82
71 ## Option 2b: Manual tunneling 83 Copy /tools/android/adb_remote_setup.sh to your laptop, then run it.
84 adb_remote_setup.sh updates itself, so you only need to copy it once.
72 85
73 You have to make sure that ports 5037, 10000, ad 10201 are not being used on eit her your laptop or your desktop. 86 laptop$ curl "http://src.chromium.org/svn/trunk/src/tools/android/adb_remote _setup.sh" > adb_remote_setup.sh
74 Try the command: `netstat -nap | grep 10000` to see 87 laptop$ chmod +x adb_remote_setup.sh
88 laptop$ ./adb_remote_setup.sh <desktop_hostname> <path_to_adb_on_desktop>
89
90 ### Option 2b: Manual tunneling
91
92 You have to make sure that ports 5037, 10000, ad 10201 are not being used on
93 either your laptop or your desktop. Try the command: `netstat -nap | grep 10000`
94 to see
75 95
76 Kill the pids that are using those ports. 96 Kill the pids that are using those ports.
77 97
78 ### On your host machine 98 #### On your host machine
79 ```
80 desktop$ killall adb
81 desktop$ killall host_forwarder
82 ```
83 99
84 ### On your laptop 100 desktop$ killall adb
85 ``` 101 desktop$ killall host_forwarder
86 laptop$ ssh -C -R 5037:localhost:5037 -R 10000:localhost:10000 -R 10201:localhos t:10201 <desktop_host_name>
87 ```
88 102
89 ### On your host machine 103 #### On your laptop
90 ``` 104
91 desktop$ python build/android/run_instrumentation_tests.py -I --test-apk Content ShellTest -vvv 105 laptop$ ssh -C -R 5037:localhost:5037 -R 10000:localhost:10000 -R 10201:loca lhost:10201 <desktop_host_name>
92 ``` 106
107 #### On your host machine
108
109 desktop$ python build/android/run_instrumentation_tests.py -I --test-apk Con tentShellTest -vvv
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698