Why is it so damn hard to build for Android!?

Godot Version

4 .2.1

Question

Why is it so damn hard to build? I feel like I’m in 1994 with error message that only machines can understand. ChatGPT can’t even solve this.

Java version 21.0.2
I updated Android Studio “Hedgehog 2023.1.1” patch 2

Crashes on Android export.

You know what would be super cool? To have the error come with a solution, like “Dude, click this button and I’ll update this ship for you”

“Thanks Godot, you’re fucking smart!”

Apologies for the frustration here. As a Unity refugee, I already came into Godot angry.

The message I’m getting:

Error opening file ''.
0 param: --xr_mode_regular
1 param: --use_immersive
  editor/export/editor_export_platform.h:182 - Export: Building of Android project failed, check output for the error:
  
  > Task :clean
  > Task :assetPacks:installTime:clean UP-TO-DATE
  > Task :preBuild UP-TO-DATE
  > Task :preDebugBuild UP-TO-DATE
  > Task :mergeDebugNativeDebugMetadata NO-SOURCE
  > Task :compileDebugAidl NO-SOURCE
  > Task :compileDebugRenderscript NO-SOURCE
  > Task :generateDebugBuildConfig
  > Task :generateDebugResValues
  > Task :generateDebugResources
  > Task :checkDebugAarMetadata
  > Task :createDebugCompatibleScreenManifests
  > Task :extractDeepLinksDebug
  > Task :processDebugMainManifest
  > Task :mergeDebugResources
  > Task :processDebugManifest
  > Task :mapDebugSourceSetPaths
  > Task :javaPreCompileDebug
  > Task :mergeDebugShaders
  > Task :compileDebugShaders NO-SOURCE
  > Task :generateDebugAssets UP-TO-DATE
  > Task :mergeDebugAssets
  > Task :processDebugJavaRes NO-SOURCE
  > Task :checkDebugDuplicateClasses
  > Task :compressDebugAssets
  > Task :mergeDebugJniLibFolders
  > Task :mergeLibDexDebug
  > Task :validateSigningDebug
  > Task :writeDebugAppMetadata
  > Task :writeDebugSigningConfigVersions
  > Task :processDebugManifestForPackage
  > Task :processDebugResources
  > Task :compileDebugKotlin NO-SOURCE
  > Task :mergeDebugNativeLibs
  
  > Task :desugarDebugFileDependencies
  WARNING:/Users/michaelbradley/.gradle/caches/transforms-3/9a2d4eb6c6396b495fa445404429297b/transformed/jetified-godot-lib.template_debug/jars/classes.jar: D8: One or more classes has class file version >= 56 which is not officially supported.
  
  > Task :compileDebugJavaWithJavac FAILED
  
  FAILURE: Build failed with an exception.
  
  * What went wrong:
  Execution failed for task ':compileDebugJavaWithJavac'.
  > Could not resolve all files for configuration ':androidJdkImage'.
     > Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
        > Execution failed for JdkImageTransform: /Users/michaelbradley/Library/Android/sdk/platforms/android-33/core-for-system-modules.jar.
           > Error while executing process /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/bin/jlink with arguments {--module-path /Users/michaelbradley/.gradle/caches/transforms-3/2c5288a26befd327551c909edade437b/transformed/output/temp/jmod --add-modules java.base --output /Users/michaelbradley/.gradle/caches/transforms-3/2c5288a26befd327551c909edade437b/transformed/output/jdkImage --disable-plugin system-modules}
  1. I don’t use Gradle because I don’t understand it. If you do understand it, then why are you asking us? My suggestion would be to NOT use Gradle build.

Just because something CAN be done doesn’t mean that it SHOULD be done.

  1. All my error messages were while installing the APK. For those messages, I was able to use the Android SDK VM to give me a usable error msg vs the generic “app not installed” I was getting from my phone. I was able to plug that specific error msg into Bing and get a set of usable instructions from the BingAI.

  2. My current Android issue isn’t giving me an error message at all. MOF, it seems to think that everything is A-OK, but there’s nothing there. The images that work fine on PC aren’t loading when I port it to Android. Can you help?

Who are you talking to?

Apparently you.