# {{PROJECT_NAME}} Android Benchmark App
This is an auto-generated Android app for running Rust benchmarks and local native profiling captures.
## Building
```bash
# Build debug APK
./gradlew assembleDebug
# Build release APK (recommended for BrowserStack uploads)
./gradlew assembleRelease
```
## Benchmark execution
```bash
# Build with mobench (use --release for smaller APK uploads)
cargo mobench build --target android --release
# Run locally
cargo mobench run --target android --function my_benchmark
# Run on BrowserStack
cargo mobench run --target android --function my_benchmark \
--devices "Google Pixel 7-13.0" --release
```
## Local native profiling
```bash
cargo mobench profile run \
--target android \
--provider local \
--backend android-native \
--function my_benchmark
```
## Running Benchmarks
The app reads benchmark configuration from:
1. Intent extras (`bench_function`, `bench_iterations`, `bench_warmup`)
2. `assets/bench_spec.json`
3. Default values in code
## Benchmark report capture
The app emits benchmark results for both local automation and BrowserStack:
- Runs the benchmark in an isolated `:mobench_worker` process and shows the worker result on screen
- Outputs JSON with `BENCH_JSON` marker to logcat
- Includes `phases` when the benchmark uses `profile_phase(...)`
- Is marked `profileable` so local native profilers can attach to it
## Generated by
[mobench](https://crates.io/crates/mobench) - Mobile benchmarking SDK for Rust