bepass-org / bepass-org/oblivion
[Build/Chore]: Align NDK version documentation, upgrade Gradle (if compatible), and enable build optimizations
- Dominant language
- Dart
- Stars
- 4.8k
- Forks
- 634
- Avg merge
- 19h 16m
- Merged PRs (30d)
- 1
Description
### Description
This issue proposes a few cleanups and performance improvements for the Android build pipeline:
1. **NDK Version Discrepancy (README vs Code):**
- The build configuration currently targets **NDK 28**, whereas `README.md` still instructs contributors to install/use **NDK r27**.
- Aligning the documentation with the actual code ensures external contributors and CI environments don't encounter mismatch warnings or unexpected build failures.
2. **Gradle / AGP Modernization (Compatibility Check):**
- If feasible and without breaking dependencies or CGo/Flutter interop, consider bumping the Gradle Wrapper and Android Gradle Plugin (AGP) to their latest stable releases supported by the current Flutter SDK.
- Please ensure regression testing against the native tunnels (Go/Rust/C) and plugin ecosystem prior to merging.
3. **Enable Gradle & Flutter Build Optimizations:**
To accelerate local compilation and CI build times, consider enabling the following standard flags in `gradle.properties` (if not already fully configured):
- `org.gradle.parallel=true` (Parallel task execution)
- `org.gradle.caching=true` (Gradle build cache)
- `org.gradle.configuration-cache=true` (Configuration cache for compatible tasks)
- `android.enableR8.fullMode=true` (Aggressive R8 shrinking & code stripping for release builds)
### Proposed Tasks
- [ ] Update `README.md` to reflect `NDK r28` instead of `r27`.
- [ ] Evaluate Gradle/AGP upgrade against the project's Flutter channel.
- [ ] Audit `gradle.properties` for build cache and parallel execution flags.
- [ ] Verify release artifact size (ABI splits / R8 shrinking).
### Expected Benefits
- Clear and accurate setup steps for developers and CI runners.
- Faster cold and warm build times across development environments.
- Smaller release APK/AAB footprint.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with README.md and the Android build configuration, then inspect gradle.properties and the Gradle Wrapper/AGP versions against the current Flutter channel. Check compatibility with the CGo/Flutter interop and native Go, Rust, and C tunnels before testing release builds. Done means README.md documents NDK r28, compatible optimization flags are configured, regression checks pass, and release artifact size is verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, c, dart, go, rust
- Domain
- build-system, mobile
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100