【问题标题】:How to fix "Android license status unknown" in flutter如何在颤振中修复“Android许可证状态未知”
【发布时间】:2019-06-03 07:28:13
【问题描述】:

我的颤振医生 -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 flutter android-sdk-manager


【解决方案1】:

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

然后重新运行

flutter doctor --android-licenses

【讨论】:

    【解决方案2】:

    我已遵循这些步骤。它对我有用。

    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. 得到 Doctor summary 的输出(要查看所有详细信息,请运行 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) 的条款和条件

    【讨论】:

      【解决方案3】:
      1. 使用 SDK 管理器在 android studio 上安装 Android SDK Command-line Tools

      2. 运行flutter doctor --android-licenses

      【讨论】:

        【解决方案4】:

        现在这个许可证问题与 java 开发工具包 (JDK) 版本有关。 由于某些原因,如果您没有使用 JDK 8 或更低版本,您将不幸遇到许可证问题。所以基本上卸载当前版本并安装 JDK 8 或更低版本。检查下面的链接并仔细阅读对话。 https://github.com/flutter/flutter/issues/16025

        【讨论】:

        • 一种解决方案是安装 JDK 8 或更低版本,然后在您的用户和系统环境变量中正确设置 JAVA_HOME。
        • 在 Mac 上,我安装了 JDK 8 和 14。我忘记切换环境以使用 8 并收到许可消息。切换回 8,它就消失了。
        【解决方案5】:

        我按照 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 命令窗口中,尽管用户名正确,但首先出现的是 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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

            使用 flutter_console 代替 CMD

            flutter doctor --android-licenses
            

            【讨论】:

            • 这个控制台 fir mac 在哪里?我找不到它。
            【解决方案8】:

            这对我有用:

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

            【讨论】:

              【解决方案9】:

              解决方案:在为移动开发设置 Windows 10 Flutter 1.17.1 环境时,上述方法均无效。最快最简单的解决方法是从https://developer.android.com/studio/archive下载android-studio-ide-193.6514223-windows (Android 4.0)。

              1. 下载安卓 4.0

              2. 安装命令

              3. SDK 设置中的线路工具

              4. 重启打开命令提示符

                颤振医生-v

              【讨论】:

                【解决方案10】:

                您必须安装 Android SDK 命令行工具(最新)。 转到android studio中的SDK Manager,在标签SDK Tools中,签入Android SDK Command-line Tool(Latest),然后点击“应用”。

                【讨论】:

                  【解决方案11】:

                  在 Windows 上: 打开cmd运行:

                  android update sdk
                  

                  之后再次运行flutter doctor

                  【讨论】:

                    【解决方案12】:

                    在终端:

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

                    【讨论】:

                      【解决方案13】:

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

                      【讨论】:

                      • 您只需要从 Adnroid SDK 安装 Android SDK 命令行工具。无需卸载整个工作室和SDK
                      猜你喜欢
                      • 2021-10-14
                      • 2019-12-27
                      • 2020-11-27
                      • 2020-03-25
                      • 1970-01-01
                      • 1970-01-01
                      • 2020-11-24
                      • 2019-10-19
                      • 2019-08-04
                      相关资源
                      最近更新 更多