How to Run VASSAL on Android

Well, things doesn’t “just” change without something prompting it to - the machines have not yet achieved consciousness :slight_smile:

That’s clear and from your screenshot

it is also clear that is has nothing to do with the Java version installed, but because there’s a runtime linking error:

Error: LinkageError occurred while loading main class VASSAL.launch.JavaVersionChecker
       java.lang.UnsatisfiedLinkError: /data/data/com.termux/files/usr/lib/jvm/java-17-openjdk/lib/libnio.so: dlopen failed: cannot locate symbol "JNU_GetStringPlatformCharsStrict" referenced by "/data/data/com.termux/files/usr/lib/jvm/java-21-openjdk/lib/libnet.so"...

But notice how the Java 17 executable is trying to load stuff from Java 21 /data/data/com.termux/files/usr/lib/jvm/java-21-openjdk/lib/libnet.so - that’s not good.

/data/data/com.termux/files/usr/bin/java is a file - not a directory, so you cannot cd (change directory) to it. You can do

cd /data/data/com.termux/files/usr/bin/

though, but it doesn’t tell you much.

Hold your horses - this is Unix not Windows - your only choice is not to scratch everything.

I suggest you try to de-install both Java 17 and 21, and then install Java 21: At the Termux prompt do (remember, the $ is the prompt and not part of what you need to type):

$ pkg uninstall openjdk-17-x   openjdk-21-x
$ pkg update 
$ pkg upgrade 
$ pkg install openjdk-21-x

If that doesn’t work, then perhaps you want to try to de-install Termux, Termux:Widget, Termux:X11 as Android apps and then redo the entire process How to Run VASSAL on Android (X11). Please make sure to read the whole thing before starting the process.

Yours,
Christian