Building Firefox for Android¶
Run Fenix using command line¶
As a first step, you need to set up your development environment using the instruction here.
Run Fenix or other Android projects using command line¶
From the root mozilla-central directory, you can run an emulator with the following command:
./mach android-emulator
From the mobile/android/fenix working directory, build, install and launch Fenix with:
export JAVA_HOME=$HOME/.mozbuild/jdk/jdk-<latest-version>
export ANDROID_HOME=$HOME/.mozbuild/android-sdk-<os_name>
./gradlew :app:installFenixDebug
"$ANDROID_HOME/platform-tools/adb" shell am start -n org.mozilla.fenix.debug/org.mozilla.fenix.debug.App
Run Fenix tests¶
You can run tests via all the normal routes:
For individual test files, click the little green play button at the top
For a module/component:
Right click in project explorer → run all tests
Select from gradle tasks window
On command line:
./gradlew :$module:$variant
e.g../gradlew :feature-downloads:testDebugUnitTest
If you see the error “Test events were not received”, check your top level folder - this happens if you try and run tests in Android Components from mozilla-unified/mobile/android/fenix/
.
To build tests for Android Components you need to be using the build.gradle
in mozilla-unified/mobile/android/android-components/
.
If after running tests on your Android device, you can no longer long press, this is because the connected Android tests mess around with your phone’s accessibility settings. They set the long press delay to 3 seconds, which is an uncomfortably long time. To fix this, go to Settings → Accessibility → Touch and hold delay, and reset this to default or short (depends on manufacturer).