vite-grin-wallet-android
Requirements
- rust 1.34+ (use rustup- i.e.
curl https://sh.rustup.rs -sSf | sh; source $HOME/.cargo/env
)
- if rust is already installed, you can simply update version with
rustup update
- NDK20
apt install build-essential cmake git libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev pkg-config libssl-dev llvm
- create standalone toolchain
${NDK_HOME}/build/tools/make_standalone_toolchain.py --api 26 --arch arm64 --install-dir ${STANDALONE_NDK}/arm64
${NDK_HOME}/build/tools/make_standalone_toolchain.py --api 26 --arch arm --install-dir ${STANDALONE_NDK}/arm
${NDK_HOME}/build/tools/make_standalone_toolchain.py --api 26 --arch x86 --install-dir ${STANDALONE_NDK}/x86
export RUST_BACKTRACE=full
export PATH=${NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
export ${STANDALONE_NDK}/arm/bin
export ${STANDALONE_NDK}/arm64/bin
export ${STANDALONE_NDK}/x86/bin
[target.aarch64-linux-android]
ar = "${STANDALONE_NDK}arm64/bin/aarch64-linux-android-ar"
linker = "${STANDALONE_NDK}arm64/bin/aarch64-linux-android-clang"
[target.armv7-linux-androideabi]
ar = "${STANDALONE_NDK}/arm/bin/arm-linux-androideabi-ar"
linker = "${STANDALONE_NDK}/arm/bin/arm-linux-androideabi-clang"
[target.i686-linux-android]
ar = "${STANDALONE_NDK}/x86/bin/i686-linux-android-ar"
linker = "${STANDALONE_NDK}/x86/bin/i686-linux-android-clang"
cp cargo-config.toml ~/.cargo/config
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android
Build
git clone https://github.com/vitelabs/vite-grin-wallet-android.git
cd vite-grin-wallet-android
cd rust
#64 bit
cargo build --target aarch64-linux-android --release
#32 bit
CC=arm-linux-androideabi-clang cargo build --target armv7-linux-androideabi --release
Links