How do I install [app-engine-java] to operate mine own App Inventor instance on Debian 13?

Hi,

I am using Debian 13 Trixie operating system.

I wish to operate mine own App Inventor instance to develope Android apps.
I followed the instructions described here: appinventor-sources
The installation was successful, but one dependency remained unsatisfied.
When I ran the following command:

/usr/lib/google-cloud-sdk/bin/java_dev_appserver.sh  --port=8888 --address=0.0.0.0 appengine/build/war/

I got this error message:

This action requires the installation of components: [app-engine-java]
Traceback (most recent call last):
  File "/usr/lib/google-cloud-sdk/bin/bootstrapping/java_dev_appserver.py", line 50, in <module>
    main()
    ~~~~^^
  File "/usr/lib/google-cloud-sdk/bin/bootstrapping/java_dev_appserver.py", line 38, in main
    update_manager.UpdateManager.EnsureInstalledAndRestart(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        ['app-engine-java'],
        ^^^^^^^^^^^^^^^^^^^^
        command=__file__)
        ^^^^^^^^^^^^^^^^^
  File "/usr/lib/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py", line 273, in EnsureInstalledAndRestart
    return manager._EnsureInstalledAndRestart(components, msg, command)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py", line 1531, in _EnsureInstalledAndRestart
    if not self.Install(components, throw_if_unattended=True,
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        restart_args=restart_args):
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py", line 955, in Install
    return self.Update(
           ~~~~~~~~~~~^
        components,
        ^^^^^^^^^^^
        throw_if_unattended=throw_if_unattended,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        version=version,
        ^^^^^^^^^^^^^^^^
        restart_args=restart_args)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py", line 986, in Update
    self._CheckIfDisabledAndThrowError(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        components=update_seed, command='update')
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py", line 603, in _CheckIfDisabledAndThrowError
    raise UpdaterDisabledError(mapping_message)
googlecloudsdk.core.updater.update_manager.UpdaterDisabledError: 
You cannot perform this action because the Google Cloud CLI component manager 
is disabled for this installation. You can run the following command 
to achieve the same result for this installation: 

sudo apt-get install google-cloud-cli-app-engine-java

So I followed the advice and installed the [app-engine-java] component:

sudo apt-get install google-cloud-cli-app-engine-java

Then I ran the command again:

/usr/lib/google-cloud-sdk/bin/java_dev_appserver.sh  --port=8888 --address=0.0.0.0 appengine/build/war/

but now I got the following error message:

Error: LinkageError occurred while loading main class com.google.appengine.tools.KickStart
	java.lang.UnsupportedClassVersionError: com/google/appengine/tools/KickStart has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

So, what can I do now to solve this problem?

I appreciate all advice!

Postscript:
I installed the openjdk-11 version using sdkman!

java -version
openjdk version "21.0.9" 2025-10-21
OpenJDK Runtime Environment (build 21.0.9+10-Debian-1deb13u1)
OpenJDK 64-Bit Server VM (build 21.0.9+10-Debian-1deb13u1, mixed mode, sharing)

Oops, I didn't install this using sdkman!
Now I run in

~/appinventor-sources/appinventor/ 

directory

sdk use java 11.0.29-tem
Using java version 11.0.29-tem in this shell.

and run again the command:

/usr/lib/google-cloud-sdk/bin/java_dev_appserver.sh  --port=8888 --address=0.0.0.0 appengine/build/war/

and get the following error message:

Error: LinkageError occurred while loading main class com.google.appengine.tools.KickStart
	java.lang.UnsupportedClassVersionError: com/google/appengine/tools/KickStart has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

--
Sincerely, Paul

Hello Paul,

Although you selected java version 11 using SDKMan, you forgot to update your javac path that will be used to build the App Inventor sources.

Recompile the sources after selecting javac of version 11.

While compiling, use the -v flag in your ant build command to verify the Java version that it picks up.

PS: Begin questions with "how do I" rather than "how to" (which is often used for Guides)

1 Like

Well, then I deleted the ~/appinventor-sources/ directory and started over.

I didn't do this the first time, but I did this time:

sudo apt-get update && sudo apt-get --only-upgrade install google-cloud-cli-docker-credential-gcr google-cloud-cli-skaffold google-cloud-cli-datastore-emulator google-cloud-cli-app-engine-java google-cloud-cli-cloud-build-local google-cloud-cli-run-compose google-cloud-cli-pubsub-emulator google-cloud-cli-cloud-run-proxy google-cloud-cli-anthos-auth google-cloud-cli-cbt google-cloud-cli-spanner-cli google-cloud-cli google-cloud-cli-app-engine-python google-cloud-cli-terraform-tools google-cloud-cli-package-go-module google-cloud-cli-gke-gcloud-auth-plugin google-cloud-cli-app-engine-python-extras google-cloud-cli-app-engine-go google-cloud-cli-spanner-emulator google-cloud-cli-anthoscli kubectl google-cloud-cli-enterprise-certificate-proxy google-cloud-cli-kubectl-oidc google-cloud-cli-app-engine-grpc google-cloud-cli-spanner-migration-tool google-cloud-cli-local-extract google-cloud-cli-firestore-emulator google-cloud-cli-istioctl google-cloud-cli-kpt google-cloud-cli-bigtable-emulator google-cloud-cli-minikube google-cloud-cli-nomos google-cloud-cli-log-streaming google-cloud-cli-managed-flink-client google-cloud-cli-config-connector

