Introduction
Create more useful tool extensions for Android.
Background
As the Android system continues to evolve, native development demands a growing learning curve. While there are countless utilities available, new fragmentation issues and edge cases emerge endlessly.
I originally created this project to address the friction I encountered in daily Android development—mostly dealing with cumbersome and outdated system APIs. Guided by the principle of "not reinventing the wheel", BetterAndroid focuses on enhancing what is already there.
From UI rendering to system-level interactions, it seamlessly extends native APIs. It is explicitly designed to tackle "black box" scenarios, bridging the gap between official behaviors and the quirks of third-party OEM ROMs.
Leveraging the power of Kotlin, everything provided here remains strictly non-intrusive. It ensures you can enjoy a smoother, more elegant developer experience without compromising the native ecosystem.
This library is a culmination of solutions refined across multiple real-world apps, with a significant portion of its core battle-tested and decoupled from my earlier project, PureReader.
Usage
BetterAndroid is born for more modern Android development, and its original meaning is itself.
We hope that this library can successfully help developers speed up development, improve development quality and experience, and quickly implement the functionality required by apps.
Language Requirement
It is recommended to use Kotlin as the preferred development language.
This project is entirely written in Kotlin and is compatible with Java in some parts, but it may not be fully compatible.
All demo & sample codes in the document will be described using Kotlin, if you don’t know how to use Kotlin at all, you may not get the best experience.
Contribution
The maintenance of this project is inseparable from the support and contributions of all developers.
This project is currently in its early stages, and there may still be some problems or lack of functionality you need.
If possible, feel free to submit a PR to contribute features you think are needed to this project or go to GitHub Issues to make suggestions to us.
