Skip to content

Quick Start Guide

Emirhan Uçan edited this page Jul 5, 2026 · 6 revisions

Quick Start Guide

Get HydraDragonAV Mobile running on your device or emulator in minutes.

Requirements

Requirement Value
Android 10 (API 29) or newer
RAM 4 GB minimum (6 GB recommended)
Storage 2 GB free space (signatures + databases)
Build Host Windows 10/11, Linux, or macOS
JDK 17 or newer
Android SDK API 29+ with NDK

Step 1: Clone the Repository

git clone --recurse-submodules https://github.com/HydraDragonAntivirus/HydraDragonAV-Mobile.git
cd HydraDragonAV-Mobile

The --recurse-submodules flag is required — the native engine vendors a custom YARA-X fork with hydradragon/androguard scanning modules.

Step 2: Build the Native Rust Engine

cd hydradragonandroid
build-android.cmd

This compiles libhydradragonandroid.so for all four Android ABIs (arm64-v8a, armeabi-v7a, x86_64, x86) using cargo-ndk and copies the outputs into app/src/main/jniLibs/.

Prerequisites:

  • Rust toolchain with Android targets installed
  • Android NDK (set via ANDROID_NDK_HOME)
  • cargo-ndk installed (cargo install cargo-ndk)

Step 3: Build the Android App

./gradlew assembleDebug

The native .so files are picked up automatically from app/src/main/jniLibs/.

The debug APK will be at app/build/outputs/apk/debug/app-debug.apk.

Step 4: Install & Run

adb install app/build/outputs/apk/debug/app-debug.apk

Required permissions (granted at runtime):

  • Accessibility Service (for DynamicAnalysisService)
  • Notification Listener (optional, for notification spam detection)
  • MediaProjection (for ScreenCaptureService OCR)
  • VPN (for DnsVpnService / Web Shield)

Step 5: Verify Installation

  1. Open HydraDragonAV Mobile — you should see the main dashboard.
  2. Run a Quick Scan — installed apps + Downloads folder.
  3. Check that the GuardService is running (persistent notification).
  4. Verify Accessibility Service is enabled in Settings → Accessibility.

First-Run Configuration

  1. Grant all requested permissions.
  2. Enable DynamicAnalysisService in Accessibility settings.
  3. Optionally enable Web Shield (VPN) for DNS filtering.
  4. Optionally enable ScreenCaptureService for live OCR.
  5. Configure scan file size limit in Settings (default: 500 MB, max: 2048 MB).

Key Directories

Path Purpose
hydradragonandroid/ Native Rust engine source
app/src/main/jniLibs/ Compiled .so files per ABI
yara-x/ YARA-X rules and modules
database/ ClamAV signature databases
whitelist/ NSRL whitelist data
allxfilter/ XOR filter data for URLs/IPs
allips/ Malicious IP lists

Next Steps

Clone this wiki locally