Skip to content

linehman/mysterium-vpn-mobile

 
 

Repository files navigation

MysteriumVPN mobile app

Application for VPN using Mysterium Network.

Get it on Google Play

Running manually

Android

Setup to run on actual device

  • brew cask install android-platform-tools or Install ADB
  • Connect Android phone, check if adb can see it:
adb devices

Setup Emulator

  1. Download Android Studio
  2. Android Studio comes with JDK preinstalled, but in case that version doesn't work, you need JDK 1.8
  3. Setup Emulator in Android Studio and start it

Run Android:

Install Android SDK, export ANDROID_HOME to SDK location, i.e.:

export ANDROID_HOME=/Users/<username>/Library/Android/sdk/

Run app on default device (connected or emulator)

Open Android Studio and click Run button :)

Android Releases

cp fastlane/.env.local.dist fastlane/.env.local
vim fastlane/.env.local
  • Setup Fastlane, more info in fastlane/README.md
Local development
  • 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')
Building release APK
  • 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
Internal release
  • To build and publish internal release manaully: Increase bundle_release versionCode + 1 in fastlane/Fastlane file and run:
source fastlane/.env.local && fastlane android internal
  • To build and publish internal release automatically:
  1. Create PR with bumped fastlane/android_version_code (Google play store requires new version code for each release).
  2. Ater merge to master create new tag in github repository. See example commit.

iOS

iOS App is under development.

Android build error

* What went wrong:
A problem occurred configuring project ':react-native-fabric'.
> Could not resolve all artifacts for configuration ':react-native-fabric:classpath'.
   > Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2).

related to issue waiting on fix

to fix run:

./util_scripts/fix-react-native-fabric-gradle

If you come across an error command not found: gsed, you can fix it on OSX by running:

brew install gnu-sed

Updating CI image

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

Contributing

Android

Bump mobile-node version

  • To Update implementation "mysterium.network:mobile-node:0.5-rc" line in ./android/app/build.gradle, published versions can be found here.
  • Node usage can be found in MainActivity.kt.

Native android logs

To see native android logs, use Logcat:

adb logcat

About

Mobile client for Mysterium Network

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 98.1%
  • Ruby 1.2%
  • Other 0.7%