- Creator 版本:3.8.8
- 目标平台:HarmonyOS Next,没有勾选“调试模式”
- 手机型号:(使用的云调试)pura 90
- sdk版本:HarmonyOS 6.0.2 Release SDK,原样包含OpenHarmony SDK Ohos_sdk_public 6.0.2.130 (API Version 22 Release)
- 问题: 云调试输出的日志显示无法调用arkTS的方法。
AI分析日志的结论:Cocos Creator 默认的 native.reflection 桥接方式在 HarmonyOS NEXT 上不兼容,导致 JS 层无法获取原生 XComponent 对象( __NATIVE_XCOMPONENT_OBJ__ 缺失),进而引发一系列 API 调用失败。
cocos的场景中挂载的脚本主要代码如下:
import { _decorator, Component, Node, Vec3, input, Input, EventTouch } from 'cc';
const { ccclass, property } = _decorator;
@ccclass('PlayerController')
export class PlayerController extends Component {
start() {
console.log("===✅player: Cocos 启动成功");
// 延迟 1 秒等待引擎稳定
this.scheduleOnce(() => {
this.callArkTS();
}, 2.0);
}
callArkTS() {
try {
let result = native.reflection.callStaticMethod(
"entry/src/main/ets/CocosTest",
"entry/testSync",
JSON.stringify({ msg: "hello" }),
true
);
console.log("===✅ 调用成功,返回:" + result);
} catch (e) {
console.error("===❌player: 调用失败:", e);
}
}
}
deveco中代码如下:
// entry/src/main/ets/CocosTest.ets
export function testSync(paramStr: string): string {
console.info("===✅ArkTS 收到 paramStr:" + paramStr);
return "===返回:" + paramStr;
}
entry目录下build-profile.json添加的配置如下。
"targetSdkVersion": "5.0.3(15)"// 6.0.2(22)也尝试过,同样无法解决
希望有大佬能帮忙解决这个问题!!!
