FlappyBird C 极简版
用纯 C 与 OpenGL ES 2 实现的 Flappy Bird 克隆,APK 体积不到 100 KB,支持 Android 5.0 及以上,是学习 Android 原生开发与极致体积优化的绝佳范例。
爱鲜报评分
0.0
0 人评分
2.4k
星数
否
中文
C
主语言
是
活跃
4
贡献者
人工分析
EDITORIAL推荐理由
项目用不到 100 KB 的 APK 完成了一个完整可玩的游戏,展示了 Android Native Activity、OpenGL ES 2、OpenSL ES 与 upng 的极简组合,对性能与体积敏感的开发者极具参考价值。代码结构清晰,适合作为学习 C 语言图形编程与 Android 原生构建的入门项目。
适用场景
- 学习 Android Native Activity 与 C 语言游戏开发
- 研究 APK 体积压缩与资源优化技巧
- OpenGL ES 2 与 OpenSL ES 入门实践
- 嵌入式/低资源环境下的图形渲染参考
优点
- APK 体积小于 100 KB,极致轻量
- 纯 C 实现,依赖极少,易于理解底层原理
- 支持 Android 5.0+,兼容性广
- 提供 Windows 与 Linux/macOS 构建脚本,上手门槛低
- 代码开源,适合作为教学与二次开发基础
缺点
- 需要自行配置 Android NDK 与命令行工具
- 构建流程依赖 .env 环境变量,初次配置略繁琐
- 仅支持 Android 平台,无跨平台能力
- 项目未声明开源许可证,商用需谨慎
上手难度
进阶
FlappyBird C 极简版
这是一个用纯 C 语言编写的 Flappy Bird 克隆项目,最大的亮点是 APK 体积不到 100 KB,并且支持 Android 5.0 及以上系统。项目使用 OpenGL ES 2 进行渲染,OpenSL ES 播放音效,upng 解码 PNG 图片,整体依赖极少,非常适合学习 Android 原生开发与极致体积优化。
项目背景
作者在 2021 年接触到 rawdrawandroid 后,萌生了用最小 APK 体积实现一个可玩游戏的念头。2024 年 9 月,受到 Raylib 社区中 C# 版 Flappy Bird 的启发,决定用 C 语言为 Android 实现一个 APK 小于 100 KB 的版本。
技术实现
- 语言:C
- 图形:OpenGL ES 2 + 自定义着色器
- 音频:OpenSL ES,音效压缩为 MP3
- 图片:upng 解码 PNG
- 平台:Android Native Activity
构建方式
Windows(Visual Studio Code)
- 从
.env.example创建.env文件 - 运行
build.bat
Linux / macOS(Makefile)
- 安装 Android 命令行工具
- 在项目根目录配置
.env文件(参考.env.example) - 执行构建:
cd FlappyBird
make
构建完成后,签名 APK 会生成在:
FlappyBird/app/build/outputs/apk/FlappyBird-signed.apk
更详细的说明请参考项目中的 BUILDING.md。
适用人群
- 想学习 Android Native Activity 与 C 语言游戏开发的开发者
- 对 APK 体积优化、资源压缩感兴趣的工程师
- 希望研究 OpenGL ES 2 与 OpenSL ES 底层用法的学习者
版权说明
作者不主张任何版权,游戏与资源版权归 DotGEARS 所有。
评论
- 暂无评论,来写第一条吧。