Qt android 200+ gradle errors when building

1.3k Views Asked by At

I am trying to setup android in qt. After following this tutorial Qt tuturial every android and openSSL settings are ok. Creating and launching emulator also works but when i try to build any project (i tried qt android tagged example and new empty project configured for android 86x_64) i get 200+ errorserrors 1errors 2errors 3

ERROR:*-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: Cannot invoke "String.length()" because "<parameter1>" is null
ERROR:*-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: Cannot invoke "String.length()" because "<parameter1>" is null
org.gradle.workers.WorkerExecutionException: There were multiple failures while executing work items
    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)

///repeating errors///
        
    Caused by: [CIRCULAR REFERENCE: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null]

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':dexBuilderDebug'.
  There were multiple failures while executing work items
     A failure occurred while executing com.android.build.gradle.internal.dexing.DexWorkAction
        Failed to process: *-Android_Qt_6_6_0_Clang_x86_64-Debug\android-build\build\intermediates\javac\debug\classes
     A failure occurred while executing com.android.build.gradle.internal.dexing.DexWorkAction
      > Failed to process: *-Android_Qt_6_6_0_Clang_x86_64-Debug\android-build\build\intermediates\javac\debug\classes

* Try:
  Run with --stacktrace option to get the stack trace.
  Run with --info or --debug option to get more log output.
  Run with --scan to get full insights.
  Get more help at https://help.gradle.org.

I also tried installing everything from android studio not using qt creator for SDK setup. I always get the same error.

2

There are 2 best solutions below

0
Shafuir On

Ok, i found out how to fix it. Following qt tutorial they install NDK 21 and for their version it might work but as im using android 34 i need to use NDK 17. After deleting whole Android folder where SDK is and setting everything up again but with NDK 17 it worked for me.

what i followed

0
Eyad Ahmed On

Using JDK 17 worked for me I found the solution here https://bugreports.qt.io/browse/QTBUG-119223