Skip to main content
All CollectionsKnowledge BaseAndroid
Using Android SDK tools with Java 11
Using Android SDK tools with Java 11
Updated over a week ago

Issue:

After switching from Java 8 to Java 11 on the build machine, some Android SDK commands fail with this error:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)

Commands that fail with this error include avdmanager and sdkmanager.

Possible solutions:

Android SDK tools are not yet compatible with Java 11 and need Java 8 (1.8) to run correctly. The Bitrise stacks provide both Java 8 and Java 11, with Java 8 being active by default.

If you need a Java 11 runtime for your project to compile, you can switch to Java 11 only before it's needed by the next Step. Any previous Steps will continue to use the Java 8 runtime.

Additional information:

Did this answer your question?