Add-ons using the techniques described in this document are considered a legacy technology in Firefox. Don't use these techniques to develop new add-ons. Use WebExtensions instead. If you maintain an add-on which uses the techniques described here, consider migrating it to use WebExtensions.
Starting from Firefox 53, no new legacy add-ons will be accepted on addons.mozilla.org (AMO) for desktop Firefox and Firefox for Android.
Starting from Firefox 57, WebExtensions will be the only supported extension type. Desktop Firefox and Firefox for Android will not load other extension types.
Even before Firefox 57, changes coming up in the Firefox platform will break many legacy extensions. These changes include multiprocess Firefox (e10s), sandboxing, and multiple content processes. Legacy extensions that are affected by these changes should migrate to WebExtensions if they can. See the "Compatibility Milestones" document for more information.
A wiki page containing resources, migration paths, office hours, and more, is available to help developers transition to the new technologies.
Set up an easy testing environment
While you're developing your add-on, it will be very important to have a way to test and run snippets of code; development will go very slowly if you have to build and install your entire app every time you need to test something. Once all of your snippets are working together, then you can start worrying about bringing together all of the add-on files to build the complete app (bootstrap.js, etc.). You can do this using WebIDE, by connecting your device to your development workstation.
Connecting your development environment and your mobile device
You can run code snippets from your development environment on your mobile device using the WebIDE.
- Connect your mobile device to your computer with a USB cable.
- Open WebIDE (Tools > Web Developer > WebIDE) on your computer.
- On your mobile device, enable remote debugging (Settings > Developer Options > check "USB debugging").
- Note: You may need to Enable Developer Settings before you can access the Developer Options.
- Continue to setup the runtime environment with WebIDE, follow the steps outlined in Debugging Firefox for Android with WebIDE.
- You should now see your device in the drop-down menu at the right of the screen. Select it, then select Main Process from the menu on the left.
Now you're ready to start testing code snippets!