Repository navigation
Developer Guide & Building
porasnagar edited this page Oct 27, 2026
·
1 revision
This guide explains how to set up your local development environment, build both the native Android application and the web simulator, and run automated test suites.
The native Android project lives under src/android/ on the website branch and at the root of the standalone android branch.
- JDK: JDK 17 (Temurin recommended)
-
Android SDK: Compile SDK
36(Android 16), Target SDK36, Min SDK29(Android 10) -
Gradle:
8.11.1(Pinned — do not upgrade to Gradle 9+ without AGP 9+) -
Android Gradle Plugin (AGP):
8.10.1 -
Kotlin:
2.1.21
# Navigate to the Android project directory
cd src/android
# Build Debug APK (includes Protocol Rules developer tabs and hex monitors)
gradle assembleDebug
# Build Release APK (R8 / ProGuard optimized)
gradle assembleRelease
# Run unit tests
gradle testDebugUnitTestOutput APK locations:
- Debug:
app/build/outputs/apk/debug/app-debug.apk - Release:
app/build/outputs/apk/release/app-release.apk
The web project is an interactive, full-stack application built with React 19, TanStack Start, and Tailwind CSS v4.
- Node.js: v20+ or v24+
-
Package Manager:
bun(recommended) orpnpm/npm
# Install dependencies
bun install # or pnpm install / npm install
# Start local development server (runs on http://localhost:8080)
bun run dev
# Run Vitest unit tests (protocol, suggestions, layout)
bun run test
# Production build
bun run build-
android-branch.yml: Runs on push towebsiteandmain. Automatically extractssrc/android/into the standaloneandroidbranch and builds test/release APKs. -
sync-to-ina.yml: Runs inporasnagar/apple-device-orbitto auto-push updates toporasnagar/iNA. -
android.yml: Runs on theandroidbranch whenever av*release tag is pushed to compile signed production APKs and attach them to GitHub Releases.
iNA is an independent, community-driven, open-source software project licensed under the MIT License.
Apple, AirPods, AirPods Pro, AirPods Max, Apple Watch, AirTag, HomePod, and Beats are registered trademarks of Apple Inc. This software is not affiliated with, sponsored by, or endorsed by Apple Inc.