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
这个没看出什么错误,你用gradle执行打包加上 -i
执行,可以看到更多的报错信息
更多关于HarmonyOS 鸿蒙Next DevEco运行native代码出错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
已经知道了相关原因 ,同样谢谢了,
请问是什么原因?方便告诉吗?我也是这个问题,但是找不到原因,
针对HarmonyOS(鸿蒙)Next DevEco运行native代码出错的问题,可能的原因及解决方向如下:
-
NDK版本不匹配: 确保你使用的NDK版本与HarmonyOS SDK版本兼容。不同版本的SDK可能对应不同版本的NDK,使用不兼容的版本可能会导致编译或运行时错误。
-
编译配置问题: 检查你的
build.gradle
或CMakeLists.txt
等编译配置文件,确保native代码的编译选项、链接库路径等设置正确。特别是针对鸿蒙系统的特定编译选项和链接器标志。 -
API调用问题: 确认你调用的native API是否适用于HarmonyOS。有些API可能在标准Android上可用,但在鸿蒙系统上不可用或行为不同。
-
资源文件问题: 如果你的native代码依赖于特定的资源文件(如so库、配置文件等),确保这些文件已正确打包并能在运行时被找到。
-
环境问题: 确保你的开发环境(如IDE、模拟器或真机)已正确配置为支持HarmonyOS开发。有时,环境问题(如旧版本的IDE插件)可能导致编译或运行失败。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,