summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authornodir <nodir@chromium.org>2015-08-25 07:55:52 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-25 14:56:31 +0000
commit02eda38ccd4f71913e6e060b5261d79ee1161a6f (patch)
tree65ea5e613793983dad839571af6b1c66879a2d3e /docs
parentb116d0f5baade8fd421eed02833f793dbd6f2c8b (diff)
downloadchromium_src-02eda38ccd4f71913e6e060b5261d79ee1161a6f.zip
chromium_src-02eda38ccd4f71913e6e060b5261d79ee1161a6f.tar.gz
chromium_src-02eda38ccd4f71913e6e060b5261d79ee1161a6f.tar.bz2
Doc style: working_remotely_with_android.md
R=andybons@chromium.org BUG=524256 Review URL: https://codereview.chromium.org/1314733002 Cr-Commit-Position: refs/heads/master@{#345320}
Diffstat (limited to 'docs')
-rw-r--r--docs/working_remotely_with_android.md93
1 files changed, 61 insertions, 32 deletions
diff --git a/docs/working_remotely_with_android.md b/docs/working_remotely_with_android.md
index 3def5f7..1452d8c 100644
--- a/docs/working_remotely_with_android.md
+++ b/docs/working_remotely_with_android.md
@@ -1,92 +1,121 @@
-# Introduction
+# Working remotely with Android
-When you call `$SRC/build/android/run_tests.py` or `$SRC/build/android/run_instrumentation_tests.py` it assumes an android device is attached to the local host.
+[TOC]
-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 listed below.
+## Introduction
-# Option 1: SSHFS - Mounting the out/Debug directory
+When you call /build/android/run_tests.py or
+/build/android/run_instrumentation_tests.py it assumes an android device
+is attached to the local host.
+
+TODO: these scripts do not exist.
+
+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
+listed below.
+
+## Option 1: SSHFS - Mounting the out/Debug directory
### On your remote host machine
-(_you can open a regular ssh to your host_)
-```
-# build it
-desktop$ cd $SRC;
-desktop$ . build/android/envsetup.sh
-desktop$ build/gyp_chromium -DOS=android
-desktop$ ninja -C out/Debug
-```
-(see also AndroidBuildInstructions).
+You can open a regular ssh to your host.
+
+ # build it
+ desktop$ cd $SRC;
+ desktop$ . build/android/envsetup.sh
+ desktop$ build/gyp_chromium -DOS=android
+ desktop$ ninja -C out/Debug
+
+See also
+[Android Build Instructions](https://www.chromium.org/developers/how-tos/android-build-instructions).
### On your laptop
-(_you have to have an android device attached to it_)
-```
+
+You have to have an android device attached to it.
+
+```shell
# Install sshfs
+
laptop$ sudo apt-get install sshfs
# Mount the chrome source from your remote host machine into your local laptop.
+
laptop$ mkdir ~/chrome_sshfs
laptop$ sshfs your.host.machine:/usr/local/code/chrome/src ./chrome_sshfs
# Setup enviroment.
+
laptop$ cd chrome_sshfs
laptop$ . build/android/envsetup.sh
laptop$ adb devices
laptop$ adb root
# Install APK (which was previously built in the host machine).
+
laptop$ python build/android/adb_install_apk.py --apk ContentShell.apk --apk_package org.chromium.content_shell
# Run tests.
+
laptop$ python build/android/run_instrumentation_tests.py -I --test-apk ContentShellTest -vvv
```
-**This is assuming you have the exact same linux version on your host machine and in your laptop.**
+*** note
+This is assuming you have the exact same linux version on your host machine and
+in your laptop.
+***
But if you have different versions, lets say, ubuntu lucid on your laptop, and the newer ubuntu precise on your host machine, some binaries compiled on the host will not work on your laptop.
In this case you will have to recompile these binaries in your laptop:
-```
+
+```shell
# May need to install dependencies on your laptop.
+
laptop$ sudo ./build/install-build-deps-android.sh
# Rebuild the needed binaries on your laptop.
+
laptop$ build/gyp_chromium -DOS=android
laptop$ ninja -C out/Debug md5sum host_forwarder
```
+## Option 2: SSH Tunneling
-# Option 2: SSH Tunneling
+### Option 2a: Use a script
-## Option 2a: Use a script
+Copy /tools/android/adb_remote_setup.sh to your laptop, then run it.
+adb_remote_setup.sh updates itself, so you only need to copy it once.
-Copy src/tools/android/adb\_remote\_setup.sh to your laptop, then run it. adb\_remote\_setup.sh updates itself, so you only need to copy it once.
-
-```
+```shell
laptop$ curl "http://src.chromium.org/svn/trunk/src/tools/android/adb_remote_setup.sh" > adb_remote_setup.sh
laptop$ chmod +x adb_remote_setup.sh
laptop$ ./adb_remote_setup.sh <desktop_hostname> <path_to_adb_on_desktop>
```
-## Option 2b: Manual tunneling
+### Option 2b: Manual tunneling
-You have to make sure that ports 5037, 10000, ad 10201 are not being used on either your laptop or your desktop.
-Try the command: `netstat -nap | grep 10000` to see
+You have to make sure that ports 5037, 10000, ad 10201 are not being used on
+either your laptop or your desktop. Try the command: `netstat -nap | grep 10000`
+to see
Kill the pids that are using those ports.
-### On your host machine
-```
+#### On your host machine
+
+```shell
desktop$ killall adb
desktop$ killall host_forwarder
```
-### On your laptop
-```
+#### On your laptop
+
+```shell
laptop$ ssh -C -R 5037:localhost:5037 -R 10000:localhost:10000 -R 10201:localhost:10201 <desktop_host_name>
```
-### On your host machine
-```
+#### On your host machine
+
+```shell
desktop$ python build/android/run_instrumentation_tests.py -I --test-apk ContentShellTest -vvv
-``` \ No newline at end of file
+```