Fix Flutter doctor failed due to java.lang.NoClassDefFoundError

nabbisen - May 26 '21 - - Dev Community

Trouble

I updated Flutter version to 2.2.0 on my Arch Linux today.
Then I met the error "Android license status unknown." in running flutter doctor for the first time. It seemed strange because I had already run it with an option: flutter doctor --android-licenses. Anyway, there was no way except running it again. And the result was:

Console error

Thus, I got "java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema". Puzzled.

Solution

I solved it via Android Studio settings with installation of “Android SDK Command-line Tools”

Start Android Studio.
Go to [ File ] -> [ Settings ] in main menus.

Android Studio main menus

In Settings, go to [ Appearance & Behavior ] -> [ System Settings ] -> [ Android SDK ].
Activate "SDK tools" tab.
Check "Android SDK Command-line Tools". Click "OK".

Android Studio Settings

Go on.

Android Studio Android SDK

The command-line tools will be installed.

Confirmation

Finished when Finsh button is activated.

Acknowledgment

Many thanks to Github Flutter issues (51670 / 56778) and ぶるー's zenn.dev post.

Result

flutter doctor --android-licenses printed the process had been successful.

Successful

Then flutter doctor, too 🙂

flutter doctor completed

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .