我在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设备上运行一个应用程序时,在一个不同的项目中,我使用一些旧版本的tomcat8,必须设置JAVA_OPTS变量和值,我遇到了同样的问题。因此我删除了JAVA_OPTS的这个系统变量,它的variable值设置为-Xms1024m(删除JAVA_OPTS系统变量,但是如果您需要恢复到使用可能需要它的旧项目,您也可以存储它以供将来使用)。

然后在SDK路径下运行SDK管理器bat文件: PS C:\Users[your_pc_username]\AppData\Local\Android\Sdk\tools\bin> .\sdkmanager.bat——license

接受所有许可(Y)。

其他回答

要添加答案,您还可以更改到sdkmanager目录并在子shell中接受那里的许可

(
    cd /home/user/android-sdk-linux/tools/bin
    yes | ./sdkmanager --licenses
)

在我的情况下,更新buildToolsVersion在应用程序级别构建。Gradle工作得很完美。如果你不知道使用哪个,你可以创建一个新的项目,并复制buildToolsVersion到现有的一个。

在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

如果您正在使用Flutter,那么这个命令绝对适合您。

flutter doctor --android-licenses

如果您正在使用颤振,请执行以下步骤

1.open the command prompt

然后执行以下命令

2.C:\Users\niroshan>flutter doctor

您将看到如下问题

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 1.22.2, on Microsoft Windows [Version 10.0.17763.1339], locale en-US)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    X Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[!] Android Studio (version 4.1.0)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.50.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

实际上,您必须运行下面的命令

C:\Users\niroshan>flutter doctor --android-licenses