Maybe that's why it didn't work?

However, now - following your advice - I have ensured that I am using Java JDK version 11:

sdk default java 11.0.29-tem

The output of this command above is:

setting java 11.0.29-tem as the default version for all shells.
java -version
openjdk version "11.0.29" 2025-10-21
OpenJDK Runtime Environment Temurin-11.0.29+7 (build 11.0.29+7)
OpenJDK 64-Bit Server VM Temurin-11.0.29+7 (build 11.0.29+7, mixed mode)

Now I issued the following command:

ant -v

When the command was run, the first lines of output were:

Apache Ant(TM) version 1.10.15 compiled on September 29 2024
Trying the default build file: build.xml
Buildfile: /home/pali/appinventor-sources/appinventor/build.xml
Detected Java version: 11 in: /home/pali/.sdkman/candidates/java/11.0.29-tem
Detected OS: Linux

Unfortunately, the command failed to run this time:

     [java] dec. 03, 2025 3:01:54 DU. com.google.appinventor.buildserver.util.Execution execute
     [java] INFO: ____Executing java @/tmp/1764770490855_7730002017160529920-0/youngandroidproject/../build/tmp/d8arguments.txt
     [java] #
     [java] # A fatal error has been detected by the Java Runtime Environment:
     [java] #
     [java] #  SIGSEGV (0xb) at pc=0x0000000000000011, pid=47801, tid=47823
     [java] #
     [java] # JRE version: OpenJDK Runtime Environment Temurin-11.0.29+7 (11.0.29+7) (build 11.0.29+7)
     [java] # Java VM: OpenJDK 64-Bit Server VM Temurin-11.0.29+7 (11.0.29+7, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
     [java] # Problematic frame:
     [java] # C  0x0000000000000011
     [java] #
     [java] # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
     [java] #
     [java] # An error report file with more information is saved as:
     [java] # /tmp/1764770490855_7730002017160529920-0/build/tmp/hs_err_pid47801.log
     [java] [thread 47824 also had an error]
     [java] Compiled method (c1)   13551 3346       2       com.android.tools.r8.internal.sl0::H (23 bytes)
     [java]  total in heap  [0x00007fbc351bfa90,0x00007fbc351bfeb0] = 1056
     [java]  relocation     [0x00007fbc351bfc08,0x00007fbc351bfc58] = 80
     [java]  main code      [0x00007fbc351bfc60,0x00007fbc351bfda0] = 320
     [java]  stub code      [0x00007fbc351bfda0,0x00007fbc351bfe00] = 96
     [java]  oops           [0x00007fbc351bfe00,0x00007fbc351bfe08] = 8
     [java]  metadata       [0x00007fbc351bfe08,0x00007fbc351bfe18] = 16
     [java]  scopes data    [0x00007fbc351bfe18,0x00007fbc351bfe48] = 48
     [java]  scopes pcs     [0x00007fbc351bfe48,0x00007fbc351bfea8] = 96
     [java]  dependencies   [0x00007fbc351bfea8,0x00007fbc351bfeb0] = 8
     [java] Compiled method (c1)   13552 3346       2       com.android.tools.r8.internal.sl0::H (23 bytes)
     [java]  total in heap  [0x00007fbc351bfa90,0x00007fbc351bfeb0] = 1056
     [java]  relocation     [0x00007fbc351bfc08,0x00007fbc351bfc58] = 80
     [java]  main code      [0x00007fbc351bfc60,0x00007fbc351bfda0] = 320
     [java]  stub code      [0x00007fbc351bfda0,0x00007fbc351bfe00] = 96
     [java]  oops           [0x00007fbc351bfe00,0x00007fbc351bfe08] = 8
     [java]  metadata       [0x00007fbc351bfe08,0x00007fbc351bfe18] = 16
     [java]  scopes data    [0x00007fbc351bfe18,0x00007fbc351bfe48] = 48
     [java]  scopes pcs     [0x00007fbc351bfe48,0x00007fbc351bfea8] = 96
     [java]  dependencies   [0x00007fbc351bfea8,0x00007fbc351bfeb0] = 8
     [java] Compiled method (c1)   13552 3346       2       com.android.tools.r8.internal.sl0::H (23 bytes)
     [java]  total in heap  [0x00007fbc351bfa90,0x00007fbc351bfeb0] = 1056
     [java]  relocation     [0x00007fbc351bfc08,0x00007fbc351bfc58] = 80
     [java]  main code      [0x00007fbc351bfc60,0x00007fbc351bfda0] = 320
     [java]  stub code      [0x00007fbc351bfda0,0x00007fbc351bfe00] = 96
     [java]  oops           [0x00007fbc351bfe00,0x00007fbc351bfe08] = 8
     [java]  metadata       [0x00007fbc351bfe08,0x00007fbc351bfe18] = 16
     [java]  scopes data    [0x00007fbc351bfe18,0x00007fbc351bfe48] = 48
     [java]  scopes pcs     [0x00007fbc351bfe48,0x00007fbc351bfea8] = 96
     [java]  dependencies   [0x00007fbc351bfea8,0x00007fbc351bfeb0] = 8
     [java] #
     [java] # If you would like to submit a bug report, please visit:
     [java] #   https://github.com/adoptium/adoptium-support/issues
     [java] #
     [java] [RunD8] ERROR: d8 failed.
     [java] [RunD8] Task errored in 14.998 seconds
      [ant] Exiting /home/pali/appinventor-sources/appinventor/buildserver/build.xml.

