- 支持RPC进行多进程/远程绘制。
- 支持鼠标滚轮
- 支持物理键盘输入
- 支持横/竖屏自动切换
在Android使用上API创建Surface并进行Dear ImGui的绘制。
注意:如果拥有Surface的进程的用户权限在shell
之下,则你的Surface不会被系统添加到根视图,也就是不会显示出来,详情请看:SurfaceFlinger.cpp
- Android9
- Android10
- Android11
- Android12
- Android13
- Android14
- 确保在项目根目录打开命令行终端 。
- 执行
git submodule init
。 - 执行
git submodule update
。 - 执行
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${NDK_PATH}build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-23 -DANDROID_ABI=${PLATFORM} -S . -B build -G Ninja
,其中${NDK_PATH}
需要替换为你的NDK路径,${PLATFORM}
替换成你想要编译出的目标平台。 - 执行
cmake --build build --config Release
。 - 编译完成。
你也可以直接使用build.bat
来进行批量编译,默认编译armeabi-v7a arm64-v8a x86 x86_64
四个版本,可修改脚本中的ANDROID_ABIS
变量来进行更改。
脚本有三个可选参数分别为:NDK路径、最低支持SDK版本、CMake程序路径,不设置则脚本自动检测NDK_PATH
与CMake工具链,如果都没有则使用脚本默认内置路径。
例子请看:src/test-ui/main.cc
- Server:src/test-ui/canvas.cc
- Client:src/test-ui/render.cc