Skip to content

Latest commit

 

History

History
65 lines (42 loc) · 2.86 KB

README_CN.md

File metadata and controls

65 lines (42 loc) · 2.86 KB

README: ENGLISH | 简体中文

CuraEngine for Android

License

如果你还不知道什么是CuraEngine,请先阅读该 项目文档

本项目旨在演示如何在Android平台上运行CuraEngine。

Demo

CuraEngine for Android

快速上手

环境

  • Android Studio Arctic Fox | 2021.3 Patch 2
  • AVD
    • 1080 x 2340: xhdpi
    • Android 10.0 (Google APIs)

步骤

  • 下载本项目最新版本并把包解压到ce4a
  • 在Android Studio中创建C++项目
    • New Project -> Native C++
      • Language: Kotlin
      • Minimum SDK: Android 6.0
    • 初始化Android环境 (自动完成)
    • 创建AVD
      • 复制ce4a\com.example.myapplication到AVD的/mnt/sdcard/android/data
  • ce4a\src替换~\AndroidStudioProjects\{PROJECT}\app\src
  • ce4a\build.gradle替换~\AndroidStudioProjects\{PROJECT}\app\build.gradle
  • 运行项目

PS. 假如你在构建的过程中遇到问题,请删除~\AndroidStudioProjects\{PROJECT}\app\.cxx后重试。

定制化

为了简化项目,我将大部分CuraEngine所需的参数硬编码进了代码里。
你可以重新编写更加灵活的引擎运行函数,也可以直接将Java_com_example_myapplication_MainActivity_runCuraEngine中的变量替换成你自己的字符串。

项目内容

CuraEngine源码

CuraEngine原本就是为桌面平台设计的,我们没法在Android上直接使用它的源码。
尽管Android Studio支持C++让开发者不再需要为移植编写底层代码,但对于CuraEngine的原生缺陷,比如#1142,还是需要我们人工修复。

本项目中的CuraEngine源码是我个人的修订版本,里面已经修复了包含#1142在内的几个恶性bug。

构建脚本

如果你只想原样地使用CuraEngine,那不用修改任何东西。
为了让开发者尽快地把项目跑起来,我已在项目中移除了所有非必要的依赖库。
假如你还是需要Arcus或者是OpenMP等依赖项目,只需要把它们的代码放进项目中,然后修改CMakeLists.txt即可。

Kotlin应用

我做了简单的应用页面来展示CuraEngine的可用性。它由Android Studio原生支持的Kotlin和C++混编。 其中C++部分的代码可以让你很清楚地了解到如何从CuraEngine中提取运行信息以及和前端交互。