summaryrefslogtreecommitdiffstats
path: root/devtools/client/aboutdebugging/documentation/ANDROID_BUILD.md
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/aboutdebugging/documentation/ANDROID_BUILD.md')
-rw-r--r--devtools/client/aboutdebugging/documentation/ANDROID_BUILD.md60
1 files changed, 60 insertions, 0 deletions
diff --git a/devtools/client/aboutdebugging/documentation/ANDROID_BUILD.md b/devtools/client/aboutdebugging/documentation/ANDROID_BUILD.md
new file mode 100644
index 0000000000..42d1a52520
--- /dev/null
+++ b/devtools/client/aboutdebugging/documentation/ANDROID_BUILD.md
@@ -0,0 +1,60 @@
+# Build Firefox for Android
+
+## When do you need to build Firefox for Android
+
+If a remote debugging change impacts the server (file located in `devtools/server` or in `devtools/shared`), you will not be able to test it with a device which runs the release version of Firefox for Android. For the purpose of remote debugging, your local build of Firefox Desktop where you will test about:debugging runs the content of `devtools/client` (including `devtools/client/aboutdebugging`). And `devtools/server` runs on the device. So as soon as you are developing or testing a patch that needs to update the server and is about USB debugging, you need to build Firefox for Android and deploy it on a test device.
+
+## Setup your environment
+
+This will be a short documentation focused on the typical patches you may write for about:debugging. For a more complete documentation, you can refer to https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_for_Android_build.
+
+The whole setup needs to download several gigabytes of dependencies so try to have a fast internet connection to follow those steps.
+
+### Clone mozilla-central
+
+It is recommended to create a new clone of mozilla-central for your Firefox for Android builds.
+
+```
+ hg clone https://hg.mozilla.org/mozilla-central mozilla-central-android
+ cd mozilla-central-android
+```
+
+### Run bootstrap
+
+Next simply run `mach bootstrap` and select the third option `3. Firefox for Android Artifact Mode`
+
+```
+ > ./mach bootstrap
+ Please choose the version of Firefox you want to build:
+ 1. Firefox for Desktop Artifact Mode
+ 2. Firefox for Desktop
+ 3. Firefox for Android Artifact Mode
+ 4. Firefox for Android
+ > 3
+```
+
+Follow the instructions, it will take some time as it needs to download a lot of dependencies. At the end it will provide you with a template you should use to create a `.mozconfig` file. You can use the proposed content without changing anything.
+
+### Enable USB debugging on your phone
+
+If you already used your device for USB debugging, this should already be enabled, but we will repeat the steps here.
+
+In the Settings menu, choose "About" and scroll down to the Build Number option. There's a hidden option there to activate "developer mode": tap the Build Number option seven times. You’ll see a countdown, and then a "Developer Options" menu will appear in your Settings. Don’t worry — you can turn this off whenever you like. The last step is to enable USB Debugging in the Developer Options menu.
+
+## Build and deploy to your phone
+
+Connect your phone to your computer with a USB cable. Then run:
+
+```
+ ./mach build
+ ./mach package
+ ./mach install
+```
+
+At this step if you go to the list of applications on your phone, you should be able to spot a "Fennec" application. The fullname will be slightly different, for instance for me it is called "Fennec jdescottes". You can then run the application from your desktop command-line:
+
+```
+ ./mach run
+```
+
+Sometimes this will fail with `WARNING: unable to launch Firefox for Android`. In that case you can simply start the application on your phone, as you would start any other application.