Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-27781

Android: App/Module builds fail with JDK 13 as of 9.0.0

    Details

    • Story Points:
      5
    • Sprint:
      2020 Sprint 5

      Description

      Summary:
      When building an app or module with Titanium 9.0.0, the build will fail if JDK 13 is installed.

      Titanium 8.3.x builds fine with JDK 13... except for Hyperloop builds: TIMOB-27780

      Steps to reproduce:

      1. Install JDK 13.
      2. Create a Titanium app project.
      3. Build with Titanium 9.0.0 for Android.

      Result:

      [ERROR] [GRADLE] FAILURE: Build failed with an exception.
      [ERROR] [GRADLE] 
      [ERROR] [GRADLE] * Where:
      [ERROR] [GRADLE] Settings file '/Users/jquick2/Documents/Appcelerator_Studio_Workspace/kitchensink-v2/build/android/settings.gradle'
      [ERROR] [GRADLE] 
      [ERROR] [GRADLE] * What went wrong:
      [ERROR] [GRADLE] Could not compile settings file '/Users/jquick2/Documents/Appcelerator_Studio_Workspace/kitchensink-v2/build/android/settings.gradle'.
      [ERROR] [GRADLE] > startup failed:
      [ERROR] [GRADLE]   General error during semantic analysis: Unsupported class file major version 57
      [ERROR] [GRADLE]   
      [ERROR] [GRADLE]   java.lang.IllegalArgumentException: Unsupported class file major version 57
      [ERROR] [GRADLE]   	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:184)
      [ERROR] [GRADLE]   	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:166)
      [ERROR] [GRADLE]   	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:152)
      [ERROR] [GRADLE]   	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:273)
      

      Cause:
      As of Titanium 9.0.0, we now build with gradle. We're currently using gradle v5.4.1 which does not support JDK 13. We'll need to upgrade to gradle v6.0.x (released January 2020) which supports JDK 13.
      https://docs.gradle.org/6.0/release-notes.html#java-13

      Note:
      You can have multiple JDK installations on Mac. You can list the JDK versions installed by entering the following at the command line.

      /usr/libexec/java_home -V
      

      You can select which installed JDK version to use by entering the following at the command line. You'll need to set the <JavaVersion> to what's installed, which the above command line will list. The below can be set in your .bash_profile file.

      export JAVA_HOME=$(/usr/libexec/java_home -v <JavaVersion>)
      

      Work-Around:
      Downgrade to JDK 12 or lower.
      (JDK 8 is the min version needed.)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jquick Joshua Quick
                Reporter:
                jquick Joshua Quick
                Reviewer:
                Gary Mathews
                Tester:
                Sohail Saddique
              • Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Backbone Issue Sync

                  • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                    Git Integration