build/docs/androideclipse.rst

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 .. _build_androideclipse:
     3 ========================
     4 Android Eclipse Projects
     5 ========================
     7 The build system contains alpha support for generating Android Eclipse
     8 project files to aid with development.
    10 To generate Android Eclipse project files, you'll need to have a fully
    11 built and packaged tree::
    13    mach build && mach package
    15 (This is because Eclipse itself packages an APK containing
    16 ``omni.ja``, and ``omni.ja`` is only assembled during packaging.)
    18 Then, simply generate the Android Eclipse build backend::
    20    mach build-backend -b AndroidEclipse
    22 If all goes well, the path to the generated projects should be
    23 printed (currently, ``$OBJDIR/android_eclipse``).
    25 To use the generated Android Eclipse project files, you'll need to
    26 have a recent version of Eclipse (see `Tested Versions`_) with the
    27 `Eclipse ADT plugin
    28 <http://developer.android.com/tools/sdk/eclipse-adt.html>`_
    29 installed. You can then import all the projects into Eclipse using
    30 *File > Import ... > General > Existing Projects into Workspace*.
    32 Updating Project Files
    33 ======================
    35 As you pull and update the source tree, your Android Eclipse files may
    36 fall out of sync with the build configuration. The tree should still
    37 build fine from within Eclipse, but source files may be missing and in
    38 rare circumstances Eclipse's index may not have the proper build
    39 configuration.
    41 To account for this, you'll want to periodically regenerate the
    42 Android Eclipse project files. You can do this by running ``mach build
    43 && mach package && mach build-backend -b AndroidEclipse`` from the
    44 command line. It's a good idea to refresh and clean build all projects
    45 in Eclipse after doing this.
    47 In future, we'd like to include an Android Eclipse run configuration
    48 or build target that integrates updating the project files.
    50 Currently, regeneration rewrites the original project files. **If
    51 you've made any customizations to the projects, they will likely get
    52 overwritten.** We would like to improve this user experience in the
    53 future.
    55 Troubleshooting
    56 ===============
    58 If Eclipse's builder gets confused, you should always refresh and
    59 clean build all projects. If Eclipse's builder is continually
    60 confused, you can see a log of what is happening at
    61 ``$OBJDIR/android_eclipse/build.log``.
    63 If you run into memory problems executing ``dex``, you should
    64 `Increase Eclipse's memory limits <http://stackoverflow.com/a/11093228>`_.
    66 The produced Android Eclipse project files are unfortunately not
    67 portable. Please don't move them around.
    69 Structure of Android Eclipse projects
    70 =====================================
    72 The Android Eclipse backend generates several projects spanning Fennec
    73 itself and its tests. You'll mostly interact with the *Fennec* project
    74 itself.
    76 In future, we'd like to expand this documentation to include some of
    77 the technical details of how the Eclipse integration works, and how to
    78 add additional Android Eclipse projects using the ``moz.build``
    79 system.
    81 Tested Versions
    82 ===============
    84 ===============    ====================================    =================
    85 OS                 Version                                 Working as of
    86 ===============    ====================================    =================
    87 Mac OS X           Luna (Build id: 20130919-0819)          February 2014
    88 Mac OS X           Kepler (Build id: 20131219-0014)        February 2014
    89 Mac OS X 10.8.5    Kepler (Build id: 20130919-0819)        February 2014
    90 ===============    ====================================    =================

mercurial