Flutter: ✗ Android 许可证状态未知。

创建于 2018-03-28  ·  130评论  ·  资料来源: flutter/flutter

重现步骤

请告诉我们您在做什么以及出了什么问题。 如果您从命令行运行 flutter 工具,请尝试添加-v--verbose选项以收集更多信息。

  1. 运行flutter upgrade

什么地方出了错

✗ Android 许可证状态未知。

应该发生什么
应该没有问题。 上周的构建没有输出问题,本周的构建应该不会输出问题。

我试图解决的问题

  1. 升级的 Android Studio
  2. 在 SDK Manager 中添加了一些随机 SDK
  3. sudo chown -R $USER:$USER /opt/*
  4. flutter doctor --android-licenses

如果问题出在您的应用程序的渲染上,请附上屏幕截图和任何相关的源代码。
如果您在日志中收到异常,并且您的代码在前几帧中受到牵连,那么请包括所涉及函数的源代码。

日志

使用flutter run运行您的应用程序并附加所有日志输出。

Launching lib/main.dart on Nexus 5 in debug mode...
Initializing gradle...                                       0.8s
Resolving dependencies...                                   11.8s
Running 'gradlew assembleDebug'...                           4.7s
Built build/app/outputs/apk/debug/app-debug.apk (26.9MB).

然后应用程序在设备中打开并立即崩溃。

运行flutter analyze并附加该命令的任何输出。

Analyzing /home/users/n.gendron/GitLab/n.gendron/techno_store...
  lint • Close instances of `dart.core.Sink` at lib/server.dart:10:20 • close_sinks
  hint • 'BASE64' is deprecated and shouldn't be used at lib/edit.dart:85:9 • deprecated_member_use
  hint • 'JSON' is deprecated and shouldn't be used at lib/globals.dart:70:12 • deprecated_member_use
  hint • 'JSON' is deprecated and shouldn't be used at lib/globals.dart:80:19 • deprecated_member_use
  hint • 'BASE64' is deprecated and shouldn't be used at lib/item.dart:83:11 • deprecated_member_use
  hint • 'JSON' is deprecated and shouldn't be used at lib/server.dart:50:36 • deprecated_member_use
  hint • 'JSON' is deprecated and shouldn't be used at lib/server.dart:129:17 • deprecated_member_use
7 issues found.
(Ran in 8.2s)

哦,这两天发生了什么?

颤振医生

将运行flutter doctor -v的输出粘贴到此处。

[✓] Flutter (Channel beta, v0.2.3, on Linux, locale en_US.UTF-8)
    • Flutter version 0.2.3 at /home/users/n.gendron/GitHub/flutter
    • Framework revision 5a58b36e36 (2 weeks ago), 2018-03-13 13:20:13 -0700
    • Engine revision e61bb9ac3a
    • Dart version 2.0.0-dev.35.flutter-290c576264

[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /opt/android-sdk/
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = /opt/android-sdk/
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    ✗ Android license status unknown.

[✓] Android Studio (version 3.1)
    • Android Studio at /opt/android-studio
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] Connected devices (1 available)
    • Nexus 5 • 05473ea90a673764 • android-arm • Android 7.1.2 (API 25)

! Doctor found issues in 1 category.
flutter doctor --android-licenses
Warning: java.net.ConnectException: Connection timed out (Connection timed out) 
Warning: Failed to download any source lists! Fetch remote repository...        
Warning: File /home/users/n.gendron/.android/repositories.cfg could not be loaded.
All SDK package licenses accepted.======] 100% Computing updates... 

有关诊断和报告 Flutter 错误的更多信息,请参阅https://flutter.io/bug-reports/

编辑:哦,嘿,我忘了添加一些关于我的系统的信息。 可能应该在模板中的某处注明以添加它。

OS: Ubuntu 16.04.4 LTS x86_64 
Kernel: 4.13.0-38-generic 
Uptime: 17 hours, 31 mins 
Packages: 3069 
Shell: bash 4.3.48 
Resolution: 1024x768, 1920x1080 
DE: GNOME 3.18.5 
WM: GNOME Shell 
WM Theme: Adwaita 
Theme: Greybird [GTK2/3] 
Icons: Elementary-xfce-darker [GTK2/3] 
CPU: Intel i5 660 (4) @ 2.035GHz 
GPU: NVIDIA GeForce 8400 GS Rev. 2 
Memory: 4576MiB / 7840MiB 
java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

编辑:在这里绊倒的大多数人遇到的问题与我遇到的问题不同,其解决方案在这里

通过将JAVA_HOME _inside_ sdkmanager设置为 Java 8 安装来修改sdkmanager以使用 Java 8。 默认情况下,它位于~/Android/Sdk/tools/bin/sdkmanager

# Add default JVM options here. You can also use JAVA_OPTS and SDKMANAGER_OPTS to pass JVM options $
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions'
<strong i="20">@rem</strong> Add default JVM options here. You can also use JAVA_OPTS and SDKMANAGER_OPTS to pass JVM options to this script.
set JAVA_HOME="C:\ProgramData\scoop\apps\android-studio\current\jre"
set DEFAULT_JVM_OPTS="-Dcom.android.sdklib.toolsdir=%~dp0\.."

这样,您可以在系统上继续使用一个健全且维护良好的 Java 版本,同时使用sdkmanager

# Java
export JAVA_HOME=/usr/lib/jvm/default-java

现在我有一些管道要修理。

platform-android tool

最有用的评论

大家好,
输入$flutter doctor --android-licenses
它可能会说一些许可证不被接受(类似的东西)
系统会询问您“是否要查看许可证”?
输入y<press enter>

接受所有许可审查。

现在用$flutter doctor再次检查颤振

所有130条评论

仅添加一些信息 - Android 的sdkmanager工具(至少在 Windows 上)在执行检查时崩溃。 请参阅此处的讨论: https :

类似的问题在这里,但减去崩溃。 相当琐碎的应用程序仍在运行。

[✓] Flutter (Channel beta, v0.2.3, on Mac OS X 10.12.6 16G1212, locale en-GB)
    • Flutter version 0.2.3 at /Users/ed/devsetups/flutter
    • Framework revision 5a58b36e36 (2 weeks ago), 2018-03-13 13:20:13 -0700
    • Engine revision e61bb9ac3a
    • Dart version 2.0.0-dev.35.flutter-290c576264

[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /Users/ed/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = /Users/ed/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    ✗ Android license status unknown.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.2, Build version 9C40b
    • ios-deploy 1.9.2
    • CocoaPods version 1.4.0

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] VS Code (version 1.21.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Dart Code extension version 2.10.0

[✓] Connected devices (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 5.1.1 (API 22) (emulator)

! Doctor found issues in 1 category. 

我没有遇到任何崩溃,我的应用程序仍在运行,但flutter doctor抱怨升级后我的许可证状态。

[√] Flutter (Channel beta, v0.2.3, on Microsoft Windows [Version 10.0.16299.309], locale en-US)
    • Flutter version 0.2.3 at C:\Users\Caleb\Google Drive\Android\flutter
    • Framework revision 5a58b36e36 (2 weeks ago), 2018-03-13 13:20:13 -0700
    • Engine revision e61bb9ac3a
    • Dart version 2.0.0-dev.35.flutter-290c576264

[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at C:\Users\Caleb\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    X Android license status unknown.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] VS Code, 64-bit edition (version 1.21.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Dart Code extension version 2.11.1

[!] Connected devices
    ! No devices available

! Doctor found issues in 2 categories.

我也是,我试过安装 Android sdk 27​​.0.3

大家好,
输入$flutter doctor --android-licenses
它可能会说一些许可证不被接受(类似的东西)
系统会询问您“是否要查看许可证”?
输入y<press enter>

接受所有许可审查。

现在用$flutter doctor再次检查颤振

尝试@Zedonboy的建议给了我更多的问题......

flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
C:\Users\Caleb\AppData\Local\Android\sdk\tools\bin\sdkmanager --update
C:\Users\Caleb\AppData\Local\Android\sdk\tools\bin\sdkmanager --update
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

@Herohtar - 请参阅我上面的回复。 该解决方法不起作用吗?
我提交了一个 flutter 补丁来解决这个问题,直到 Android 工具问题得到解决。

无论出于何种原因,Android Studio 的东西都不喜欢 Java 9,只需安装和导出 Java 8 OpenJDK,然后重新运行,对我有用。

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
flutter doctor --android-licenses
Warning: java.net.ConnectException: Connection timed out (Connection timed out) 
Warning: Failed to download any source lists! Fetch remote repository...        
Warning: File /home/users/n.gendron/.android/repositories.cfg could not be loaded.
All SDK package licenses accepted.======] 100% Computing updates... 
flutter doctor -v
[✓] Flutter (Channel beta, v0.2.3, on Linux, locale en_CA.UTF-8)
    • Flutter version 0.2.3 at /home/users/n.gendron/GitHub/flutter
    • Framework revision 5a58b36e36 (2 weeks ago), 2018-03-13 13:20:13 -0700
    • Engine revision e61bb9ac3a
    • Dart version 2.0.0-dev.35.flutter-290c576264

[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /opt/android-sdk/
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = /opt/android-sdk/
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    ✗ Android license status unknown.

[✓] Android Studio (version 3.1)
    • Android Studio at /opt/android-studio
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] Connected devices (1 available)
    • Nexus 5 • 05473ea90a673764 • android-arm • Android 7.1.2 (API 25)

! Doctor found issues in 1 category.

我在 Android Studio 中使用 JRE 设置了 JAVA_HOME,然后 flutter doctor --android-licenses 刚刚工作。 对我来说,JRE 路径是 C:\Program Files\Android\Android Studio\jre

@lukef我试过你的解决方法,但不幸的是它对我没有任何作用。 您需要做的不仅仅是在android_sdk.dart添加一行吗?

我能够使用@wongni的方法让它工作,只需将JAVA_HOME指向 Android Studio JRE,但这似乎并不理想。

@Herohtar - 如果您修改工具,您还需要清除构建工具快照以重建它们,否则一行更改不会做任何事情。 如果您阅读我发布的链接,解决方法是使用SDKMANAGER_OPTS环境变量。 这就是我的更改实际上所做的全部。

在 Mac 上,它将是:

export SDKMANAGER_OPTS="--add-modules java.se.ee"

这应该可以解决您在sdkmanager运行时看到的Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema错误。

或者,该链接提供其他建议。 如果您发现解决方案不同,请反馈。

再次链接以防您错过它: https :

@lukef上面的 env var 对我

@lukef啊,谢谢。 删除颤振工具快照后,它适用于您的更改。

我有同样的问题。 尝试了以上所有方法,但没有解决。 我所做的是:
在继续之前请先备份,特别是 sdkmanager 部分

转到环境变量并添加 ANDROID_HOME 变量值为: C:\Users\%username%\AppData\Local\Android\Sdk
然后我的JAVA_HOME与这个变量值:
C:\Program Files\Android\Android Studio\jre
然后我的Path与这个变量值:
C:\Users\%username%\flutter\bin

然后我去了C:\Users\%username%\AppData\Local\Android\Sdk\tools\bin
并用笔记编辑器打开sdkmanager.bat ,这是我的DEFAULT_JVM_OPTS

<strong i="23">@rem</strong> Add default JVM options here. You can also use JAVA_OPTS and SDKMANAGER_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Dcom.android.sdklib.toolsdir=%~dp0\.."

然后我跑了:
flutter doctor
得到输出:

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel beta, v0.2.3, on Microsoft Windows [Version 10.0.16299.309], locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[√] Android Studio (version 3.1)
[√] Connected devices (1 available)

! Doctor found issues in 1 category.

然后我跑了
flutter doctor --android-licenses
并接受所有条款和条件 (y)

这解决了我的问题。 希望对你有帮助。

修复被恢复,因为它引入了其他问题。 重新开张。

仅供参考,它引入的其他问题在https://github.com/flutter/flutter/issues/16228 中有详细说明

我有同样的问题,我试过了
颤振医生 --android-licenses
它向我展示了这条消息

A newer version of the Android SDK is required. To update, run:
F:\Sdk\tools\bin\sdkmanager --update

和 sdkmanager --update 给我这个警告

Warning: File C:\Users\Amine\.android\repositories.cfg could not be loaded.
done

我检查了那个路径,没有名为 repositories.cfg 的文件
然后我从 android studio 更新了 sdk manager
仍然有同样的问题

颤振医生 -v

[√] Flutter (Channel beta, v0.2.3, on Microsoft Windows [Version 10.0.16299.309], locale en-US)
    • Flutter version 0.2.3 at F:\flutter
    • Framework revision 5a58b36e36 (3 weeks ago), 2018-03-13 13:20:13 -0700
    • Engine revision e61bb9ac3a
    • Dart version 2.0.0-dev.35.flutter-290c576264

[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at F:\Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-P, build-tools 27.0.3
    • ANDROID_HOME = F:\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    X Android license status unknown.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] VS Code, 64-bit edition (version 1.20.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Dart Code extension version 2.9.2

[!] Connected devices
    ! No devices available

! Doctor found issues in 2 categories.

@AmineMersoul

遇到同样的问题,我尝试创建一个空的 repositories.cfg 文件,但 Android 许可证状态未知。 仍然保持。

参考: https :

这是我在 Mac 上解决此问题 #16280 的方法:-)

@lukef你知道是否有办法重新引入#16035 以避免#16228?

刚刚在MacOS上遇到这个问题,原来是缺少JDK。 这是我的解决方案:

  1. http://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html下载安装jdk
  2. 设置JAVA_HOME环境,例如export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home
  3. 再次运行flutter doctor -v ,如果你看到类似的东西:
    >> 不接受某些 Android 许可证。 要解决此问题,请运行:flutter doctor --android-licenses

然后运行命令flutter doctor --android-licenses并接受许可证。
希望这会有所帮助。

@tvolkert - 抱歉回复晚了。

我有一个有效的JAVA_HOME并且正在使用 Java 9。我可以升级到 Java 10 并重试。

我认为该标志会被 Java 8 及以下版本忽略(我认为这是一个 Java 9+ 标志)。 对于那个很抱歉。

话虽如此,我觉得通过代码解决这个问题可能存在固有的危险,因为最终修复属于 Android 工具而不是 Flutter。 也许这是一个文档问题。 现在可用的整体解决方法是:

  • 如果使用 Java 9+,请记录需要允许执行模块的环境变量: export SDKMANAGER_OPTS="--add-modules java.se.ee"
  • 强制人们使用 Java 8 或更低版本

要求人们添加另一个环境变量很烦人,所以我认为这是不可接受的,但它会解决问题。

否则,我们可以尝试检测已安装的 Java 版本并有条件地应用该标志。 这可能在所有平台上都很难一致地做到。

我的计算机中同时安装了 Java 8 和 9
但在 Windows 环境变量路径中,我将 JAVA_HOME 设置为C:\Program Files\Java\jdk1.8.0_151
我还是有问题

@lukef我们已经有了尝试验证 Java 版本的代码,所以这艘船已经开航了:

https://github.com/flutter/flutter/blob/d121cbc80dc3c1815731a22d0f5e4e91e28736a1/packages/flutter_tools/lib/src/android/android_workflow.dart#L49

你可以重构它,这样我们就有一个String get javaVersion吸气剂,我们可以在sdkManagerEnv吸气剂中咨询它...

惊人的。 好的,让我明天看看。 我需要进行设置,以便我可以测试各种 Java 版本。

最终解决方案

转到 SDK 根目录

C:\Users\%user%\AppData\Local\Android\Sdk\tools\bin给我

在这个文件夹上打开一个终端,然后运行命令:

sdkmanager --licenses

谢谢!

@Snapjv谢谢,这个解决方案对我

@AmineMersoul试试看这个 #16452 这可能会有所帮助。

我正在使用 Java 9.0.4。 @Snapjv提出的解决方案对我不起作用

C:\Android\Sdk\tools\bin>java --version
java 9.0.4
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
C:\Android\Sdk\tools\bin>.\sdkmanager.bat --licenses
All SDK package licenses accepted.======] 100% Computing updates...
C:\Android\Sdk\tools\bin>flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
C:\Android\Sdk\tools\bin\sdkmanager --update


C:\Android\Sdk\tools\bin>.\sdkmanager --update
[=======================================] 100% Computing updates...
C:\Android\Sdk\tools\bin>flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
C:\Android\Sdk\tools\bin\sdkmanager --update


C:\Android\Sdk\tools\bin>flutter doctor -v
[√] Flutter (Channel master, v0.2.12-pre.33, on Microsoft Windows [Version 10.0.16299.309], locale en-US)
    • Flutter version 0.2.12-pre.33 at D:\dev\flutter
    • Framework revision ea30c95dc9 (4 hours ago), 2018-04-13 17:02:14 -0700
    • Engine revision 76cb311d9c
    • Dart version 2.0.0-dev.47.0.flutter-f76dad0adc

[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at C:\Android\Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: C:\Android\AndroidStudio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    X Android license status unknown.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Android\AndroidStudio
    • Flutter plugin version 23.2.2
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] IntelliJ IDEA Community Edition (version 2017.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.3
    • Flutter plugin version 22.2.2
    • Dart plugin version 173.4548.30

[√] VS Code, 64-bit edition (version 1.22.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Dart Code extension version 2.11.2

[!] Connected devices
    ! No devices available

! Doctor found issues in 2 categories.
C:\Android\Sdk\tools\bin>.\sdkmanager --update --verbose
Info: Parsing C:\Android\Sdk\add-ons\addon-google_apis-google-22\package.xml
Info: Parsing C:\Android\Sdk\build-tools\22.0.1\package.xml
Info: Parsing C:\Android\Sdk\build-tools\25.0.3\package.xml
Info: Parsing C:\Android\Sdk\build-tools\27.0.3\package.xml
Info: Parsing C:\Android\Sdk\build-tools\28.0.0-rc1\package.xml
Info: Parsing C:\Android\Sdk\emulator\package.xml
Info: Parsing C:\Android\Sdk\extras\android\m2repository\package.xml
Info: Parsing C:\Android\Sdk\extras\google\m2repository\package.xml
Info: Parsing C:\Android\Sdk\extras\google\usb_driver\package.xml
Info: Parsing C:\Android\Sdk\extras\intel\Hardware_Accelerated_Execution_Manager\package.xml
Info: Parsing C:\Android\Sdk\patcher\v4\package.xml
Info: Parsing C:\Android\Sdk\platform-tools\package.xml
Info: Parsing C:\Android\Sdk\platforms\android-22\package.xml
Info: Parsing C:\Android\Sdk\platforms\android-25\package.xml
Info: Parsing C:\Android\Sdk\platforms\android-26\package.xml
Info: Parsing C:\Android\Sdk\platforms\android-27\package.xml
Info: Parsing C:\Android\Sdk\sources\android-27\package.xml
Info: Parsing C:\Android\Sdk\system-images\android-22\default\armeabi-v7a\package.xml
Info: Parsing C:\Android\Sdk\system-images\android-22\google_apis\armeabi-v7a\package.xml
Info: Parsing C:\Android\Sdk\system-images\android-27\google_apis\x86\package.xml
Info: Parsing C:\Android\Sdk\tools\package.xml
[=======================================] 100% Computing updates...
C:\Android\Sdk\tools\bin>flutter --verbose doctor -v
[  +43 ms] [D:\dev\flutter\] git rev-parse --abbrev-ref --symbolic @{u}
[  +99 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[   +2 ms] origin/master
[        ] [D:\dev\flutter\] git rev-parse --abbrev-ref HEAD
[  +51 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[   +2 ms] master
[        ] [D:\dev\flutter\] git ls-remote --get-url origin
[  +46 ms] Exit code 0 from: git ls-remote --get-url origin
[   +1 ms] https://github.com/flutter/flutter.git
[        ] [D:\dev\flutter\] git log -n 1 --pretty=format:%H
[  +55 ms] Exit code 0 from: git log -n 1 --pretty=format:%H
[   +1 ms] ea30c95dc99de6f86f23caca3d219c5f89a19bff
[        ] [D:\dev\flutter\] git log -n 1 --pretty=format:%ar
[  +48 ms] Exit code 0 from: git log -n 1 --pretty=format:%ar
[   +9 ms] 4 hours ago
[   +2 ms] [D:\dev\flutter\] git describe --match v*.*.* --first-parent --long --tags
[  +86 ms] Exit code 0 from: git describe --match v*.*.* --first-parent --long --tags
[   +1 ms] v0.2.11-33-gea30c95dc
[+1345 ms] java -version
[ +223 ms] [√] Flutter (Channel master, v0.2.12-pre.33, on Microsoft Windows [Version 10.0.16299.309], locale en-US)
[   +5 ms]     • Flutter version 0.2.12-pre.33 at D:\dev\flutter
[        ]     • Framework revision ea30c95dc9 (4 hours ago), 2018-04-13 17:02:14 -0700
[        ]     • Engine revision 76cb311d9c
[        ]     • Dart version 2.0.0-dev.47.0.flutter-f76dad0adc
-[   +3 ms] C:\Android\Sdk\tools\bin\sdkmanager --licenses
[   +5 ms] C:\Android\Sdk\platform-tools\adb devices -l
[  +28 ms] Exit code 0 from: C:\Android\Sdk\platform-tools\adb devices -l
[   +1 ms] List of devices attached
[  +15 ms] C:\Android\Sdk\platform-tools\adb devices -l                                                            \[  +65 ms] List of devices attached                                                                                [ +292 ms] [!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[        ]     • Android SDK at C:\Android\Sdk
[        ]     • Android NDK location not configured (optional; useful for native profiling support)
[        ]     • Platform android-27, build-tools 27.0.3
[        ]     • Java binary at: C:\Android\AndroidStudio\jre\bin\java
[        ]     • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
[        ]     X Android license status unknown.
[   +1 ms] [√] Android Studio (version 3.1)
[        ]     • Android Studio at C:\Android\AndroidStudio
[   +1 ms]     • Flutter plugin version 23.2.2
[   +3 ms]     • Dart plugin version 173.4700
[   +1 ms]     • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
[   +1 ms] [√] IntelliJ IDEA Community Edition (version 2017.3)
[        ]     • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.3
[        ]     • Flutter plugin version 22.2.2
[        ]     • Dart plugin version 173.4548.30
[   +2 ms] [√] VS Code, 64-bit edition (version 1.22.1)
[        ]     • VS Code at C:\Program Files\Microsoft VS Code
[   +3 ms]     • Dart Code extension version 2.11.2
[   +1 ms] [!] Connected devices
[        ]     ! No devices available
[        ] ! Doctor found issues in 2 categories.
[  +26 ms] "flutter doctor" took 1,891ms.

C:\Android\Sdk\tools\bin>sdkmanager --licenses
All SDK package licenses accepted.======] 100% Computing updates...

如果您使用 Oracle 或任何其他 JVM,请跳至 STEP-2

在终端:

步骤1:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
第2步:
flutter doctor --android-licenses
您必须通过键入“y”并输入 :grinning 来接受所有许可证:

在这里看到的错误:

image
image
image
image

编辑
为了解决这个问题 ^ ,我从 JDK 9 更改为 JDK 1.8.0。 JDK 9 肯定有问题。
1)我正在使用export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home"
2)输入flutter doctor --android-licenses
3) 输入y并按回车键接受所有许可,正如其他用户所说。

@mrk-han 查看上面的评论,建议使用 OpenJDK 8 3 次

我仍然希望添加正确的支票,但我已经离开办公室几个星期了。 我打算下周去做。 但是,可能仍然建议使用 JDK 8,因为@ac130kz和其他人已经声明这是(据我所知)受支持的 JDK。

@tvolkert Flutter工具尝试使用捆绑的 android studio 运行时作为默认值,但 SDK 管理器将使用 JAVA_HOME 中定义的 Java 版本。 这会造成某种不匹配。 该工具是否应该对所有内容都默认为 JAVA_HOME 版本? 这会产生入职问题吗?

打开你的 Git Bash
输入 flutter doctor --android-licenses
按 y 接受,此过程可能会发生多次。

输入 _flutter doctor_ 并再次检查。

转到 sdkmanager 所在的文件夹。
并在此文件夹中运行 cmd 键入: sdkmanager --licenses
接受所有带有“y”的查询...
然后再试一次...

@serdarpolat

是的,这已经说过很多次了; 除非使用 Java 9,否则它可以工作。

@lukef如果我们在捆绑的 android studio 运行时和JAVA_HOME彼此不一致时发出警告(通过医生验证器)怎么办?

我遇到了同样的问题,只需将 java 环境点设置为 java 8。然后,再次运行命令“flutter doctor --android-licenses”,它将显示“6 个 SDK 包许可证中的 4 个不被接受。100% 计算更新.. .
查看尚未被接受的许可证(是/否)?”,只需接受所有这些。

我试图通过尝试运行flutter doctor --android-licenses来解决这个问题,正如@Zedonboy在上面的讨论中提到的

C:\Users\hp>flutter doctor -v
[√] Flutter (Channel beta, v0.5.1, on Microsoft Windows [Version 10.0.17134.112], locale en-US)
    • Flutter version 0.5.1 at F:\flutter
    • Framework revision c7ea3ca377 (5 weeks ago), 2018-05-29 21:07:33 +0200
    • Engine revision 1ed25ca7b7
    • Dart version 2.0.0-dev.58.0.flutter-f981f09760

[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at F:\AndroidStudio\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = F:\AndroidStudio\sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    X Android license status unknown.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 26.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[!] Connected devices
    ! No devices available

! Doctor found issues in 2 categories.

C:\Users\hp>flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
F:\AndroidStudio\sdk\tools\bin\sdkmanager --update


C:\Users\hp>F:\AndroidStudio\sdk\tools\bin\sdkmanager --update
Warning: An error occurred while preparing SDK package Android SDK Platform-Tools: archive is not a ZIP archive.

@MishraUdit sdkmanager与 Flutter 无关。 您的 Android SDK 设置似乎存在问题。
它也可能是您的F:驱动器(只读或类似驱动器)的问题

感谢您的快速回复@zoechi ,但是,我的驱动器没有问题。
我使用命令F:\AndroidStudio\sdk\tools\bin\sdkmanager --licenses而不是F:\AndroidStudio\sdk\tools\bin\sdkmanager --update并且它要求接受许可证。
接受后,一切正常。 这解决了我的问题。 也许我正在尝试错误的命令来接受许可证。 我希望这也能帮助其他人。 这是输出:

C:\Users\hp>flutter doctor -v
[√] Flutter (Channel beta, v0.5.1, on Microsoft Windows [Version 10.0.17134.112], locale en-US)
    • Flutter version 0.5.1 at F:\flutter
    • Framework revision c7ea3ca377 (5 weeks ago), 2018-05-29 21:07:33 +0200
    • Engine revision 1ed25ca7b7
    • Dart version 2.0.0-dev.58.0.flutter-f981f09760

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at F:\AndroidStudio\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = F:\AndroidStudio\sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 26.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[!] Connected devices
    ! No devices available

! Doctor found issues in 1 category.

C:\Users\hp>

在 Windows 10 上,这对我有用:

set JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee

然后:

C:\Users\%username%\AppData\Local\Android\Sdk\tools\bin\sdkmanager --licenses

要让它坚持下去,请将JAVA_OPTS永久添加到您的环境中。

@acangiano你能解释一下为什么没有set ...命令与NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema ,当我只调用sdkmanager --licenses时抛出。

我收到了未接受的许可协议问题
但现在解决了
1] 我已经从 android studio 重新安装了 android 平台 27
2]然后我使用了visual studio代码并完成了flutter run,它运行顺利,没有任何问题
3]然后我在visual studio代码终端中检查flutter doctor没有发现问题

C:\flutter_windows_v0.5.1-beta\myapp>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel beta, v0.5.1, on Microsoft Windows [Version 6.1.7601], locale en-IN)
[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[√] Android Studio (version 3.1)
[√] Connected devices (1 available)

• No issues found!

C:\flutter_windows_v0.5.1-beta\myapp>

看到这个

$ flutter run
Launching lib/main.dart on Z60 in debug mode...
Initializing gradle...
Built build\app\outputs\apk\debug\app-debug.apk.
Installing build\app\outputs\apk\app.apk...
I/FlutterActivityDelegate(13482): onResume setting current activity to this
Syncing files to device Z60...
D/GraphicBuffer(13482): register, handle(0xa95ad680) (w:480 h:854 s:480 f:0x1 u:0x000b00)

🔥  To hot reload changes while running, press "r". To hot restart (and rebuild state), press "R".
An Observatory debugger and profiler on Z60 is available at: http://127.0.0.1:8100/
For a more detailed help message, press "h". To quit, press "q".
Application finished.

在 PowerShell 中的 Windows 10 上运行以下命令,然后再运行fluttersdkmanager命令:

$Env:JAVA_OPTS="-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee"

然后你可以运行

flutter doctor --android-licenses
# or
C:\Users\%username%\AppData\Local\Android\Sdk\tools\bin\sdkmanager --licenses

感谢@acangiano的命令

最终解决方案

转到 SDK 根目录

给我

C:\Users\%user%\AppData\Local\Android\Sdk\tools\bin

在这个文件夹上打开一个终端,然后运行命令:

sdkmanager --licenses

谢谢!

确认@acangiano解决方案也适用于 macOS Mojave:

export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

然后:

sdkmanager --update

然后flutter doctor就可以了。

使用 Java 10。

我遇到了一个问题“Android 许可证状态未知!” 运行-flutter doctor
并简单地运行"flutter doctor --android-licenses"没有帮助。
所以你要做的是:

  1. 转到您的 Android Sdk 文件夹并通过执行此操作更新您的 sdkmanager(对于 Mac 运行“ sudo Library/Android/sdk/tools/bin/sdkmanager --update ”)

在此之后我有一个新的例外:

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

如果您没有 NoClassDefFoundError: lalalalalal 转到第 6 步。
如果没有 - 为您执行第 2 步:

  1. 使用您最喜欢的编辑器打开您的 sdkmanager
    sudo nano Library/Android/sdk/tools/bin/sdkmanager
  2. 换行
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"' 

新线:

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
  1. 保存存档
  2. 再次运行
sudo  Library/Android/sdk/tools/bin/sdkmanager --update
  1. 好的,您已经更新了 sdkmanager,所以现在您可以运行flutter doctor --android-licenses并对所有许可证说“是”。

这根本不是问题!!

  • 只需从 Android Studio 更新 Android SDK。 根据您的互联网速度,这将需要一些时间。

  • 如果打开了 flutter 控制台,请重新启动它。

  • 运行flutter doctor

  • 它会说一些许可证不被接受。

  • 现在运行, flutter doctor --android-licenses

  • 在要求确认时按 y 并按 Enter 键。

  • 再次运行flutter doctor

  • 现在您的问题将得到解决。

获得 Android 许可证状态未知后
我跑flutter doctor --android-licenses
那么输出是

Warning: java.net.ConnectException: Operation timed out                         
Warning: Failed to download any source lists! Fetch remote repository...        
Warning: File /Users/raymondguo/.android/repositories.cfg could not be loaded.  
All SDK package licenses accepted.======] 100% Computing updates...  

当我再次输入 flutter doctor 时,我仍然得到:
Android license status unknown.

@potatoker你能粘贴flutter --verbose doctor --verbose --android-licenses的输出吗?

@potatoker检查您的 Java 是否为最新版本。 否则将其更新为最新版本。

@potatoker你试过这个解决方案吗? https://github.com/flutter/flutter/issues/16025#issuecomment -404986334

它也适用于 mac(当然,更改设置变量的方式)。

我跑flutter doctor --android-licenses

嗨,我发现是因为我没有设置我的java网络代理。现在可以了

@potatoker我提交了https://github.com/flutter/flutter/issues/24867供我们检测此案例并提供更有用的消息来指导开发人员。

我解决了这个问题,设置了这个环境变量。

导出 JAVA_HOME="/usr/lib/jvm/default-java"

Archlinux
安装并初始化android-stuido后解决了这个问题。
卸载android-studio后又出现了😰(为什么???)


  1. 查看
 $ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v1.0.0, on Linux, locale zh_CN.UTF-8)
[!] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    ✗ Android license status unknown.
[!] Android Studio (not installed)
[✓] Connected device (1 available)

! Doctor found issues in 2 categories.
  1. 接受许可
~ $ flutter doctor --android-licenses  
A newer version of the Android SDK is required. To update, run:
~ $ /opt/android-sdk/tools/bin/sdkmanager --update

/opt/android-sdk/tools/bin/sdkmanager --update
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:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 5 more
  1. 安装安卓工作室
~ $ pacman -S android-studio
  1. 再次接受许可
~ $ flutter doctor --android-licenses

有用

  1. 检查年龄
~ $ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v1.0.0, on Linux, locale zh_CN.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[✓] Android Studio (version 3.2)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] Connected device (1 available)

• No issues found!
  1. 删除 android-studio
~ $ pacman -S android-studio
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v1.0.0, on Linux, locale zh_CN.UTF-8)
[!] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    ✗ Android license status unknown.
[!] Android Studio (not installed)
[✓] Connected device (1 available)

! Doctor found issues in 2 categories.

😂我回来了

  1. 安装安卓工作室
    错误消失了😊

我遇到了这个问题,将 java 从 11 更改为 8 并且它起作用了。 如果您遇到同样的问题,请执行此操作(我使用的是 mac):

如果您之前更改了 sdkmanager 文件,请执行以下操作:

sudo nano Library/Android/sdk/tools/bin/sdkmanager并确保该行完全像这样
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"'

现在检查/usr/libexec/java_home --verbose这会为您提供计算机中安装的所有 os java 版本及其主目录。 看看您是否有一个 Java SE 8 版本,如果没有,请安装它。 像这样更改 JAVA_HOME 环境变量:

export JAVA_HOME='Put here the home directory of Java 8 version that you got from the verbose command'

现在运行/Users/'your username here'/Library/Android/sdk/tools/bin/sdkmanager --update它将起作用

有人接受 jdk 11 吗? 我不得不降级到 8 才能正常工作(11 的许可证问题)。

@lemon07r据我所知 Android SDK 限制为 Java 8,Flutter 对此无能为力。

尝试@Zedonboy的建议给了我更多的问题......

flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
C:\Users\Caleb\AppData\Local\Android\sdk\tools\bin\sdkmanager --update

C:\Users\Caleb\AppData\Local\Android\sdk\tools\bin\sdkmanager --update 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

但是你最后解决了吗?我也有同样的问题...

我解决了这个问题。

我的操作系统是 Windows 10。

工作过的 Android Studio:

1.Android SDK Tools 25.0.2卸载。

2.Android SDK Tools 26.1.1 安装。

C:\Users\leekabyeon\dart\flutter>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel origin/master, v1.1.6-pre.11, on Microsoft Windows [Version 10.0.17763.195], locale ko-KR)
[!] Android toolchain - develop for Android devices (Android SDK version 27.0.3)
    X Android license status unknown.
[!] Android Studio (version 3.2)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[√] IntelliJ IDEA Ultimate Edition (version 2018.3)
[√] VS Code (version 1.30.1)
[!] Connected device
    ! No devices available
C:\Users\leekabyeon\AppData\Local\Android\sdk\tools\bin\sdkmanager --licenses
Error: Unknown argument --licenses
Usage:
  sdkmanager [--uninstall] [<common args>] \
    [--package_file <package-file>] [<packages>...]
  sdkmanager --update [<common args>]
  sdkmanager --list [<common args>]

In its first form, installs, or uninstalls, or updates packages.
    <package> is a sdk-style path (e.g. "build-tools;23.0.0" or
             "platforms;android-23").
    <package-file> is a text file where each line is a sdk-style path
                   of a package to install or uninstall.
    Multiple --package_file arguments may be specified in combination
     with explicit paths.
In its second form (with --update), currently installed packages are
    updated to the latest version.
In its third form, all installed and available packages are printed out.
C:\Users\leekabyeon\dart\flutter>C:\Users\leekabyeon\AppData\Local\Android\sdk\tools\bin\sdkmanager --licenses
All SDK package licenses accepted.======] 100% Computing updates...
C:\Users\leekabyeon\dart\flutter>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel origin/master, v1.1.6-pre.11, on Microsoft Windows [Version 10.0.17763.195], locale ko-KR)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[!] Android Studio (version 3.2)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[√] IntelliJ IDEA Ultimate Edition (version 2018.3)
[√] VS Code (version 1.30.1)
[!] Connected device
    ! No devices available

现在,如果您不想更改 JAVA_HOME,请将其设置为仅用于 sdkmanager,使用文本编辑器打开%ANDROID_STUDIO_PATH%\Sdk\tools\bin\sdkmanager.bat ,并在其下方搜索:findJavaFromJavaHome添加以下行:

set JAVA_HOME=D:/Android/Android Studio/jre

我的 ANDROID_STUDIO_PATH 在这里是D:/Android/Android Studio ,因此将其更改为您的设置。

这解决了我的问题而没有添加SDKMANAGER_OPTS因为有了它我得到了这里提到的问题 #22361 ...

编辑:
--add-modules java.se.ee无论如何都不会在 JDK 11 中工作,因此它对于 JDK 11 毫无意义,仅适用于 JDK 9 和 JDK 10。

尝试@Zedonboy的建议给了我更多的问题......

flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
C:\Users\Caleb\AppData\Local\Android\sdk\tools\bin\sdkmanager --update

C:\Users\Caleb\AppData\Local\Android\sdk\tools\bin\sdkmanager --update 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

我想你应该检查你的java sdk

@Herohtar您需要编辑~/Android/Sdk/tools/bin/sdkmanager并将DEFAULT_JVM_OPTS更改为

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee

这使得sdkmanager能够无错误地运行

单击此处查看我最初的散文。

@NatoBoram你错过了一个撇号。 对于那些复制粘贴:

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

无论如何,修复对我不起作用。 当我运行sdkmanager ,无论我传入什么选项,都会得到以下输出:

Error occurred during initialization of boot layer
java.lang.module.FindException: Module java.se.ee not found

作为参考,我看到的错误消息与@Herohtar 完全相同。 我也尝试过@arlucio的建议,但无济于事; 我安装了 Java SE 8,但它似乎没有什么区别,即使我使用$JAVA_HOME环境变量指向它。 我在 Flutter 1.1.9 开发频道,运行 OS X 10.14.2 build 18C54; 我有 Android SDK 28.0.3,由 Android Studio 通过 JetBrains Toolbox 安装。

更新:我使用的是fish shell,所以环境变量没有通过。 解决方案是使用env或在sdkmanager文件本身中添加以下行:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_XXX.jdk/Contents/Home

正如@lukef & @zoechi所建议的那样,正确的修复必须在上游(即在 Android SDK 本身中)才能在可用时使用 Java 8 而不是安装任何更新的版本。 仍然不确定为什么给定的库无法在 Java 9+ 中正确加载。 我打算在签字之前尝试@lukef 的其他建议

@NatoBoram我在 Windows 上,所以它是一个稍微不同的字符串,但即使使用该变量的 Windows 版本也不起作用——我得到了与@ron-wolf 提到的相同的java.lang.module.FindException: Module java.se.ee not found错误。

唯一对我有用的是在本地应用

然而,到目前为止,我还没有因为那个警告而遇到任何问题,我已经放弃了,只是不管它……虽然运行flutter doctor时没有看到所有的绿色仍然很烦人……

不工作,带有 java 11 的 Mac 操作系统,并重新安装了 Android Studio,最新的颤振,出现错误

java.lang.module.FindException: Module java.se.ee not found

我已经搜索了 stackoverflow 和 flutter 问题,循环使用了几种可能的解决方案,但又回来了。 https://github.com/flutter/flutter/issues/28504

@leapit那是因为 Flutter 使用sdkmanager ,它使用 Java 8,而 Java 10 已弃用java.se.ee

您需要编辑~/Android/Sdk/tools/bin/sdkmanager并将DEFAULT_JVM_OPTS更改为

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee

这使得sdkmanager能够无错误地运行

如果这仍然不起作用,请降级到 Java 8 以接受许可证,然后切换回 Java 11。

您也可以尝试使用 Java 8 手动运行sdkmanager ,接受许可,然后 Flutter 应该将它们检测为已接受。 在 linux 上,默认为~/Android/Sdk/tools/bin/sdkmanager 。 您可以将$HOME/Android/Sdk/tools/bin/到您的路径中以使用sdkmanager调用它。

@NatoBoram很清楚,谢谢,最后我安装了 java 8,并接受许可证解决了这个问题

重要更新

OpenJDK的10是由OpenJDK的11 superseeded ,不执行java.se.ee可言。 这意味着添加--add-modules java.se.ee的黑客不再做任何事情。 这也意味着 OpenJDK 10 将自动从您的系统中删除,并在您下次更新时替换为 OpenJDK 11,如果您的更新配置正确。

要解决此问题,请通过将JAVA_HOME内的sdkmanager设置为 Java 8 安装来修改sdkmanager以使用 Java 8。 默认情况下,它仍然是~/Android/Sdk/tools/bin/sdkmanager

# Add default JVM options here. You can also use JAVA_OPTS and SDKMANAGER_OPTS to pass JVM options $
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions'
<strong i="19">@rem</strong> Add default JVM options here. You can also use JAVA_OPTS and SDKMANAGER_OPTS to pass JVM options to this script.
set JAVA_HOME="C:\ProgramData\scoop\apps\android-studio\current\jre"
set DEFAULT_JVM_OPTS="-Dcom.android.sdklib.toolsdir=%~dp0\.."

这样,您可以在系统上继续使用一个健全且维护良好的 Java 版本,同时使用sdkmanager

# Java
export JAVA_HOME=/usr/lib/jvm/default-java

现在我有一些管道要修理。

一切都失败后,我刚刚下载了 jdk 8。将我的 JAVA_HOME 环境变量更新为 jdk 8,然后运行flutter doctor --android-licenses 。 有效

谢谢你,@NatoBoram! 这终于为我解决了!

以下是在 Windows 上运行的任何人的详细信息(至少,这对我在 Windows 10 上有用)。

在 Windows 上,Android Studio 包含一个嵌入式版本的 JDK。 如果您查看 JDK Location 设置,推荐的选项是使用该设置而不是使用您自己安装的版本。 在我的系统上使用嵌入式选项时列出的路径是C:\Program Files\Android\Android Studio\jre

所以我只是在文件%LOCALAPPDATA%\Android\sdk\tools\bin\sdkmanager.bat添加了JAVA_HOME的定义,所以相关部分现在看起来像这样:

<strong i="12">@rem</strong> Add default JVM options here. You can also use JAVA_OPTS and SDKMANAGER_OPTS to pass JVM options to this script.
set JAVA_HOME="C:\Program Files\Android\Android Studio\jre"
set DEFAULT_JVM_OPTS="-Dcom.android.sdklib.toolsdir=%~dp0\.."

然后我能够运行flutter doctor --android-licenses来接受丢失的许可证,并且flutter doctor的输出不再显示错误!

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel beta, v1.2.1, on Microsoft Windows [Version 10.0.17763.316], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Android Studio (version 3.3)
[√] VS Code (version 1.31.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 1 category.

可能会发生您接受所有许可协议并显示 100% 完成然后再次运行
$扑医生
它显示了相同的未经同意的消息。 问题可能是某些 android 文件需要 Sudo 访问权限,因为它无法更新商定的许可证,但是快速破解
chmod 755 -R ANDORID_ROOT_PATH
这是针对linux的,但这是一个在主题之外但与主题相关的新案例。

它似乎在 Windows 上为我修复

如果你喜欢powershell

$ENV:JAVA_HOME="C:\Program Files\Java\jdk1.8.0_181"
$ENV:JAVA_OPTS="-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee"
$ENV:DEFAULT_JVM_OPTS='"-Dcom.android.sdlib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions'

如果你喜欢cmd

set JAVA_HOME="C:\Program Files\Java\jdk1.8.0_181"
set JAVA_OPTS="-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee"
set DEFAULT_JVM_OPTS='"-Dcom.android.sdlib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions'

无论出于何种原因,Android Studio 的东西都不喜欢 Java 9,只需安装和导出 Java 8 OpenJDK,然后重新运行,对我有用。

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

导出在 Windows 中不起作用,我应该在 Windows 中做什么来导出路径

@akshaybengani - Windows 中的环境变量

在 Mac 上,如果你安装了 Android Studio,你可以将 JAVA_HOME 指向它的 Java。 使用 android-licenses 参数运行 flutter doctor 并在出现提示时接受所有许可证。

export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"
flutter doctor --android-licenses
flutter doctor

我不得不使用 JDK 10:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
/Users/guiguan/Library/Android/sdk/tools/bin/sdkmanager --update
flutter doctor --android-licenses

在我的情况下,我不得不将我的 Java 版本 12 降级到 8。它解决了这个问题。
尝试降级java

我解决了这个问题。

我的操作系统是 Windows 10。

工作过的 Android Studio:

1.Android SDK Tools 25.0.2卸载。

2.Android SDK Tools 26.1.1 安装。

C:\Users\leekabyeon\dart\flutter>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel origin/master, v1.1.6-pre.11, on Microsoft Windows [Version 10.0.17763.195], locale ko-KR)
[!] Android toolchain - develop for Android devices (Android SDK version 27.0.3)
  X Android license status unknown.
[!] Android Studio (version 3.2)
  X Flutter plugin not installed; this adds Flutter specific functionality.
  X Dart plugin not installed; this adds Dart specific functionality.
[√] IntelliJ IDEA Ultimate Edition (version 2018.3)
[√] VS Code (version 1.30.1)
[!] Connected device
  ! No devices available

``
C:UsersleekabyeonAppDataLocalAndroidsdktoolsbinsdkmanager --licenses
错误:未知参数 --licenses
用法:
sdkmanager [--卸载] []
[--package_file] [...]
sdkmanager --update []
sdkmanager --list []

在第一种形式中,安装、卸载或更新包。
是 sdk 样式的路径(例如“build-tools;23.0.0”或
“平台;android-23”)。
是一个文本文件,其中每一行都是 sdk 样式的路径
要安装或卸载的软件包。
可以组合指定多个 --package_file 参数
带有显式路径。
在第二种形式(带 --update)中,当前安装的包是
更新到最新版本。
在第三种形式中,所有已安装和可用的包都被打印出来。


C:Usersleekabyeondartflutter>C:UsersleekabyeonAppDataLocalAndroidsdktoolsbinsdkmanager --licenses
接受所有 SDK 包许可。======] 100% 计算更新...


C:Usersleekabyeondartflutter>flutter 医生
医生摘要(要查看所有详细信息,请运行 flutter doctor -v):
[√] Flutter (Channel origin/master, v1.1.6-pre.11, on Microsoft Windows [Version 10.0.17763.195], locale ko-KR)
[√] Android 工具链 - 为 Android 设备开发(Android SDK 版本 28.0.3)
[!] Android Studio(3.2 版)
X Flutter 插件未安装; 这增加了 Flutter 特定的功能。
未安装 X Dart 插件; 这增加了 Dart 特定的功能。
[√] IntelliJ IDEA 终极版(2018.3版)
[√] VS Code(1.30.1 版本)
[!] 连接的设备
! 没有可用的设备
``

我按照你的方法解决了这个错误,只是不太一样的情况,我有进行工具的拷贝。

给大家看看我解决的办法
image
image
image
我就直接把c盘中的那个tools拷贝到了d盘软件sdk目录下面
image
再次运行,他会有一个是否接受这个licences
点击y就行
image
大家还可以看我的博客哇:https://www.cnblogs.com/smart-girl/p/10694891.html

我认为是时候结束这个问题了。 最初的问题是关于 Java 是一个混蛋并且没有使用我工作公司的代理,但我已经使用不同的代理配置更改了工作站。 我当时应该关闭这个问题。

具体来说,我的问题是:

警告:java.net.ConnectException:连接超时(连接超时)
警告:无法下载任何源列表! 获取远程存储库...
警告:无法加载文件 /home/users/n.gendron/.android/repositories.cfg。

大多数人遇到的问题是关于 SDKManager 使用过时的 Java 版本,该问题的解决方法是https://github.com/flutter/flutter/issues/16025#issuecomment -468009198。 新评论者显然是不太关心解决问题的人,他们阅读以前的回复并使用提供的解决方案,我感到有点受辱。

在此期间还有其他问题,但 Flutter 团队修复了它们,我对此表示感谢。 但是,新问题出在 Android Studio 的部分,而不是 Flutter 的部分。

他们可以做的一件事是找到 Android Studio 安装并将JAVA_HOME临时设置为 Android Studio 的 Java 安装。 这将是一个面向未来的解决方案,但这并不能解决根本问题。

我有同样的问题。 尝试了很多但没有修复它。 我最后做的是
$ANDROID_HOME/tools/bin/sdkmanager --licenses

当我使用 JDK11 时,我需要将缺少的库复制到/home/user/Android/Sdk/tools/lib
我已经从 Maven 中央存储库下载了它们:

https://search.maven.org/remotecontent?filepath=com/sun/istack/istack-commons-runtime/3.0.8/istack-commons-runtime-3.0.8.jar
https://search.maven.org/remotecontent?filepath=org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar
https://search.maven.org/remotecontent?filepath=com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar
https://search.maven.org/remotecontent?filepath=javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar

他们叫/home/cvgaviao/Android/Sdk/tools/bin/sdkmanager --update
flutter doctor --android-licenses

大家好,
输入$flutter doctor --android-licenses
它可能会说一些许可证不被接受(类似的东西)
系统会询问您“是否要查看许可证”?
输入y<press enter>

接受所有许可审查。

现在用$flutter doctor再次检查颤振

这解决了我的问题,谢谢

@devlwkyan当我输入这个时,它说“找不到命令”

raymondfontaine$ $flutter 医生 --android-licenses
-bash:医生:找不到命令
Raymonds-MacBook-Air:~ raymondfontaine$

我还可以做些什么?

这仅在您拥有正确的 sdk 管理器版本flutter doctor --android-licenses时才有效
如果你不告诉你如何更新它,sdk 管理器版本也不喜欢 java9 所以我不得不改变我的路径到 java8,更新 sdk 管理器,然后做了 android 许可证。 在所有提示上点击 Yes,就完成了。

$ flutter doctor Doctor summary(查看所有详细信息,运行 flutter doctor -v):[√] Flutter(Channel stable,v1.5.4-hotfix.2,在 Microsoft Windows [Version 6.1.7601],locale zh-CN)[ !] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.0) X And​​roid 许可证状态未知。 尝试重新安装或更新您的 Android SDK 管理器。 有关详细说明,请参阅https://developer.android.com/studio/#downloads或访问https://flutt er.dev/setup/#android-setup。 [√] Android Studio(3.4版) [!] IntelliJ IDEA Ultimate Edition(2018.3版)X Flutter插件未安装; 这增加了 Flutter 特定的功能。 [!] 连接设备! 没有可用的设备! 医生发现了 3 类问题。

$ java -version java version "11.0.1" 2018-10-16 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1) 1+13-LTS,混合模式)

$ javac -version javac 11.0.1

@NatoBoram非常感谢,您的解决方案对我

jdk版本必须小于jdk9

我遇到过同样的问题。 只需将 java>=9 版本替换为 8。
那么如果你试试这个:
颤振医生 --android-licenses
它将检查一些文档,您接受并通过测试:

[√] Flutter (Channel stable, v1.7.8+hotfix.3, on Microsoft Windows [Versione 10.0.18362.10006], locale it-IT)
• Flutter 版本 1.7.8+hotfix.3 at C:flutter
• 框架修订 b712a172f9(12 天前),2019-07-09 13:14:38 -0700
• 引擎修订版 54ad777fd2
• Dart 版本 2.4.0

[√] Android 工具链 - 为 Android 设备开发(Android SDK 版本 28.0.3)
• Android SDK 在 C:UsersedoardottAppDataLocalAndroidsdk
• 未配置 Android NDK 位置(可选;对于本机分析支持很有用)
• 平台 android-29,构建工具 28.0.3
• Java 二进制文件位于:C:Program FilesAndroidAndroid Studiojrebinjava
• Java 版 OpenJDK 运行时环境(构建 1.8.0_152-release-1343-b01)
• 接受所有Android 许可证。

[√] Android Studio(3.4版本)
• Android Studio 位于 C:Program FilesAndroidAndroid Studio
• Flutter 插件版本 37.1.1
• Dart 插件版本 183.6270
• Java 版 OpenJDK 运行时环境(构建 1.8.0_152-release-1343-b01)

[!] IntelliJ IDEA 社区版(2019.1 版)
• IntelliJ at C:Program FilesJetBrainsIntelliJ IDEA 社区版 2019.1.3
X Flutter 插件未安装; 这增加了 Flutter 特定的功能。
未安装 X Dart 插件; 这增加了 Dart 特定的功能。
• 有关安装插件的信息,请参阅
https://flutter.dev/intellij-setup/#installing -the-plugins

[!] 连接的设备
! 没有可用的设备

! 医生发现了 2 类问题。

我有同样的问题。 尝试了以上所有方法,但没有解决。 我所做的是:
在继续之前请先备份,特别是 sdkmanager 部分

转到环境变量并添加 ANDROID_HOME 变量值为: C:\Users\%username%\AppData\Local\Android\Sdk
然后我的JAVA_HOME与这个变量值:
C:\Program Files\Android\Android Studio\jre
然后我的Path与这个变量值:
C:\Users\%username%\flutter\bin

然后我去了C:\Users\%username%\AppData\Local\Android\Sdk\tools\bin
并用笔记编辑器打开sdkmanager.bat ,这是我的DEFAULT_JVM_OPTS

<strong i="24">@rem</strong> Add default JVM options here. You can also use JAVA_OPTS and SDKMANAGER_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Dcom.android.sdklib.toolsdir=%~dp0\.."

然后我跑了:
flutter doctor
得到输出:

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel beta, v0.2.3, on Microsoft Windows [Version 10.0.16299.309], locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[√] Android Studio (version 3.1)
[√] Connected devices (1 available)

! Doctor found issues in 1 category.

然后我跑了
flutter doctor --android-licenses
并接受所有条款和条件 (y)

这解决了我的问题。 希望对你有帮助。

谢谢,它对我有用。

flutter doctor --android-licenses对我

对于 OSX,这对我有用。

  1. 我检查了/Library/Java/JavaVirtualMachines/有哪些jdk /Library/Java/JavaVirtualMachines/并找到了jdk1.8.0_77.jdk/
  2. export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/"到我的~/.bash_profile并保存。
  3. 重启终端
  4. 要查看更改是否有效,请运行echo $JAVA_HOME
  5. 运行flutter doctor --android-licenses并接受所有许可证

再次运行flutter doctor显示没有问题,终于!

我也有这个问题

在 Windows 上:
打开cmd并运行:
android update sdk

之后再次运行flutter doctor

你好,
问题出在 Java 版本上,flutter 的 sdk 不支持 Java 10,因此您需要将 Java 版本降为 Java 8。

我在 Android Studio 中使用 JRE 设置了 JAVA_HOME,然后 flutter doctor --android-licenses 刚刚工作。 对我来说,JRE 路径是 C:Program FilesAndroidAndroid Studiojre

这对我有用

尝试@Zedonboy的建议给了我更多的问题......

flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
C:\Users\Caleb\AppData\Local\Android\sdk\tools\bin\sdkmanager --update
C:\Users\Caleb\AppData\Local\Android\sdk\tools\bin\sdkmanager --update
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

我遇到了同样的问题,当我将 java 从 java 13 降级到 java 8 时解决了。

在终端集 java 1.8 主路径中

export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"
然后

尝试

/Users/mac/Library/Android/sdk/tools/bin/sdkmanager --update

免责声明。 本软件由版权所有者和贡献者“按原样”提供,并提供任何明示或暗示的保证,包括但不限于适销性和针对特定用途的适用性的暗示保证。 在任何情况下,版权所有者或贡献者均不对任何直接的、间接的、附带的、特殊的、惩戒性的或后果性的损害(包括但不限于购买替代服务产品、资源、或使用或业务中断),无论是基于任何责任理论,无论是合同、严格责任或侵权行为(包括疏忽或其他原因)因使用本软件而以任何方式引起的,即使是 P.S.

接受? (y/N): y
...

为了解决这个问题,我卸载了之前安装的 JDK 13,然后:

  1. 安装 JDK 8
  2. flutter doctor --android-licenses

希望这有助于...^_^

重要更新

OpenJDK 10 被 OpenJDK 11 取代,后者没有实现java.se.ee _at all_。 这意味着添加--add-modules java.se.ee的黑客不再做任何事情。 这也意味着 OpenJDK 10 将自动从您的系统中删除,并在您下次更新时替换为 OpenJDK 11,如果您的更新配置正确。

要解决此问题,请通过将JAVA_HOME _inside_ sdkmanager设置为 Java 8 安装来修改sdkmanager以使用 Java 8。 默认情况下,它仍然是~/Android/Sdk/tools/bin/sdkmanager

# Add default JVM options here. You can also use JAVA_OPTS and SDKMANAGER_OPTS to pass JVM options $
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions'
<strong i="18">@rem</strong> Add default JVM options here. You can also use JAVA_OPTS and SDKMANAGER_OPTS to pass JVM options to this script.
set JAVA_HOME="C:\ProgramData\scoop\apps\android-studio\current\jre"
set DEFAULT_JVM_OPTS="-Dcom.android.sdklib.toolsdir=%~dp0\.."

这样,您可以在系统上继续使用一个健全且维护良好的 Java 版本,同时使用sdkmanager

# Java
export JAVA_HOME=/usr/lib/jvm/default-java

现在我有一些管道要修理。

要解决此问题,请通过将JAVA_HOME _inside_ sdkmanager设置为 Java 8 安装来修改sdkmanager以使用 Java 8。 默认情况下,它仍然是~/Android/Sdk/tools/bin/sdkmanager

我刚刚开始处理所有这些事情。
您能告诉我如何通过将JAVA_HOME sdkmanager设置为 Java 8 安装来修改sdkmanager以使用 Java 8。 就像实际上如何在sdkmanager访问JAVA_HOME一样,因为它是一个 exec 文件。

在 android studio 中更新 android sdk ......它对我有用。 因为如果您更新了 flutter,它也需要更新版本的 sdk。 使环境正常工作

解决 ,
在我使用 JDK 13 (newver) 并发现这个问题 sdk unknow 之前,然后我卸载 jdk 13 然后安装 jdk 8,更新你的变量 JAVA_HOME ,然后重新启动你的计算机,然后运行 ​​flutter doctor ,

Microsoft Windows [版本 10.0.17763.973]
(c) 2018 年微软公司。 版权所有。

C:Userskarmadi>flutter 医生

医生摘要(要查看所有详细信息,请运行 flutter doctor -v):
[√] Flutter (Channel stable, v1.9.1+hotfix.6, on Microsoft Windows [Version 10.0.17763.973], locale en-US)

[!] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.2)
! 不接受某些 Android 许可证。 要解决此问题,请运行:flutter doctor --android-licenses
[√] Android Studio(3.5版)
[√] VS Code(1.41.1 版本)
[!] 连接的设备
! 没有可用的设备

! 医生发现了 2 类问题。

C:Userskarmadi>flutter doctor --android-licenses
警告:无法加载文件 C:Userskarmadi.androidrepositories.cfg。
不接受 7 个 SDK 包许可证中的 6 个。 100% 计算更新...
查看未被接受的许可证 (y/N)? 是
* 然后会显示更多的协议,你必须点击 y
_直到这条消息出来_
接受所有 SDK 包许可

C:Userskarmadi>flutter 医生
医生摘要(要查看所有详细信息,请运行 flutter doctor -v):
[√] Flutter (Channel stable, v1.9.1+hotfix.6, on Microsoft Windows [Version 10.0.17763.973], locale en-US)

[√] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.2)
[√] Android Studio(3.5版)
[√] VS Code(1.41.1 版本)
[!] 连接的设备
! 没有可用的设备

! 医生在 1 个类别中发现了问题。

我用sdkman

运行以下命令后,我可以成功运行flutter doctor --android-licenses并将其设置为默认值

$ sdk install java 8.0.242.j9-adpt

Downloading: java 8.0.242.j9-adpt

In progress...

############################################################################################################### 100.0%############################################################################################################### 100.0%

Repackaging Java 8.0.242.j9-adpt...

Done repackaging...

Installing: java 8.0.242.j9-adpt
Done installing!

Do you want java 8.0.242.j9-adpt to be set as default? (Y/n): 

Setting java 8.0.242.j9-adpt as default.

@NatoBoram我认为如果将来不需要它,锁定这张票会更好。

只需以管理员身份运行 CMD

我已经接受了所有的许可证,但突然间它们被“遗忘”了.....
有谁知道如何解决这个问题? 它从何而来? 缺什么? 2020 年解决此问题的最佳方法是什么?

医生摘要(要查看所有详细信息,请运行 flutter doctor -v):
[√] Flutter (Channel dev, v1.15.3, on Microsoft Windows [version 10.0.18363.657], locale fr-FR)
[!] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.3)
X And​​roid 许可证状态未知。
尝试重新安装或更新您的 Android SDK 管理器。
有关详细说明,请参阅https://developer.android.com/studio/#downloads或访问https://flutter.dev/setup/#android -setup。
[√] Android Studio(3.5版)
[√] 已连接设备(1 个可用)

颤振医生 --android-licenses
需要更新版本的 Android SDK。 要更新,请运行:
C:xxxxxtoolsbinsdkmanager --update

颤振医生 --android-licenses -v
需要更新版本的 Android SDK。 要更新,请运行:
C:xxxxxxtoolsbinsdkmanager --update

0 throwToolExit (包:flutter_tools/src/base/common.dart:14:3)

1 AndroidLicenseValidator.runLicenseManager (package:flutter_tools/src/android/android_workflow.dart:365:7)

2 Doctor.diagnose (package:flutter_tools/src/doctor.dart:245:38)

3 DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:58:39)

4 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:668:18)

5 _rootRunUnary (dart:async/zone.dart:1134:38)

6 _CustomZone.runUnary (dart:async/zone.dart:1031:19)

7 _FutureListener.handleValue (dart:async/future_impl.dart:140:18)

8 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)

9 Future._propagateToListeners (dart:async/future_impl.dart:711:32)

10 Future._completeWithValue (dart:async/future_impl.dart:526:5)

11 Future._asyncComplete。(dart:async/future_impl.dart:556:7)

12 _rootRun (dart:async/zone.dart:1126:13)

13 _CustomZone.run (dart:async/zone.dart:1023:19)

14 _CustomZone.runGuarded (dart:async/zone.dart:925:7)

15 _CustomZone.bindCallbackGuarded。(dart:async/zone.dart:965:23)

16 _microtaskLoop (dart:async/schedule_microtask.dart:43:21)

17 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)

18 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)

19 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)

sdkmanager --flutter 应用程序中的更新
线程“main”中的异常 java.lang.NoClassDefFoundError: javax/xml/bind/annotation/X
模式
在 com.android.repository.api.SchemaModule$SchemaModuleVersion。(SchemaMo
dule.java:156)
在 com.android.repository.api.SchemaModule。(SchemaModule.java:75)
在 com.android.sdklib.repository.AndroidSdkHandler。(AndroidSdkHandler.
爪哇:81)
在com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli。 java的:73

sdkmanager --在Android应用程序中更新
线程“main”中的异常 java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
在 com.android.repository.api.SchemaModule$SchemaModuleVersion。(SchemaModule.java:156)
在 com.android.repository.api.SchemaModule。(SchemaModule.java:75)
在 com.android.sdklib.repository.AndroidSdkHandler。(AndroidSdkHandler.java:81)
在 com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
在 com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
引起:java.lang.ClassNotFoundException:javax.xml.bind.annotation.XmlSchema
在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
……还有 5 个

这确实是一个严重的问题

@NatoBoram我认为如果将来不需要它,锁定这张票会更好。

不幸的是,事实并非如此......

@benedicte69您是否已通读此线程并尝试过任何解决方案? 具体来说,您是否尝试过此处列出的解决方案?

我在 Android Studio 中使用 JRE 设置了 JAVA_HOME,然后 flutter doctor --android-licenses 刚刚工作。 对我来说,JRE 路径是 C:Program FilesAndroidAndroid Studiojre

谢谢!!!!!!!

恭喜并非常感谢@GuilhermeEsdras ! 这是迄今为止我读过的最新答案! 当然,Gradlew 不会以这种方式抱怨任何糟糕的 JAVA_HOME。
它解决了我的 android 许可证(尽管有警告:无法加载 .androidrepositories.cfg。)

请帮帮我...
发生在我身上的事情是——

$扑医生 -v
[√] Flutter (Channel stable, v1.12.13+hotfix.8, on Microsoft Windows [Version 10.0.17763.1098], locale en-IN)
• Flutter 版本 1.12.13+hotfix.8 在 C:UsersasusDesktopflutter_windows_v1.12.13+hotfix.8-stableflutter
• 框架修订 0b8abb4724(5 周前),2020-02-11 11:44:36 -0800
• 引擎修订版 e1e6ced81d
• Dart 版本 2.7.0

[!] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.2)• Android SDK 在 C:UsersasusAppDataLocalAndroidsdk• 未配置 Android NDK 位置(可选;对于本机分析支持很有用)• 平台 android-R,构建工具 29.0.2• Java 二进制文件位于:C:Program FilesAndroidAndroid Studiojrebinjava• Java 版 OpenJDK 运行时环境(构建 1.8.0_212-release-1586-b04)X And​​roid 许可证状态未知。尝试重新安装或更新您的 Android SDK 管理器。有关详细说明,请参阅https://developer.android.com/studio/#downloads或访问https://flutter.dev/setup/#android -setup。

[√] Android Studio(3.6版)
• Android Studio 位于 C:Program FilesAndroidAndroid Studio
• Flutter 插件版本 44.0.2
• Dart 插件版本 192.7761
• Java 版 OpenJDK 运行时环境(构建 1.8.0_212-release-1586-b04)

[√] VS Code(1.43.0 版本)
• C:UsersasusAppDataLocalProgramsMicrosoft VS Code 上的 VS Code
• Flutter 扩展版本 3.8.1

[!] 连接的设备
! 没有可用的设备

! 医生发现了 2 类问题。

我有同样的问题。

只需打开 android studio 并安装 sdk 管理器。
重新运行颤振医生。 它会告诉您接受未接受的 android 许可证。

如果您想解决此问题,只需从此链接下载Android Studio 3.5.2flutter doctor ,现在 android studio 许可证状态未知错误已修复。

谢谢!

对于那些仍然面临这个问题的人,如果你安装了 android studio 那么

1. open sdk manager
2. under sdk tools uncheck hide obsolete packages at the bottom
3. then you should see an option called Android Sdk Tools (Obsolete)
4. check it and apply and let the studio download the package
5. once done run the command flutter doctor and it should now prompt you to run flutter doctor --android-licenses once you run the license command accept all licenses by hitting y and it should solve the problem

有关更详细的答案,请参阅此答案https://stackoverflow.com/a/60705505/8253662希望这会有所帮助

但我有 android studio 3.6 版

2020 年 3 月 16 日星期一下午 5:29 Mahesh Jamdade, notifications @github.com
写道:

如果没有什么对你有用,我会建议你遵循这个答案
https://stackoverflow.com/a/60705505/8253662希望这会有所帮助


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看
https://github.com/flutter/flutter/issues/16025#issuecomment-599496856
或取消订阅
https://github.com/notifications/unsubscribe-auth/AK7YA2CMUDIHJNR4CQTP2KTRHYIBTANCNFSM4EX3IR2Q
.

Android ASK(已过时)
image

现在
D:flutterbin>flutter doctor --android-licenses
需要更新版本的 Android SDK。 要更新,请运行:
C:UserssunuwAppDataLocalAndroidsdktoolsbinsdkmanager --update

D:flutterbin>C:UserssunuwAppDataLocalAndroidsdktoolsbinsdkmanager --update
警告:无法创建设置
java.lang.IllegalArgumentException
在 com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings。(SdkManagerCliSettings.java:428)
在 com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:152)
在 com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:134)
在 com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:57)
在 com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
用法:
sdkmanager [--卸载] [] [--package_file=] [...]
sdkmanager --update []
sdkmanager --list []
sdkmanager --licenses []
sdkmanager --version

使用 --install (可选),安装或更新包。
默认情况下,列出的软件包已安装或(如果已安装)
更新到最新版本。
使用 --uninstall 卸载列出的软件包。

<package> is a sdk-style path (e.g. "build-tools;23.0.0" or
         "platforms;android-23").
<package-file> is a text file where each line is a sdk-style path
               of a package to install or uninstall.
Multiple --package_file arguments may be specified in combination
with explicit paths.

使用 --update,所有已安装的软件包都会更新到最新版本。

使用 --list,打印出所有已安装和可用的包。

使用 --licenses,显示并提供接受所有许可证的选项
尚未接受的可用软件包。

使用 --version,打印 sdkmanager 的当前版本。

常见参数:
--sdk_root=: 使用指定的SDK root而不是SDK
包含这个工具

--channel=<channelId>: Include packages in channels up to <channelId>.
                       Common channels are:
                       0 (Stable), 1 (Beta), 2 (Dev), and 3 (Canary).

--include_obsolete: With --list, show obsolete packages in the
                    package listing. With --update, update obsolete
                    packages as well as non-obsolete.

--no_https: Force all connections to use http rather than https.

--proxy=<http | socks>: Connect via a proxy of the given type.

--proxy_host=<IP or DNS address>: IP or DNS address of the proxy to use.

--proxy_port=<port #>: Proxy port to connect to.

--verbose: Enable verbose output.
  • 如果环境变量 REPO_OS_OVERRIDE 设置为“windows”,
    将为该操作系统下载“macosx”或“linux”软件包。
    image

我正在使用这个解决方案,但看起来 flutter 仍在寻找 android/tools 目录
试图符号链接目录,不起作用
如果我用 android/tools 目录安装 cmdtools,它会给出这样的错误
Warning: Could not create settings java.lang.IllegalArgumentException

image

有人可以详细说明吗?

新的 android studio 版本中缺少 Android SDK 管理器工具。 !!!

新的 android studio 版本中缺少 Android SDK 管理器工具。 !!!

转到工具 -> SDK 管理器 -> SDK 工具
选择并安装 SDK 工具

只需从开发人员站点下载 CLI 工具。 并将粘贴剪切到 sdk 管理器文件夹中。 并更新您的路径并重新启动系统.. 一切都会好起来的。 🙂

从 Outlook Mobile 发送https://aka.ms/blhgte


来源:勒Karakas的[email protected]
发送: 2020 年 4 月 10 日星期五 2:56:43 AM
致:flutter/flutter [email protected]
抄送:ibini [email protected] ; 评论[email protected]
主题:回复:[flutter/flutter] ✗ Android 许可证状态未知。 (#16025)

新的 android studio 版本中缺少 Android SDK 管理器工具。 !!!
转到工具 -> SDK 管理器 -> SDK 工具
选择并安装 SDK 工具


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fflutter%2Fflutter%2Fissues%2F16025%23issuecomment-611760484&data=02 %7C01%7C%7C3eddcd888dc747ec0a5808d7dcccb3b8%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637220644054715340&SDATA = xETn0jgohGz0SgAiwgqWWUzegoqMxcNm6p%2FHsJre080%3D&保留= 0 ,或取消订阅https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub。 COM%2Fnotifications%2Funsubscribe-AUTH%2FAJRW4S5LK6QRCEDO2CUU22DRLY4RHANCNFSM4EX3IR2Q&数据= 02%7C01%7C%7C3eddcd888dc747ec0a5808d7dcccb3b8%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637220644054715340&SDATA = TzISgosVl7pf4cfxpGrTlOXuBYlfJ0szFchL8hYC5Uc%3D&保留= 0

退订...

由于关闭后没有任何近期活动,因此该线程已自动锁定。 如果您仍然遇到类似的问题,请打开一个新的错误,包括flutter doctor -v的输出和问题的最小重现。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

collinjackson picture collinjackson  ·  3评论

Hixie picture Hixie  ·  3评论

eseidelGoogle picture eseidelGoogle  ·  3评论

shadyaziza picture shadyaziza  ·  3评论

drewwarren picture drewwarren  ·  3评论