fire-ch / mysterium-vpn-mobile

Mobile client for Mysterium Network

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 manaully automatically create new tag in github repository.

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

License:GNU General Public License v3.0


Languages

Language:Kotlin 98.0%Language:Ruby 1.2%Language:Shell 0.4%Language:Dockerfile 0.3%Language:Starlark 0.1%