Mobile VPN app for Mysterium Network.
- Install Android Studio
brew cask install android-platform-tools
- Download project's firebase crashlytics config -
google-services.json
from https://console.firebase.google.com/u/1/project/mysterium-vpn/overview and place it inandroid/app
-
Build Mysterium Node from source code:
util_scripts/build-node.sh
-
Uncomment local dependency in
android/app/build.gradle
://implementation 'network.mysterium:mobile-node:0.8.1' implementation files('libs/Mysterium.aar')
-
Install Fastlane (if don't have it yet)
brew cask install fastlane
-
Make release build:
source fastlane/.env.local && fastlane android build
APK will be available under android/app/build/outputs/apk/release/app-release.apk
You can install this APK by:
- uploading it to phone, or
- using
adb install android/app/build/outputs/apk/release/app-release.apk
-
Get
google-services.json
:- Go to https://console.firebase.google.com
- Open android project
- Download
google-services.json
- Put it to
android/app/google-services.json
-
Create signing key:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
More info: https://facebook.github.io/react-native/docs/signed-apk-android#generating-a-signing-key
-
Setup values in environment:
cp fastlane/.env.local.dist fastlane/.env.local
vim fastlane/.env.local
- Setup Fastlane, more info in fastlane/README.md
- Create a PR with bumped fastlane/android_version_code (Google play store requires new version code for each release).
- Ater merge to master create new tag in github repository. See example commit.
Public releases are promoted and managed from the Google Play Console.
Repository contains Dockerfile which includes OpenJDK and Fastlane to build, test and publish Android from Docker.
TAG=1.0.0
docker build -t mysteriumnetwork/mobile-ci:$TAG .
docker push mysteriumnetwork/mobile-ci:$TAG
- Update "mysterium.network:mobile-node" gradle dependency to a published version of mobile-node