Scripts to publish Firefox for Android on Google Play Store.
⚠️ You need Python >= 3.5 to run this set of scripts. Python 2 isn't supported starting version 0.5.0- Create a virtualenv and source it
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
python setup.py develop
- Execute either
mozapkpublisher/get_apk.py
, ormozapkpublisher/push_apk.py
, ormozapkpublisher/update_apk_description.py
- Run
--help
to each of these script to know how to call them.
- Install Xcode command line tools
xcode-select --install
- Create a virtualenv and source it
pip install -r requirements.txt
- Some errors might happen during
python setup.py develop
- fatal error: 'openssl/opensslv.h' file not found
- Temporarily adjust permissions on /usr/local so brew can update:
sudo chgrp -R admin /usr/local
sudo chmod -R g+w /usr/local
- Install the updated version of OpenSSL (you probably use 1.0.2j):
brew install openssl
- You may want/need to delete an existing symlink to openssl from /usr/local/bin:
rm /usr/local/bin/openssl
- 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
- Restore original permissions on /usr/local/bin:
sudo chown root:wheel /usr/local
- Temporarily adjust permissions on /usr/local so brew can update:
- fatal error: 'openssl/opensslv.h' file not found
- Some errors might happen when executing
mozapkpublisher/push_apk.py
- You might have errors like
- Errors in from_p12_keyfile in oauth2client/service_account.py or
- ImportError: cannot import name
_openssl_crypt
pip uninstall oauth2client
pip install oauth2client==2.0.0
pip install google-api-python-client==1.5.0
- Symbol not found:
_BIO_new_CMS
pip uninstall cryptography
LDFLAGS="-L/usr/local/opt/openssl/lib" pip install cryptography --no-use-wheel
- You might have errors like
A guide to manually publish APKs onto Google Play Store
- Generate a Google Play Store p12 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.
- Execute the steps defined in the section above.
- Download the latest signed builds. For instance, for Fennec Nightly:
./mozapkpublisher/get_apk.py --latest-nightly
./mozapkpublisher/push_apk.py --package-name org.mozilla.fennec_aurora --track beta --credentials /path/to/your/googleplay/creds.p12 --service-account your-service-account@iam.gserviceaccount.com --apk-x86 x86.apk --apk-armv7-v15 arm.apk --dry-run
- Note the
--dry-run
option. This will do everything needed, but commit the transaction. - Note
org.mozilla.fennec_aurora
, even though we're publishing Nightly. This is because of Bug 1354821 - 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.
- Run the above command, but without
--dry-run