HarmonyOS 鸿蒙Next DevEco运行native代码出错

HarmonyOS 鸿蒙Next DevEco运行native代码出错 创建c++项目运行文件报错,麻烦帮忙解决一下呗

Cmake thread

org.gradle.api.GradleException: native build cmake execute failed

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at com.huawei.ohos.build.utils.ProcessUtils.processWait(ProcessUtils.groovy:123)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:86)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy)
at com.huawei.ohos.build.utils.ProcessUtils$execute$1.callCurrent(Unknown Source)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:59)
at com.huawei.ohos.build.utils.ProcessUtils$execute$0.callCurrent(Unknown Source)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:55)
at com.huawei.ohos.build.utils.ProcessUtils$execute.call(Unknown Source)
at com.huawei.ohos.build.dsl.CmakeThread.executeCmakeBuild(CmakeThread.groovy:106)
at com.huawei.ohos.build.dsl.CmakeThread.run(CmakeThread.groovy:57)

Exception in thread “Thread-476” org.gradle.api.GradleException: native build cmake execute failed

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:72)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:277)
at com.huawei.ohos.build.utils.ProcessUtils.processWait(ProcessUtils.groovy:123)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:203)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:86)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy)
at com.huawei.ohos.build.utils.ProcessUtils$execute$1.callCurrent(Unknown Source)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:59)
at com.huawei.ohos.build.utils.ProcessUtils$execute$0.callCurrent(Unknown Source)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:55)
at com.huawei.ohos.build.utils.ProcessUtils$execute.call(Unknown Source)
at com.huawei.ohos.build.dsl.CmakeThread.executeCmakeBuild(CmakeThread.groovy:106)
at com.huawei.ohos.build.dsl.CmakeThread.run(CmakeThread.groovy:57)
> Task :entry:compileDebugNativeWithCmake FAILED
:entry:compileDebugNativeWithCmake (Thread[Execution worker for ':' Thread 5,5,main]) completed. Took 2.628 secs.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':entry:compileDebugNativeWithCmake'.
> native build cmake execute failed

更多关于HarmonyOS 鸿蒙Next DevEco运行native代码出错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

这个没看出什么错误,你用gradle执行打包加上 -i 执行,可以看到更多的报错信息

更多关于HarmonyOS 鸿蒙Next DevEco运行native代码出错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


已经知道了相关原因 ,同样谢谢了,

请问是什么原因?方便告诉吗?我也是这个问题,但是找不到原因,

欢迎开发小伙伴们进来帮帮楼主

针对HarmonyOS(鸿蒙)Next DevEco运行native代码出错的问题,可能的原因及解决方向如下:

  1. NDK版本不匹配: 确保你使用的NDK版本与HarmonyOS SDK版本兼容。不同版本的SDK可能对应不同版本的NDK,使用不兼容的版本可能会导致编译或运行时错误。

  2. 编译配置问题: 检查你的build.gradleCMakeLists.txt等编译配置文件,确保native代码的编译选项、链接库路径等设置正确。特别是针对鸿蒙系统的特定编译选项和链接器标志。

  3. API调用问题: 确认你调用的native API是否适用于HarmonyOS。有些API可能在标准Android上可用,但在鸿蒙系统上不可用或行为不同。

  4. 资源文件问题: 如果你的native代码依赖于特定的资源文件(如so库、配置文件等),确保这些文件已正确打包并能在运行时被找到。

  5. 环境问题: 确保你的开发环境(如IDE、模拟器或真机)已正确配置为支持HarmonyOS开发。有时,环境问题(如旧版本的IDE插件)可能导致编译或运行失败。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部