如何在 flutter 中修复 "Android license status unknown"

How to fix "Android license status unknown" in flutter

我的 flutter doctor -v 结果:

[√] Flutter (Channel stable, v1.0.0, on Microsoft Windows [Version 10.0.17134.472], locale fa-IR)
    • Flutter version 1.0.0 at C:\Android\flutter
    • Framework revision 5391447fae (6 weeks ago), 2018-11-29 19:41:26 -0800
    • Engine revision 7375a0f414
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at c:\Android\android-sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 27.0.3
    • ANDROID_HOME = C:\Android\android-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 29.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] Connected device (1 available)
    • HUAWEI CUN U29 • CCMBBCB6C0153603 • android-arm • Android 5.1 (API 22)

当 运行 时:

flutter doctor --android-licenses

给我这个结果:

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

更新 sdkmanager 时向我显示此错误:

 Exception in thread "main" java.lang.NoSuchFieldError: FN_AAPT2
        at com.android.sdklib.BuildToolInfo.<init>(BuildToolInfo.java:362)

我该如何解决这个挑战?

卸载 Android Studio 或 Android SDK。重新安装。

使用flutter_console代替CMD

flutter doctor --android-licenses

我已经按照这些步骤操作了。它对我有用。

  1. 转到环境变量并添加 ANDROID_HOME 变量值为: C:\Users\%username%\AppData\Local\Android\Sdk

  2. 然后我的 JAVA_HOME 具有此变量值: C:\Program Files\Android\Android Studio\jre

  3. 然后我的路径有这个变量值: C:\Users\%username%\flutter\bin

  4. 然后我运行下面的命令

    flutter doctor
    
  5. 得到医生总结的输出(查看所有细节,运行 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.
    
  6. 那我运行
    flutter doctor --android-licenses
    
    并接受 (y)
  7. 的所有条款和条件

现在这个许可证问题与java开发工具包(JDK)版本有关。 由于某些原因,如果您不使用 JDK 8 或更低版本,您将很遗憾地获得许可证 issues.So 基本上卸载当前版本并安装 JDK 8 或更低版本。检查下面的 link 并仔细跟进对话。 https://github.com/flutter/flutter/issues/16025

我按照 Nitesh 的步骤(谢谢)解决了 pb(一开始是 Win10 上的 jdk11),但由于 win10 的奇怪行为(我知道...)而有一些变化。
要对象化,请使用 win10 向导创建两个环境变量:
我打:
TEST1 C:\Users\%username%\XXX TEST2 %USERPROFILE%\YYY
在向导中正确显示:
TEST1 C:\Users\pirla\XXX TEST2 C:\Users\pirla\YYY
但是在 dos 命令 window 中,尽管用户名正确,但在第一种情况下会出现 SYSTEM :
C:\Users\pirla>echo %username% pirla C:\Users\pirla>set TEST TEST1=C:\Users\SYSTEM\XXX TEST2=C:\Users\pirla\YYYY

所以替换
C:\Users\%username%\
通过
%USERPROFILE%\
一切都很好。 (顺便说一句,如果你也有一个 JRE_HOME ,也改变它)

HTH

在 Windows 上: 打开 cmd 和 运行:

android update sdk

之后运行又flutter doctor

在终端中:

  1. flutter update
  2. flutter doctor --android-licenses
  3. 接受y
  4. 的所有条款

这对我有用:

  1. 打开 Android Studio 的 SDK 管理器
  2. 转到 Android SDK 选项卡
  3. 在 SDK 工具下,取消选中隐藏过时的包
  4. 安装Android SDK 工具(已过时)

我通过安装命令行工具解决了这个问题。

然后重新运行

flutter doctor --android-licenses

  1. 使用 SDK 管理器在 android studio 上安装 Android SDK Command-line Tools

  2. 运行 flutter doctor --android-licenses

解决方案: None 在为移动开发设置 Windows 10 Flutter 1.17.1 环境时,上述方法有效。最快最简单的解决方法是从 https://developer.android.com/studio/archive.

下载 android-studio-ide-193.6514223-windows (Android 4.0)
  1. 下载Android4.0

  2. 安装命令

  3. SDK 设置中的线条工具

  4. 重启打开命令提示符

    flutter doctor -v

在AndroidStudio 的右上角AVD 管理器图标和放大镜之间有一个SDK 管理器图标。点击它。 您会看到一个模式,显示您在左侧菜单中的系统设置 -> Android SDK 中。在中间区域有一个 SDK Tools 选项卡,点击它。 选中“Android SDK 命令行工具(最新)”框,然后单击“应用”。它会安装它(大约105M)。现在 运行 flutter doctor --android-licenses 对所有事情都说是。错误应该消失了。

您必须安装 Android SDK 命令行工具(最新)。 转到 android 工作室 中的 SDK 管理器,在 SDK 工具 选项卡中,签入 Android SDK命令行工具(最新) 然后点击“应用”。