2014-02-19 10:28:01 +04:00
|
|
|
.. _build_androideclipse:
|
|
|
|
|
|
|
|
========================
|
|
|
|
Android Eclipse Projects
|
|
|
|
========================
|
|
|
|
|
|
|
|
The build system contains alpha support for generating Android Eclipse
|
|
|
|
project files to aid with development.
|
|
|
|
|
|
|
|
To generate Android Eclipse project files, you'll need to have a fully
|
|
|
|
built and packaged tree::
|
|
|
|
|
|
|
|
mach build && mach package
|
|
|
|
|
|
|
|
(This is because Eclipse itself packages an APK containing
|
|
|
|
``omni.ja``, and ``omni.ja`` is only assembled during packaging.)
|
|
|
|
|
|
|
|
Then, simply generate the Android Eclipse build backend::
|
|
|
|
|
|
|
|
mach build-backend -b AndroidEclipse
|
|
|
|
|
|
|
|
If all goes well, the path to the generated projects should be
|
|
|
|
printed (currently, ``$OBJDIR/android_eclipse``).
|
|
|
|
|
|
|
|
To use the generated Android Eclipse project files, you'll need to
|
|
|
|
have a recent version of Eclipse (see `Tested Versions`_) with the
|
|
|
|
`Eclipse ADT plugin
|
|
|
|
<http://developer.android.com/tools/sdk/eclipse-adt.html>`_
|
|
|
|
installed. You can then import all the projects into Eclipse using
|
|
|
|
*File > Import ... > General > Existing Projects into Workspace*.
|
|
|
|
|
|
|
|
Updating Project Files
|
|
|
|
======================
|
|
|
|
|
|
|
|
As you pull and update the source tree, your Android Eclipse files may
|
|
|
|
fall out of sync with the build configuration. The tree should still
|
|
|
|
build fine from within Eclipse, but source files may be missing and in
|
|
|
|
rare circumstances Eclipse's index may not have the proper build
|
|
|
|
configuration.
|
|
|
|
|
|
|
|
To account for this, you'll want to periodically regenerate the
|
|
|
|
Android Eclipse project files. You can do this by running ``mach build
|
|
|
|
&& mach package && mach build-backend -b AndroidEclipse`` from the
|
|
|
|
command line. It's a good idea to refresh and clean build all projects
|
|
|
|
in Eclipse after doing this.
|
|
|
|
|
|
|
|
In future, we'd like to include an Android Eclipse run configuration
|
|
|
|
or build target that integrates updating the project files.
|
|
|
|
|
|
|
|
Currently, regeneration rewrites the original project files. **If
|
|
|
|
you've made any customizations to the projects, they will likely get
|
|
|
|
overwritten.** We would like to improve this user experience in the
|
|
|
|
future.
|
|
|
|
|
|
|
|
Troubleshooting
|
|
|
|
===============
|
|
|
|
|
|
|
|
If Eclipse's builder gets confused, you should always refresh and
|
|
|
|
clean build all projects. If Eclipse's builder is continually
|
|
|
|
confused, you can see a log of what is happening at
|
|
|
|
``$OBJDIR/android_eclipse/build.log``.
|
|
|
|
|
|
|
|
If you run into memory problems executing ``dex``, you should
|
|
|
|
`Increase Eclipse's memory limits <http://stackoverflow.com/a/11093228>`_.
|
|
|
|
|
|
|
|
The produced Android Eclipse project files are unfortunately not
|
|
|
|
portable. Please don't move them around.
|
|
|
|
|
|
|
|
Structure of Android Eclipse projects
|
|
|
|
=====================================
|
|
|
|
|
|
|
|
The Android Eclipse backend generates several projects spanning Fennec
|
|
|
|
itself and its tests. You'll mostly interact with the *Fennec* project
|
|
|
|
itself.
|
|
|
|
|
|
|
|
In future, we'd like to expand this documentation to include some of
|
|
|
|
the technical details of how the Eclipse integration works, and how to
|
|
|
|
add additional Android Eclipse projects using the ``moz.build``
|
|
|
|
system.
|
|
|
|
|
|
|
|
Tested Versions
|
|
|
|
===============
|
|
|
|
|
2014-02-19 22:01:49 +04:00
|
|
|
=============== ==================================== =================
|
|
|
|
OS Version Working as of
|
|
|
|
=============== ==================================== =================
|
|
|
|
Mac OS X Luna (Build id: 20130919-0819) February 2014
|
|
|
|
Mac OS X Kepler (Build id: 20131219-0014) February 2014
|
|
|
|
Mac OS X 10.8.5 Kepler (Build id: 20130919-0819) February 2014
|
|
|
|
=============== ==================================== =================
|