The Android client application for NymVPN.
These are primarily directions for macOS, but the same tooling can be installed
similarly for other operating systems.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add \
aarch64-linux-android \
armv7-linux-androideabi \
x86_64-linux-android \
i686-linux-android
cargo install cargo-ndk cargo-license
brew install go
brew install openjdk@17
brew install protobuf
There are many ways to go about this, but using JetBrains Toolbox is a convenient way.
Preferred NDK version is r25c
.
git clone https://github.com/nymtech/nym-vpn-client
cd nym-vpn-client/nym-vpn-core
cargo ndk -t armeabi-v7a build -p nym-vpn-lib --release
make generate-uniffi-android
cp crates/nym-vpn-lib/uniffi/nym_vpn_lib.kt ../nym-vpn-android/core/src/main/java/net/nymtech/vpn/nym_vpn_lib
Change directory to nym-vpn-android
:
cd nym-vpn-client/nym-vpn-android
To create a build with native core build if not already present:
./gradlew assembleFdroidDebug
To create a debug build with fresh native core build (useful for when there are core changes):
./gradlew clean
./gradlew assembleFdroidDebug