BUILD FAILED
/home/pali/appinventor-sources/appinventor/build.xml:24: The following error occurred while executing this line:
/home/pali/appinventor-sources/appinventor/buildserver/build.xml:300: Java returned: 1
	at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:577)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
	at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
	at org.apache.tools.ant.Task.perform(Task.java:350)
	at org.apache.tools.ant.Target.execute(Target.java:449)
	at org.apache.tools.ant.Target.performTasks(Target.java:470)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
	at org.apache.tools.ant.Main.runBuild(Main.java:818)
	at org.apache.tools.ant.Main.startAnt(Main.java:223)
	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)

Total time: 43 minutes 13 seconds

Or maybe the problem is that I previously installed the app-engine-java package like this:

sudo apt-get install google-cloud-cli-app-engine-java

What did I do wrong?
How do I solve this problem?

I haven't seen anything like this. This is a very rare occurrence, a crash in the Java VM itself. I suggest updating your OpenJDK 11 installation or switching to a different JDK 11 (Amazon Corretto/IBM) altogether.

First, I deleted app-engine-java installed Debian way:

sudo apt purge google-cloud-cli-app-engine-java

What is the ~/appinventor-sources/appinventor/appengine/ directory for?

Okay. I would have updated OpenJDK 11 installation first, but this one was the latest.
Then I switched to:

java -version
openjdk version "11.0.29" 2025-10-21 LTS
OpenJDK Runtime Environment Corretto-11.0.29.7.1 (build 11.0.29+7-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.29.7.1 (build 11.0.29+7-LTS, mixed mode)

Then I deleted the ~/appinventor-sources/ directory again and started over.
This time, running ant -v succeeded.
Finally, I ran the following command:

/usr/lib/google-cloud-sdk/bin/java_dev_appserver.sh  --port=8888 --address=0.0.0.0 appengine/build/war/

I got the error message again:

This action requires the installation of components: [app-engine-java]
Traceback (most recent call last):
  File "/usr/lib/google-cloud-sdk/bin/bootstrapping/java_dev_appserver.py", line 50, in <module>
    main()
    ~~~~^^
  File "/usr/lib/google-cloud-sdk/bin/bootstrapping/java_dev_appserver.py", line 38, in main
    update_manager.UpdateManager.EnsureInstalledAndRestart(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        ['app-engine-java'],
        ^^^^^^^^^^^^^^^^^^^^
        command=__file__)
        ^^^^^^^^^^^^^^^^^
  File "/usr/lib/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py", line 273, in EnsureInstalledAndRestart
    return manager._EnsureInstalledAndRestart(components, msg, command)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py", line 1531, in _EnsureInstalledAndRestart
    if not self.Install(components, throw_if_unattended=True,
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        restart_args=restart_args):
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py", line 955, in Install
    return self.Update(
           ~~~~~~~~~~~^
        components,
        ^^^^^^^^^^^
        throw_if_unattended=throw_if_unattended,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        version=version,
        ^^^^^^^^^^^^^^^^
        restart_args=restart_args)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py", line 986, in Update
    self._CheckIfDisabledAndThrowError(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        components=update_seed, command='update')
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/google-cloud-sdk/lib/googlecloudsdk/core/updater/update_manager.py", line 603, in _CheckIfDisabledAndThrowError
    raise UpdaterDisabledError(mapping_message)
googlecloudsdk.core.updater.update_manager.UpdaterDisabledError: 
You cannot perform this action because the Google Cloud CLI component manager 
is disabled for this installation. You can run the following command 
to achieve the same result for this installation: 

sudo apt-get install google-cloud-cli-app-engine-java

This is how I installed it again:

sudo apt install google-cloud-cli-app-engine-java

Try again:

/usr/lib/google-cloud-sdk/bin/java_dev_appserver.sh  --port=8888 --address=0.0.0.0 appengine/build/war/

The same error message again:

Error: LinkageError occurred while loading main class com.google.appengine.tools.KickStart
	java.lang.UnsupportedClassVersionError: com/google/appengine/tools/KickStart has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

I am at a loss.

The Google Cloud SDK now needs Java 17 to run.