HarmonyOS 鸿蒙Next 运行Native的sample过程中NativeLayer无法成功
HarmonyOS 鸿蒙Next 运行Native的sample过程中NativeLayer无法成功 报错如下:
- Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:entry:compileDebugNativeWithCmake’.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:145)
at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:143)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:131)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:74)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:402)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:389)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:382)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:368)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61)
Caused by: 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:127)
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:90)
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:63)
at com.huawei.ohos.build.utils.ProcessUtils$execute$0.callCurrent(Unknown Source)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:59)
at com.huawei.ohos.build.utils.ProcessUtils$execute.call(Unknown Source)
at com.huawei.ohos.build.dsl.CmakeThread.executeCmakeBuild(CmakeThread.groovy:109)
at com.huawei.ohos.build.dsl.CmakeThread.run(CmakeThread.groovy:60)
更多关于HarmonyOS 鸿蒙Next 运行Native的sample过程中NativeLayer无法成功的实战教程也可以访问 https://www.itying.com/category-93-b0.html
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply plugin: ‘com.huawei.ohos.app’
//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510
ohos { signingConfigs { debug { storeFile file(‘C:\Users\z.liang\.ohos\config\auto_debug_nativelayer_150086000133260241.p12’) storePassword ‘0000001B202C89A166E9249AECD9C0E9A89388E227A501B2532DA0476B3665EF0A404917358154BB1CAB3B’ keyAlias = ‘debugKey’ keyPassword ‘0000001B0B62CEBC0ECD23FFA8FDDD12A475FA2048807E0FC4E20CCD214581E108AEE5E350A3160632AB8E’ signAlg = ‘SHA256withECDSA’ profile file(‘C:\Users\z.liang\.ohos\config\auto_debug_nativelayer_150086000133260241.p7b’) certpath file(‘C:\Users\z.liang\.ohos\config\auto_debug_nativelayer_150086000133260241.cer’) } } compileSdkVersion 6 defaultConfig { compatibleSdkVersion 5 } }
buildscript { repositories { maven { url ‘https://repo.huaweicloud.com/repository/maven/’ } maven { url ‘https://developer.huawei.com/repo/’ } } dependencies { classpath ‘com.huawei.ohos:hap:3.0.5.11’ } }
allprojects { repositories { maven { url ‘https://repo.huaweicloud.com/repository/maven/’ } maven { url ‘https://developer.huawei.com/repo/’ } } }
更多关于HarmonyOS 鸿蒙Next 运行Native的sample过程中NativeLayer无法成功的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
看着也没啥问题,你把sample地址发一下,我自己试试!
麻烦提供下DevEco Studio版本,sdk版本和build.gradle里面构建插件的版本!
DevEco Studio 3.0 Beta4
apply plugin: 'com.huawei.ohos.hap' //For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510
ohos {
compileSdkVersion 6
defaultConfig {
compatibleSdkVersion 5
}
buildTypes {
release {
proguardOpt {
proguardEnabled false
rulesFiles 'proguard-rules.pro'
}
}
}
externalNativeBuild {
path "src/main/cpp/CMakeLists.txt"
arguments "-v"
abiFilters "arm64-v8a"
cppFlags ""
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
}
classpath 'com.huawei.ohos:hap:'
针对“HarmonyOS 鸿蒙Next 运行Native的sample过程中NativeLayer无法成功”的问题,可能的原因及解决方案如下:
-
环境配置问题:
- 确认已正确安装并配置了鸿蒙开发环境,包括SDK、NDK等。
- 检查环境变量是否设置正确,确保编译器、链接器等工具链路径无误。
-
代码或资源文件错误:
- 检查NativeLayer相关的源代码,确认无语法错误、逻辑错误或资源文件缺失。
- 验证Native代码与鸿蒙系统的兼容性,特别是API调用部分。
-
编译与链接问题:
- 确认编译命令和链接命令是否正确,包括指定的目标架构、编译选项等。
- 检查编译输出和链接输出,查找可能的错误信息或警告。
-
运行时问题:
- 使用调试工具(如gdb)对NativeLayer进行调试,查看程序崩溃或挂起的具体位置。
- 检查系统日志或应用日志,查找可能的异常信息或错误代码。
-
权限与安全设置:
- 确认应用已获取运行Native代码所需的权限。
- 检查系统安全策略,确保Native代码未触发安全限制。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html 。