移植 AWTK 到 纯血鸿蒙 (HarmonyOS NEXT) 系统 (1) - 让 OpenGLES 应用跑起来

在正式移植 AWTK 之前,我们先尝试在 HarmonyOS 上运行一个简单的 OpenGLES 应用程序。虽然可以确定这一步肯定是可行的,但是作为一个 HarmonyOS NEXT 新手,还是先从简单的应用程序开始,把坑都踩一遍,遇到问题比较好解决。

HarmonyOS 本身带的有 OpenGLES 的例子,但是用最新的 DevEco Studio 打开,编译时有几个问题。先是找不到 SDK,安装了 SDK,又出现其它问题,最后懒得折腾了。直接新建一个 Native 应用,然后将代码拷贝过去。

1. 新建 Native 应用

2. 拷贝下列文件

  1. 从 applications_app_samples/code/BasicFeature/Native/NdkOpenGL 项目中拷贝下列文件到新项目对应目录:

    复制代码
     entry/src/main/cpp/app_napi.cpp
     entry/src/main/cpp/include/
     entry/src/main/cpp/module.cpp
     entry/src/main/cpp/napi_manager.cpp
     entry/src/main/cpp/napi_util.cpp
     entry/src/main/cpp/tetrahedron.cpp
     entry/src/main/ets/utils/
     entry/src/main/resources/base/element/float.json
     entry/src/main/resources/base/media/icon.png
    
     entry/src/main/cpp/CMakeLists.txt
     entry/src/main/ets/entryability/EntryAbility.ets
     entry/src/main/ets/pages/Index.ets
     entry/src/main/resources/base/element/color.json
     entry/src/main/resources/base/element/string.json
     entry/src/main/resources/en_US/element/string.json
     entry/src/main/resources/zh_CN/element/string.json
  2. 修改 entry/src/main/cpp/CMakeLists.txt,将动态库的名字改成 awtk_napi

  3. 修改 entry/src/main/cpp/types/libentry/Index.d.ts

ts 复制代码
//传入 x,y 偏移量并返回 x,y 旋转角
export const updateAngle:(offsetX:number, offsetY:number)=>Array;
  1. 修改 entry/src/main/cpp/types/libentry/oh-package.json5
json 复制代码
{
  "name": "libentry_napi.so",
  "types": "./Index.d.ts",
  "version": "1.0.0",
  "description": "entry for harmony."
}

3. 编译并运行

可以看到一个简单的 OpenGL 应用。

通过这个简单的应用程序,熟悉了 HarmonyOS NEXT 的开发流程,心里有底了,接下来就可以开始移植 nanovg 了。

相关推荐
用户86194177207417 小时前
uni-app 的蓝牙 API 在鸿蒙上不生效?我写了个兼容层,让老代码零改动跑起来
harmonyos
HarmonyOS_SDK8 小时前
【HarmonyOS SDK Skills】挂载 Agent Skill,轻松跑通鸿蒙应用广告变现
harmonyos
闫东阳LordGalaxy9 小时前
给小艺装上数学能力:数易 App 接入智能体 FunctionComponent 与 A2A 双通路实战
harmonyos
Dream-Y.ocean10 小时前
鸿蒙PC平台逻控 PLC 编辑器适配实战:基于 Electron 壳方案的纯 JavaScript 梯形图编程与仿真引擎开发
javascript·编辑器·harmonyos
OH_TPC12 小时前
HarmonyOS APP开发---"好物清单"购物清单App,需要用到这个库
harmonyos
贾伟康14 小时前
【鸿蒙心迹】个人开发者上架复盘:备案、合规与审核指南没写透的细节
华为·harmonyos
不爱学英文的码字机器15 小时前
2026鸿蒙远程控制软件完全选购指南:从入门到精通选型攻略
华为·harmonyos
贾伟康1 天前
【共创稿事节】HarmonyOS 7.0 BindContentCover全屏模态:从接入到生产验证
性能优化·实战·harmonyos·arkts·arkui
KevinChaos2 天前
声音明信片实验室 03|HarmonyOS 7.0 音频空间化:双版本试听无缝切换
harmonyos
贾伟康2 天前
【共创稿事节】HarmonyOS 7.0 Menu菜单与上下文:从接入到生产验证
性能优化·实战·harmonyos·arkts·arkui