# xiangsu1145/auto-aim_android-yolo architecture

> Architecture diagram of the GitHub repository xiangsu1145/auto-aim_android-yolo, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/xiangsu1145/auto-aim_android-yolo
- Repository: https://github.com/xiangsu1145/auto-aim_android-yolo

## Overview

AI Aimbot Android is an Android FPS aiming assistant: the user starts a foreground service, which captures screen frames, runs object detection, and uses detections for overlay feedback and optional aim or trigger actions. The README also documents model selection, confidence and PID controls, hold-to-fire, and screen recording. The sampled Kotlin shows the inference loop, model loading, and service/overlay behavior; native excerpts show LiteRT and MediaTek inference paths. Controller and UI implementation files are absent from the supplied tree, so their internal wiring is not expanded.

Main entry points: [`app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt`](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt) (Inference loop), [`app/src/main/java/team/maodie/aimbot/service/FloatService.kt`](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/service/FloatService.kt) (Float service), [`app/src/main/java/team/maodie/aimbot/service/RemoteInjectorService.java`](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/service/RemoteInjectorService.java) (Touch injector), [`app/src/main/cpp/src/inference/litert_engine.cpp`](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/cpp/src/inference/litert_engine.cpp) (LiteRT engine)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App services"]
  node_service["Float service<br/>[FloatService.kt]"]
  node_recording["Screen recording<br/>[FloatService.kt]"]
end

subgraph group_vision["Detection"]
  node_inference["Inference loop"]
  node_lite["LiteRT engine<br/>[litert_engine.cpp]"]
  node_mediatek["MediaTek engine"]
  node_detections["Target detections"]
end

subgraph group_control["Aim and feedback"]
  node_aim["Aim selection"]
  node_trigger["Trigger control"]
  node_overlay["Detection overlay<br/>[FloatService.kt]"]
end

subgraph group_integration["Device integration"]
  node_injector["Touch injector"]
end

node_user(("User"))
node_shizuku(("Shizuku"))
node_capture(("Screen capture"))
node_game(("Game screen"))

node_user -->|"starts service"| node_service
node_capture -->|"supplies frames"| node_inference
node_game -->|"displayed on"| node_capture
node_service -->|"starts inference"| node_inference
node_inference -->|"runs detection"| node_lite
node_inference -.->|"runs detection"| node_mediatek
node_inference -->|"produces"| node_detections
node_inference -->|"selects targets"| node_aim
node_inference -->|"checks trigger"| node_trigger
node_inference -->|"updates detections"| node_overlay
node_aim -->|"requests touch"| node_injector
node_trigger -->|"requests fire"| node_injector
node_shizuku -->|"enables injection"| node_injector
node_service -->|"shows controls"| node_overlay
node_service -->|"controls recording"| node_recording
node_recording -->|"records screen"| node_capture

click node_service "https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/service/FloatService.kt"
click node_inference "https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt"
click node_lite "https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/cpp/src/inference/litert_engine.cpp"
click node_mediatek "https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/cpp/src/inference/mediatek_engine.cpp"
click node_detections "https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt"
click node_aim "https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt"
click node_trigger "https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt"
click node_overlay "https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/service/FloatService.kt"
click node_injector "https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/service/RemoteInjectorService.java"
click node_recording "https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/service/FloatService.kt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_service,node_recording,node_user,node_capture,node_game toneBlue
class node_inference,node_lite,node_mediatek,node_detections toneAmber
class node_aim,node_trigger,node_overlay toneMint
class node_injector toneRose
class node_shizuku toneIndigo
```

## Components

### App services

- [Float service](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/service/FloatService.kt): `app/src/main/java/team/maodie/aimbot/service/FloatService.kt`
- [Screen recording](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/service/FloatService.kt): `app/src/main/java/team/maodie/aimbot/service/FloatService.kt`

### Detection

- [Inference loop](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt): `app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt`
- [LiteRT engine](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/cpp/src/inference/litert_engine.cpp): `app/src/main/cpp/src/inference/litert_engine.cpp`
- [MediaTek engine](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/cpp/src/inference/mediatek_engine.cpp): `app/src/main/cpp/src/inference/mediatek_engine.cpp`
- [Target detections](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt): `app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt`

### Aim and feedback

- [Aim selection](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt): `app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt`
- [Trigger control](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt): `app/src/main/java/team/maodie/aimbot/manager/InferenceManager.kt`
- [Detection overlay](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/service/FloatService.kt): `app/src/main/java/team/maodie/aimbot/service/FloatService.kt`

### Device integration

- [Touch injector](https://github.com/xiangsu1145/auto-aim_android-yolo/blob/master/app/src/main/java/team/maodie/aimbot/service/RemoteInjectorService.java): `app/src/main/java/team/maodie/aimbot/service/RemoteInjectorService.java`

### Other components

- **User**
- **Shizuku**
- **Screen capture**
- **Game screen**

## Connections

- User → Float service: starts service
- Screen capture → Inference loop: supplies frames
- Game screen → Screen capture: displayed on
- Float service → Inference loop: starts inference
- Inference loop → LiteRT engine: runs detection
- Inference loop → MediaTek engine: runs detection
- Inference loop → Target detections: produces
- Inference loop → Aim selection: selects targets
- Inference loop → Trigger control: checks trigger
- Inference loop → Detection overlay: updates detections
- Aim selection → Touch injector: requests touch
- Trigger control → Touch injector: requests fire
- Shizuku → Touch injector: enables injection
- Float service → Detection overlay: shows controls
- Float service → Screen recording: controls recording
- Screen recording → Screen capture: records screen
