Skip to content

Instantly share code, notes, and snippets.

@im7mortal
Created November 1, 2025 13:18
Show Gist options
  • Select an option

  • Save im7mortal/2e296e25d4cbaf5e24638dd66f08f039 to your computer and use it in GitHub Desktop.

Select an option

Save im7mortal/2e296e25d4cbaf5e24638dd66f08f039 to your computer and use it in GitHub Desktop.
Build android-mozilla-vpn

.bashrc

# Qt and Android build environment
export ANDROID_SDK_ROOT=$HOME/Android/Sdk
export ANDROID_NDK_ROOT=$ANDROID_SDK_ROOT/ndk/26.1.10909125
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

# Optional: if using Qt installed via Qt Online Installer
export QT_HOME=$HOME/Qt/6.6.3/android_arm64_v8a
export PATH=$QT_HOME/bin:$PATH

# For convenience
export PATH=$ANDROID_SDK_ROOT/platform-tools:$PATH
export PATH=$ANDROID_SDK_ROOT/emulator:$PATH

cmake

cmake ..   -G "Unix Makefiles"   -DANDROID=ON   -DANDROID_ABI=arm64-v8a   -DANDROID_PLATFORM=android-24   -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake"   -DCMAKE_BUILD_TYPE=Release   -DQT_ANDROID_BUILD=ON   -DQT_ANDROID_ABIS="arm64-v8a"   -DANDROID_SDK_ROOT="$ANDROID_SDK_ROOT"   -DANDROID_NDK_ROOT="$ANDROID_NDK_ROOT"   -DQT_HOST_PATH="$HOME/Qt/6.9.3/gcc_64"   -DCMAKE_PREFIX_PATH="$HOME/Qt/6.9.3/android_arm64_v8a/lib/cmake;$HOME/Qt/6.9.3/gcc_64/lib/cmake"   -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=BOTH
@im7mortal
Copy link
Author

im7mortal commented Nov 1, 2025

For compilation

rustup target add aarch64-linux-android

and

in bashrc

# Rust cross-compilation for Android
export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android34-clang
export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi34-clang
export RUSTFLAGS="-C linker=$CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment