-
Notifications
You must be signed in to change notification settings - Fork 1
Installation Setup
Emirhan Uçan edited this page Aug 2, 2026
·
6 revisions
Detailed guide for building and installing HydraDragonAV Mobile from source.
| Tool | Version | Notes |
|---|---|---|
| Android Studio | Hedgehog+ | Recommended for SDK/NDK management |
| SDK Platform | API 26+ | Android 8.0 Oreo or newer |
| NDK | 25+ | Required for Rust cross-compilation |
| Build Tools | 34+ | Gradle build system |
Install Rust via rustup, then add Android targets:
rustup target add aarch64-linux-android
rustup target add armv7-linux-androideabi
rustup target add x86_64-linux-android
rustup target add i686-linux-androidInstall cargo-ndk:
cargo install cargo-ndkSet the following environment variables (or let build-android.ps1 auto-detect via %LOCALAPPDATA%\Android\Sdk):
set ANDROID_NDK_HOME=%LOCALAPPDATA%\Android\Sdk\ndk\26.1.10909125
set ANDROID_HOME=%LOCALAPPDATA%\Android\Sdk
set ANDROID_SDK_ROOT=%LOCALAPPDATA%\Android\Sdkcd hydradragonandroid
build-android.cmdThe build script:
- Verifies NDK installation
- Adds Rust Android targets (if missing)
- Installs
cargo-ndk(if missing) - Builds
libhydradragonandroid.sofor all 4 ABIs - Copies output to
app/src/main/jniLibs/
For individual ABI builds:
build-android.cmd -Abi arm64-v8a./gradlew assembleDebugFor a release build:
./gradlew assembleReleaseThe signed APK will be at app/build/outputs/apk/.
adb install -r app/build/outputs/apk/debug/app-debug.apkDetection assets must be generated offline from public sources before the app can operate with full detection coverage:
# NSRL whitelist (SQLite)
python gen_whitelist_packages.py
# NSRL whitelist (binary-fuse XOR filter)
python gen_whitelist_apk.py
# Malicious IP lists
python gen_ip_lists.py
# URL/domain XOR filters
python build_url_xfilter.py
# ClamAV Android filtering
python clam_juice.py --directory database_non_filtered --output database_filtered --profile cross-platformSee Data-Pipeline for full details.
| Issue | Solution |
|---|---|
cargo-ndk not found |
Run cargo install cargo-ndk
|
| NDK path not detected | Set ANDROID_NDK_HOME explicitly |
| Rust Android target missing | Run rustup target add <target>
|
| Gradle build fails on long paths | Enable Windows long paths (git config --global core.longpaths true) |
Missing libhydradragonandroid.so
|
Ensure Rust engine built before Gradle build |
| SDK not found | Set ANDROID_HOME to SDK path |
- Quick-Start-Guide — Abbreviated build instructions
- Developer-Guide — Architecture deep-dive
- Data-Pipeline — Signature and whitelist generation