summaryrefslogtreecommitdiffstats
path: root/devtools/client/aboutdebugging/documentation/GECKOVIEW_EXAMPLE_BUILD.md
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/aboutdebugging/documentation/GECKOVIEW_EXAMPLE_BUILD.md')
-rw-r--r--devtools/client/aboutdebugging/documentation/GECKOVIEW_EXAMPLE_BUILD.md66
1 files changed, 66 insertions, 0 deletions
diff --git a/devtools/client/aboutdebugging/documentation/GECKOVIEW_EXAMPLE_BUILD.md b/devtools/client/aboutdebugging/documentation/GECKOVIEW_EXAMPLE_BUILD.md
new file mode 100644
index 0000000000..d34c9b2dfe
--- /dev/null
+++ b/devtools/client/aboutdebugging/documentation/GECKOVIEW_EXAMPLE_BUILD.md
@@ -0,0 +1,66 @@
+# Build GeckoView Example
+
+## When do you need to build GeckoView Example
+
+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 without building your GeckoView Example. 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 GeckoView Example 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://mozilla.github.io/geckoview/ and 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 GeckoView Example builds.
+
+```
+ hg clone https://hg.mozilla.org/mozilla-central mozilla-central-gecko-view
+ cd mozilla-central-gecko-view
+```
+
+### Run bootstrap
+
+Next simply run `mach bootstrap` and select the third option `3. GeckoView/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. GeckoView/Firefox for Android Artifact Mode
+ 4. GeckoView/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 android install-geckoview_example
+```
+
+At this step if you go to the list of applications on your phone, you should be able to spot a "GeckoView Example" application.
+
+## Reflect changes
+
+If you change server files that impact GeckoView, you need to build and install again. Reflect the changes by:
+
+```
+ ./mach build faster
+ ./mach package
+ ./mach android install-geckoview_example
+```
+
+Once you built all, the changes under `devtools/server` and `devtools/shared` can be built with `faster` option. This should be faster.