Project Structure
The EdgeAI project follows a well-organized structure that separates concerns and makes the codebase maintainable.
Directory Overview
EdgeAI/
├── app/ # Android application
│ ├── src/main/
│ │ ├── java/ # Kotlin/Java source code
│ │ ├── cpp/ # Native C++ code
│ │ └── assets/ # App assets
│ └── build.gradle.kts # Build configuration
├── docs/ # EdgeAI Documentation Platform
│ ├── docs/ # Documentation content
│ ├── src/ # EdgeAI source files
│ ├── static/ # Static assets
│ └── docusaurus.config.ts # EdgeAI configuration
├── backup_qnn_libs/ # QNN library backups
└── build/ # Build outputs
Key Components
Android App (app/)
- Kotlin/Java: Main application logic and UI
- C++: Native inference engine with ExecuTorch + QNN
- Assets: Model files and resources
Documentation (docs/)
- EdgeAI Documentation Platform: Modern documentation framework
- Organized content: Technical docs, setup guides, releases
- Responsive design: Mobile-friendly documentation
Native Libraries (backup_qnn_libs/)
- ARM64-v8a: Optimized for modern Android devices
- QNN libraries: Qualcomm Neural Processing SDK
- Version-specific: v79 context binaries for SoC Model-69
Architecture Benefits
- Separation of Concerns: Clear boundaries between app, docs, and libraries
- Maintainability: Easy to locate and modify specific components
- Scalability: Structure supports future expansion
- Documentation: Self-documenting through organized docs structure
Development Workflow
- App Development: Work in
app/directory - Documentation: Update files in
docs/docs/directory - Native Code: Modify C++ files in
app/src/main/cpp/ - Build & Test: Use Gradle build system
- Deploy: Automatic documentation deployment via GitHub Actions