66 lines
1.5 KiB
Markdown
66 lines
1.5 KiB
Markdown
## Nym Connect for Android
|
|
|
|
### Prerequisites
|
|
|
|
_TODO_
|
|
|
|
### Getting started
|
|
|
|
[Install](https://developer.android.com/studio/install) Android Studio and open
|
|
the project.\
|
|
Setup an android emulator using AVD.\
|
|
[Run](https://developer.android.com/studio/run/emulator) the project.
|
|
|
|
**⚠ NOTE**: be sure
|
|
to [set](https://developer.android.com/studio/run#changing-variant)
|
|
the build variant to `x86_64Debug` when running on emulator
|
|
|
|
### Lib Nym socks5
|
|
|
|
This Application needs the
|
|
native [nym-socks5-listener](https://github.com/nymtech/nym/blob/develop/sdk/lib/socks5-listener/Cargo.toml)
|
|
library in order to work.
|
|
|
|
To build it for x86_64 and arm64 arch, from the root of the repo run
|
|
|
|
```shell
|
|
cd sdk/lib/socks5-listener/
|
|
./build-android.sh aarch64 x86_64
|
|
```
|
|
|
|
To build in release mode run
|
|
|
|
```shell
|
|
RELEASE=true ./build-android.sh aarch64 x86_64
|
|
```
|
|
|
|
The shared library for each ABIs will be automatically moved into
|
|
`app/src/main/jniLibs/*` directories.
|
|
|
|
### APK build (from terminal)
|
|
|
|
This project is setup with multiple [product flavors](app/build.gradle) to
|
|
build for specific architectures.\
|
|
Supported archs:
|
|
|
|
- arm64
|
|
- arm (old arm)
|
|
- x86_64
|
|
- x86
|
|
|
|
For example to build for _arm64_ in _release_ mode use
|
|
|
|
```shell
|
|
./gradlew :app:assembleArm64Release
|
|
```
|
|
|
|
**NOTE**: you likely want _arch64_ (`arm64` & `x86_64`) for APK distribution
|
|
|
|
To build a _universal_ APK which includes all ABI use
|
|
|
|
```shell
|
|
./gradlew :app:assembleUniversalRelease
|
|
```
|
|
|
|
**⚠ WARNING**: APK size will be multiplied
|