小于 100 KB。适用于 Android 5.0 及更高版本
It all started in 2021 when I stumbled upon rawdrawandroid. My goal was simple: to create a game with the minimal APK size, yet still be understandable and interesting.
The idea of making a Flappy Bird clone seemed logical, given that this game had already been ported to many languages.
In 2021, I also studied Raylib, but my first attempt to make a game in C++ using ImGui failed.
The problems were everywhere: the APK size was around 1 MB, the game crashed, and the APK only contained the armeabi-v7a library (Google's 2022 requirements state that the arm64-v8a library must be included!).
In September 2024, seeing Flappy Bird in C# in the Raylib Discord channel, I decided to try implementing this game in C for Android with an APK size of less than 100 KB.
The idea seemed crazy, but the competitive interest took over.
I started by compiling a "Hello World" in C and packaging the library into an APK.
Sounds were compressed to MP3 format, and OpenSLES was used for playback.
For PNG file decoding, I chose upng. ️
All of this was combined using OpenGL ES 2, shaders, and Android Native Activity.
For Linux and macOS users, you can build the project using the provided Makefile:
.env file in the project root directory (see .env.example for an example).cd FlappyBird
makeFor more detailed instructions, please refer to BUILDING.md.
The signed APK will be generated at:
FlappyBird/app/build/outputs/apk/FlappyBird-signed.apk
I do not claim any copyright. The rights to the game and resources belong to DotGEARS.
Enjoy the game and don't forget to star it!
暂无开放 Issues,或尚未同步最近议题。