一个基于Dear ImGui的Android平台快速开发框架,专为游戏辅助工具开发而设计。
OS-ImGui-Android是一个简洁高效的ImGui开发框架,基于著名的Dear ImGui库构建。本项目专为Android平台优化,提供了完整的UI渲染、事件处理和游戏辅助功能开发支持。
核心优势:
- 🚀 快速开发:几分钟内即可搭建完整的ImGui环境
- 🎨 丰富组件:内置多种自定义UI组件和样式
- 📱 Android原生:专为Android平台优化,支持ARM64架构
- 🔧 易于扩展:模块化设计,便于功能扩展和维护
- 🎮 游戏友好:针对游戏辅助工具开发场景优化
- 简洁架构:清晰的代码结构,易于理解和维护
- 模块化设计:功能模块分离,便于独立开发和测试
- 高性能渲染:基于OpenGL ES 3.0的高性能渲染管线
- 自定义复选框:多种样式的复选框组件
- 开关按钮:美观的开关切换组件
- 滑动条:支持数值调节的滑动条组件
- 颜色选择器:直观的RGBA颜色选择组件
- 表格系统:灵活的数据展示表格
- 热重载支持:开发过程中支持UI实时更新
- 调试模式:内置调试工具和性能监控
- 样式系统:可自定义的主题和颜色方案
- 操作系统:Android 7.0+ (API level 24+)
- 架构支持:ARM64-v8a
- 图形API:OpenGL ES 3.0+
- 开发环境:Android NDK r21+
- 构建工具:CMake 3.10+
# 安装Android Studio和NDK
# 配置环境变量
export ANDROID_NDK_HOME=/path/to/android-ndk
export ANDROID_SDK_HOME=/path/to/android-sdkgit clone https://github.com/756066377/OS-ImGui-Android-Backup-2025.git
cd OS-ImGui-Android-Backup-2025# 创建构建目录
mkdir cmake-build-debug
cd cmake-build-debug
# 配置CMake
cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=arm64-v8a \
-DANDROID_PLATFORM=android-24 \
..
# 构建项目
cmake --build . --target OSImGui -j$(nproc)构建完成后,可执行文件将位于:outputs/arm64-v8a/OSImGui
#include "OS-ImGui.h"
#include "imgui.h"
void Imgui_demo() {
// 创建测试窗口
ImGui::Begin("测试窗口");
ImGui::Text("欢迎使用OS-ImGui-Android!");
// 添加交互组件
static bool isLine = false;
ImGui::Checkbox("绘制线条", &isLine);
if (ImGui::Button("退出程序")) {
Gui.Quit();
exit(0);
}
// 使用自定义组件
Gui.MyCheckBox("自定义复选框1", &isLine1);
Gui.MyCheckBox2("自定义复选框2", &isLine2);
Gui.SwitchForRight("右侧开关", &isLine5);
Gui.SwitchForLeft("左侧开关", &isLine6);
ImGui::End();
// 根据状态绘制内容
if (isLine) {
Gui.Line(Vec2{0, 0}, Vec2{1000, 1000}, ImColor{255, 255, 255, 255}, 10);
}
}
int main() {
// 创建ImGui窗口并绑定渲染函数
Gui.NewWindow("SurfaceName", Imgui_demo);
return 0;
}项目包含完整的功能演示,涵盖:
- 追锁系统:自瞄和子弹追踪配置
- 人物透视:可视化设置和过滤选项
- 物资绘制:物品高亮和分类管理
- 系统设置:配置管理和调试工具
OS-ImGui-Android/
├── CMakeLists.txt # CMake构建配置
├── include/ # 头文件目录
│ ├── OS-ImGui.h # 主接口头文件
│ ├── OS-ImGui_Base.h # 基础功能头文件
│ ├── OS-ImGui_Struct.h # 数据结构定义
│ ├── imgui/ # Dear ImGui头文件
│ └── utils/ # 工具类头文件
├── src/ # 源代码目录
│ ├── main_demo.cpp # 主程序和功能演示
│ ├── OSImGui/ # 核心实现
│ ├── imgui/ # ImGui实现文件
│ └── utils/ # 工具类实现
├── Image/ # 资源文件
│ ├── 1.png # 菜单界面截图
│ └── fonts/ # 字体资源
├── outputs/ # 构建输出
│ └── arm64-v8a/ # ARM64架构输出
└── cmake-build-debug/ # 构建目录
- 在
include/目录添加头文件声明 - 在
src/目录实现具体功能 - 在
main_demo.cpp中集成到UI界面 - 更新CMakeLists.txt(如需要)
void CustomizeStyle() {
ImGuiStyle& style = ImGui::GetStyle();
// 修改颜色主题
style.Colors[ImGuiCol_WindowBg] = ImVec4(0.1f, 0.1f, 0.1f, 0.9f);
style.Colors[ImGuiCol_Button] = ImVec4(0.2f, 0.5f, 0.8f, 1.0f);
// 调整间距和圆角
style.WindowRounding = 8.0f;
style.FrameRounding = 4.0f;
style.ItemSpacing = ImVec2(8, 6);
}- 游戏辅助工具:ESP、瞄准辅助、物品高亮等
- 调试工具:游戏内存查看、性能监控
- 可视化界面:数据展示、配置管理
- 原型开发:快速UI原型验证
- 渲染优化:批量绘制调用,减少状态切换
- 内存管理:智能内存池,避免频繁分配
- 事件处理:高效的事件分发机制
- 资源缓存:纹理和字体资源缓存
欢迎提交Issue和Pull Request来改进项目!
- 使用清晰的提交信息
- 添加适当的代码注释
- 更新相关文档
- 确保通过构建测试
本项目基于MIT许可证开源 - 详见 LICENSE 文件
- Dear ImGui - 优秀的即时模式GUI库
- Liv - 项目灵感来源
- 所有贡献者和支持者
如有问题或建议,欢迎通过以下方式联系:
- 提交GitHub Issue
- 发送邮件至:756066377@qq.com
⭐ 如果这个项目对您有帮助,请给我们一个Star!
