mozapkpublisher

Scripts to get and push Firefox for Android to Google Play Store


License
MPL-2.0
Install
pip install mozapkpublisher==7.0.0

Documentation

MozApkPublisher

Scripts to publish Firefox for Android on Google Play Store.

Setup and run

  1. ⚠️ You need Python >= 3.6 to run this set of scripts. Python 2 isn't supported starting version 0.5.0. Python 3.5 was removed in version 3.0.0.
  2. Create a virtualenv and source it
virtualenv -p python3 venv
source venv/bin/activate
  1. pip install -r requirements.txt
  2. python setup.py develop
  3. If using push_aab.py, download bundletool from https://github.com/google/bundletool/releases and set environment variable BUNDLETOOL_PATH=path/to/bundletool.jar
  4. Execute either mozapkpublisher/get_apk.py, or mozapkpublisher/push_apk.py, or mozapkpublisher/push_aab.py, or mozapkpublisher/update_apk_description.py
  5. Run --help to each of these script to know how to call them.

Setup in Mac OSX

  1. Install Xcode command line tools xcode-select --install
  2. Create a virtualenv and source it
  3. pip install -r requirements.txt
  4. Some errors might happen during python setup.py develop
    1. fatal error: 'openssl/opensslv.h' file not found
      1. Temporarily adjust permissions on /usr/local so brew can update:
        • sudo chgrp -R admin /usr/local
        • sudo chmod -R g+w /usr/local
      2. Install the updated version of OpenSSL (you probably use 1.0.2j):
        • brew install openssl
      3. You may want/need to delete an existing symlink to openssl from /usr/local/bin:
        • rm /usr/local/bin/openssl
      4. Re-link the proper brew version:
        • sudo ln -s /usr/local/Cellar/openssl/1.0.2i/bin/openssl /usr/local/bin/openssl
        • sudo ln -s /usr/local/Cellar/openssl/1.0.2j/include/openssl/ /usr/local/include/openssl
      5. Restore original permissions on /usr/local/bin:
        • sudo chown root:wheel /usr/local

What to do when pushapk_scriptworker doesn't work?

A guide to manually publish APKs onto Google Play Store

  1. Generate a Google Play Store json certificate. This certificate needs to have write access to the app you want to publish. In this context, "app" means Fennec, Fennec Beta or Fennec Nightly.
  2. Execute the steps defined in the section above.
  3. Download the latest signed builds. For instance, for Fennec Nightly: ./mozapkpublisher/get_apk.py --latest-nightly
./mozapkpublisher/push_apk.py --no-gp-string-update --track beta --credentials /path/to/your/googleplay/creds.json x86.apk arm.apk
  • Note beta track on Google Play, that's our way to show to people on Play Store that it's not a finished product. We don't use the "production" track for Nightly, unlike beta and release.
  1. If all goes well, add --commit to the command line and rerun it.