AX 爱鲜报

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)

  1. 从 .env.example 创建 .env 文件
  2. 运行 build.bat

Linux / macOS(Makefile)

  1. 安装 Android 命令行工具
  2. 在项目根目录配置 .env 文件(参考 .env.example)
  3. 执行构建:
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 所有。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。