Tags
Recent updates to mach provide support for running and debugging Firefox for Android.
When run from a Firefox for Android context, ‘mach run’ starts Firefox on a connected Android device. As with other Android mach commands, if no device is found, mach offers to start an emulator, and if Firefox is not installed, mach offers to install it.
gbrown@mozpad:~/src$ ./mach run
No Android devices connected. Start an emulator? (Y/n) y
Starting emulator running Android 4.3...
It looks like Firefox is not installed on this device.
Install Firefox? (Y/n) y
Installing Firefox. This may take a while...
1:22.97 /usr/bin/make -C . -j8 -s -w install
1:32.04 make: Entering directory `/home/gbrown/objdirs/droid'
1:47.48 2729 KB/s (42924584 bytes in 15.358s)
1:48.22 pkg: /data/local/tmp/fennec-45.0a1.en-US.android-arm.apk
2:05.97 Success
2:06.34 make: Leaving directory `/home/gbrown/objdirs/droid'
Starting: Intent { act=android.activity.MAIN cmp=org.mozilla.fennec_gbrown/.App }
Parameters can be passed to Firefox on the command line. For example, ‘mach run –guest’ starts Firefox in guest mode.
mach also supports gdb-based debugging with JimDB, :jchen’s celebrated fork of gdb for Firefox for Android. ‘mach run –debug’ starts JimDB. If necessary, mach will even fetch, install, and configure JimDB for you.
$ ./mach run --debug JimDB (arm) not found: /home/gbrown/.mozbuild/android-device/jimdb-arm does not exist Download and setup JimDB (arm)? (Y/n) y Installing JimDB (linux64/arm). This may take a while... From https://github.com/darchons/android-gdbutils * [new branch] master -> origin/master * [new tag] gdbutils-2 -> gdbutils-2 * [new tag] initial-release -> initial-release 1:45.57 /home/gbrown/.mozbuild/android-device/jimdb-arm/bin/gdb -q --args Fennec GDB utilities (see utils/gdbinit and utils/gdbinit.local on how to configure settings) 1. Debug Fennec (default) 2. Debug Fennec with env vars and args 3. Debug using jdb 4. Debug content Mochitest 5. Debug compiled-code unit test 6. Debug Fennec with pid Enter option from above: 1 New ADB device is "emulator-5554" Using device emulator-5554 Using object directory: /home/gbrown/objdirs/droid Set sysroot to "/home/gbrown/.mozbuild/android-device/jimdb-arm/lib/emulator-5554". Updated solib-search-path. Ignoring BHM signal. Using package org.mozilla.fennec_gbrown. Launching org.mozilla.fennec_gbrown... Done Attaching to pid 674... Done Setting up remote debugging... Done Ready. Use "continue" to resume execution. : No such file or directory. (gdb)
See https://wiki.mozilla.org/Mobile/Fennec/Android/GDB for more info on JimDB.