1. ホーム
  2. アンドロイド

[解決済み】"Failed to install the following Android SDK packages as some licences have not been accepted "というエラーが発生する。

2022-03-25 06:41:02

質問

jitpackでこのようなエラーが発生します。インターネット上のあらゆることを試しました。以下は私のエラーです。

Failed to install the following Android SDK packages as some licences have not been accepted.
     platforms;android-26 Android SDK Platform 26
     build-tools;28.0.3 Android SDK Build-Tools 28.0.3
  To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.

そして、./sdkmanager --licensesを実行したところ

 All SDK package licenses accepted.======] 100% Computing updates...             

上記のコマンドでsudoを使用すると

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)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    ... 5 more

追加エラーログ

File /opt/android-sdk-linux/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 28.0.3 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 26 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Platform 26 not accepted.

sdkの場所は他にあるのに、なぜそこでライセンスをチェックするのかわかりません。

どうすればいいですか?

ビルドする前に、ライセンスに同意する必要があります。

によると Android SDKドキュメント を実行すると、sdkmanagerの場所によって、以下のコマンドが使用できます。に関するドキュメント --licenses というオプションがないようですが。

yes | sdkmanager --licenses

GNU/Linuxディストリビューション。

yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses

macOSです。

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

Windowsです。

%ANDROID_HOME%/tools/bin/sdkmanager --licenses

フラッター

> flutter doctor --android-licenses