зеркало из https://github.com/mozilla/gecko-dev.git
39 строки
1.9 KiB
ReStructuredText
39 строки
1.9 KiB
ReStructuredText
.. -*- Mode: rst; fill-column: 100; -*-
|
|
|
|
=========================================
|
|
The Firefox for Android install bouncer
|
|
=========================================
|
|
|
|
`Bug 1234629 <https://bugzilla.mozilla.org/show_bug.cgi?id=1234629>`_ and `Bug 1163082
|
|
<https://bugzilla.mozilla.org/show_bug.cgi?id=1163082>`_ combine to allow building a very small
|
|
Fennec-like "bouncer" APK that redirects (bounces) a potential Fennec user to the marketplace of
|
|
their choice -- usually the Google Play Store -- to install the real Firefox for Android application
|
|
APK.
|
|
|
|
The real APK should install seamlessly over top of the bouncer APK. Care is taken to keep the
|
|
bouncer and application APK <permission> manifest definitions identical, and to have the bouncer APK
|
|
<activity> manifest definitions look similar to the application APK <activity> manifest definitions.
|
|
|
|
In addition, the bouncer APK can carry a Fennec distribution, which it copies onto the device before
|
|
redirecting to the marketplace. The application APK recognizes the installed distribution and
|
|
customizes itself accordingly on first run.
|
|
|
|
The motivation is to allow partners to pre-install the very small bouncer APK on shipping devices
|
|
and to have a smooth path to upgrade to the full application APK, with a partner-specific
|
|
distribution in place.
|
|
|
|
Technical details
|
|
=================
|
|
|
|
To build the bouncer APK, define ``MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER``. To pack a distribution
|
|
into the bouncer APK (and *not* into the application APK), add a line like::
|
|
|
|
ac_add_options --with-android-distribution-directory=/path/to/fennec-distribution-sample
|
|
|
|
to your ``mozconfig`` file. See the `general distribution documentation on the wiki
|
|
<https://wiki.mozilla.org/Mobile/Distribution_Files>`_ for more information.
|
|
|
|
The ``distribution`` directory should end up in the ``assets/distribution`` directory of the bouncer
|
|
APK. It will be copied into ``/data/data/$ANDROID_PACKAGE_NAME/distribution`` when the bouncer
|
|
executes.
|