Qt Android项目构建遇200+Gradle错误,求排查方案
Qt Android构建报错:D8抛出空指针异常(调用String.length()时参数为null)
问题详情
- 已按照Qt官方教程完成Android及OpenSSL环境配置,模拟器可正常创建并启动
- 构建任意Android项目(包括Qt官方示例、x86_64架构空项目)时,均出现200+错误
- 核心错误:D8工具抛出
java.lang.NullPointerException: 无法调用"String.length()",因为"<parameter1>"为null - 尝试通过Android Studio重新安装SDK后,问题仍未解决
错误日志
错误:*-Android_Qt_6_6_0_Clang_x86_64-Debug\android-build\build\intermediates\javac\debug\classes\org\qtproject\qt\android\bindings\QtLoader$2.class: D8: java.lang.NullPointerException: 无法调用"String.length()",因为"<parameter1>"为null 错误:*-Android_Qt_6_6_0_Clang_x86_64-Debug\android-build\build\intermediates\javac\debug\classes\org\qtproject\qt\android\bindings\QtLoader$1.class: D8: java.lang.NullPointerException: 无法调用"String.length()",因为"<parameter1>"为null org.gradle.workers.WorkerExecutionException: 执行工作项时出现多个失败 at org.gradle.workers.internal.DefaultWorkerExecutor.workerExecutionException(DefaultWorkerExecutor.java:221) at org.gradle.workers.internal.DefaultWorkerExecutor.await(DefaultWorkerExecutor.java:201) at com.android.build.gradle.internal.tasks.DexArchiveBuilderTaskDelegate.doProcess(DexArchiveBuilderTaskDelegate.kt:220) at com.android.build.gradle.internal.tasks.DexArchiveBuilderTask.doTaskAction(DexArchiveBuilderTask.kt:224) at com.android.build.gradle.internal.tasks.NewIncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(BaseTask.kt:69) at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:51) at com.android.build.gradle.internal.tasks.NewIncrementalTask.taskAction(NewIncrementalTask.kt:46) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125) at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:336) at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:319) at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLock(DefaultWorkerLeaseService.java:324) at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:126) ///重复错误/// 原因:[循环引用:java.lang.NullPointerException: 无法调用"String.length()",因为"<parameter1>"为null] 构建失败:出现异常。 * 出错原因: 任务':dexBuilderDebug'执行失败。 执行工作项时出现多个失败 执行com.android.build.gradle.internal.dexing.DexWorkAction时失败 处理失败:*-Android_Qt_6_6_0_Clang_x86_64-Debug\android-build\build\intermediates\javac\debug\classes 执行com.android.build.gradle.internal.dexing.DexWorkAction时失败 > 处理失败:*-Android_Qt_6_6_0_Clang_x86_64-Debug\android-build\build\intermediates\javac\debug\classes * 尝试方案: 使用--stacktrace选项获取堆栈跟踪。 使用--info或--debug选项获取更多日志输出。 使用--scan选项获取完整分析信息。 访问https://help.gradle.org获取更多帮助。
错误截图
- 错误截图1
- 错误截图2
- 错误截图3
内容的提问来源于stack exchange,提问作者Shafuir
相关产品推荐
相关产品推荐

