我在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位置是其他


当前回答

在Windows操作系统中,在cmd中进入sdkmanager路径目录

你可以在C:\Users\USER\AppData\Local\Android\Sdk\tools\bin目录下找到你的sdk管理器

然后执行如下命令:

sdkmanager——许可证

之后,它将要求接受许可协议几次,然后接受所有只需在CMD上键入y

其他回答

https://www.youtube.com/watch?v=g789PvvW4qo真的帮助了我。所做的是打开SDK管理器和下载任何新的SDK平台(别担心,它不会影响你想要的api级别)。

因为下载任何SDK平台(API级别),你都应该接受许可。这招对我很管用。

你需要在建造之前接受许可证。

根据Android SDK文档,你可以根据sdkmanager的位置使用以下命令:docs on——licenses选项似乎没有。

yes | sdkmanager --licenses

GNU / Linux发行版:

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

一样:

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

窗口:

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

颤振:

> flutter config --android-sdk 'path-of-android-sdk'(only for ubuntu user)
> flutter doctor --android-licenses

目前看来是一个bug: https://issuetracker.google.com/issues/123054726

对我有效的解决方案:

创建一个.travis。Yml文件在你的项目目录,并复制这些行:

before_script:
- mkdir "$ANDROID_HOME/licenses" || true
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"

参考: https://github.com/square/RxIdler/pull/18/files

在Windows上:

添加USER环境变量:

注意:Path需要追加

JAVA_HOME           %ProgramFiles%\Android\Android Studio\jre
ANDROID_SDK_ROOT    %LocalAppData%\Android\Sdk
Path                %LocalAppData%\Android\Sdk

执行以下命令接受license:

注意:接受所有许可证(例如y)

%ANDROID_SDK_ROOT%/tools/bin/sdkmanager.bat --licenses

现在运行你的应用程序:

(就像下面,或其他命令,你失败了):

cd \myapp\
react-native run-android

在Android Studio去:工具> SDK管理器> SDK工具

在右下方,选中“Show Package Details”框,下载你需要的sdk版本: