flutter doctor 中的“Android 许可证状态未知”
“Android license status unknown” in flutter doctor
当我在命令行 运行 flutter doctor
上时,Android Sdk 出现错误
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v1.4.9-hotfix.1, on Mac OS X 10.14.4 18E226, locale zh-Hans-CN)
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
✗ Android license status unknown.
Try re-installing or updating your Android SDK Manager.
See https://developer.android.com/studio/#downloads or visit
https://flutter.io/setup/#android-setup for detailed instructions.
[✓] iOS toolchain - develop for iOS devices (Xcode 10.2)
[✓] Android Studio (version 3.3)
[✓] VS Code (version 1.33.1)
[!] Connected device
! No devices available
! Doctor found issues in 2 categories.
在遵循了 Whosebug 社区的几个可能的修复之后,我仍然无法让它工作。
我需要帮助。
这是对我有用的
修复 1:
- 启动 Android studio 并打开 SDK 管理器(Android studio 的右上角)
- 导航到 SDK 选项卡并查找 Android SDK 平台工具
- 如果勾选,取消勾选并点击'Apply'(我们正在尝试卸载之前的版本)
- 现在 "SDK Tools" 已卸载。让我们通过选中该框并单击 'Apply'
来重新安装它
- 点击确定并重启 Android 工作室
- 导航到
%USERPROFILE%\AppData\Local\Android\Sdk
的 SDK 安装位置 windows,您应该会看到一个新文件夹 tools
注意:如果您没有看到 tools
文件夹,请不要惊慌,我已经为您准备好了。
- 打开
tools
文件夹并导航到 bin
- 复制文件夹路径(即
C:\Users\USERNAME%\AppData\Local\Android\Sdk\tools\bin
)
- 将该路径添加到环境变量
- 现在您应该可以在命令行中访问
sdkmanager
。通过在 CMD 中键入 sdkmanager
并按回车键来尝试一下。
- 如果您得到
'sdkmanager' is not recognized as an internal or external command, operable program or batch file.
,您可能在将路径添加到系统环境变量时犯了错误。解决这个问题。
- 转到 Flutter sdk 文件夹(即
c:/src/flutter
)并启动 flutter_console.bat
文件
- 现在输入命令
flutter doctor --android-licenses
,它应该可以工作了。通过输入 y
并按 ENTER 接受所有
- 别忘了 运行
flutter doctor
修复 2:
PS:只有修复 1 对您不起作用!
- 打开浏览器并转到 Command line tools only(页面底部)
- 为您的平台下载合适的包
- 解压缩 & 是的!您应该会看到
tools
文件夹
解压后,将tools
文件夹复制到C:\Users\USERNAME%\AppData\Local\Android\Sdk
现在与上面的修复 1 相同,
打开 tools
文件夹并导航至 bin
- 复制文件夹路径(即
C:\Users\USERNAME%\AppData\Local\Android\Sdk\tools\bin
)
- 将该路径添加到环境变量
- 现在您应该可以在命令行中访问
sdkmanager
。通过在 CMD 中键入 sdkmanager
并按回车键来尝试一下。
- 如果您得到
'sdkmanager' is not recognized as an internal or external command, operable program or batch file.
,您可能在将路径添加到系统环境变量时犯了错误。解决这个问题。
- 否你还没有完成
- 您下载的 SDK 平台工具可能已过时(正如您从命令行 运行
sdkmanager
命令时看到的那样)
- 现在让我们交给 Android Studio 来完成剩下的工作。重新启动 Android Studio,以便它可以识别您添加的
tools
文件夹。
- 重新启动后,Android Studio 应该会自动检测过时的平台工具并提示您更新(您必须连接到互联网!)。
- 如果没有出现更新提示
- 在 Android 工作室中打开 SDK 管理器,
- 转到更新
- 点击
Check Now
- 你应该得到更新平台工具的提示
修复 3:
- 完成修复 2 中的所有操作
- 打开环境变量,创建一个新变量
JAVA_HOME
并将值设置为 JRE/bin(从 Program Files 中的 Android studio 安装位置获取)
- 打开命令行类型
set JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
for windows & export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
for Linux
就是这样,您现在可以在命令行上 运行 flutter doctor --android-licenses
;通过键入 y
并按 ENTER 接受所有许可。别忘了 运行 flutter doctor
就是这样。我希望它也适合你
当我在命令行 运行 flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v1.4.9-hotfix.1, on Mac OS X 10.14.4 18E226, locale zh-Hans-CN)
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
✗ Android license status unknown.
Try re-installing or updating your Android SDK Manager.
See https://developer.android.com/studio/#downloads or visit
https://flutter.io/setup/#android-setup for detailed instructions.
[✓] iOS toolchain - develop for iOS devices (Xcode 10.2)
[✓] Android Studio (version 3.3)
[✓] VS Code (version 1.33.1)
[!] Connected device
! No devices available
! Doctor found issues in 2 categories.
在遵循了 Whosebug 社区的几个可能的修复之后,我仍然无法让它工作。 我需要帮助。
这是对我有用的
修复 1:
- 启动 Android studio 并打开 SDK 管理器(Android studio 的右上角)
- 导航到 SDK 选项卡并查找 Android SDK 平台工具
- 如果勾选,取消勾选并点击'Apply'(我们正在尝试卸载之前的版本)
- 现在 "SDK Tools" 已卸载。让我们通过选中该框并单击 'Apply' 来重新安装它
- 点击确定并重启 Android 工作室
- 导航到
%USERPROFILE%\AppData\Local\Android\Sdk
的 SDK 安装位置 windows,您应该会看到一个新文件夹tools
注意:如果您没有看到tools
文件夹,请不要惊慌,我已经为您准备好了。 - 打开
tools
文件夹并导航到bin
- 复制文件夹路径(即
C:\Users\USERNAME%\AppData\Local\Android\Sdk\tools\bin
) - 将该路径添加到环境变量
- 现在您应该可以在命令行中访问
sdkmanager
。通过在 CMD 中键入sdkmanager
并按回车键来尝试一下。 - 如果您得到
'sdkmanager' is not recognized as an internal or external command, operable program or batch file.
,您可能在将路径添加到系统环境变量时犯了错误。解决这个问题。 - 转到 Flutter sdk 文件夹(即
c:/src/flutter
)并启动flutter_console.bat
文件 - 现在输入命令
flutter doctor --android-licenses
,它应该可以工作了。通过输入y
并按 ENTER 接受所有
- 别忘了 运行
flutter doctor
修复 2:
PS:只有修复 1 对您不起作用!
- 打开浏览器并转到 Command line tools only(页面底部)
- 为您的平台下载合适的包
- 解压缩 & 是的!您应该会看到
tools
文件夹 解压后,将
tools
文件夹复制到C:\Users\USERNAME%\AppData\Local\Android\Sdk
现在与上面的修复 1 相同,
打开
tools
文件夹并导航至bin
- 复制文件夹路径(即
C:\Users\USERNAME%\AppData\Local\Android\Sdk\tools\bin
) - 将该路径添加到环境变量
- 现在您应该可以在命令行中访问
sdkmanager
。通过在 CMD 中键入sdkmanager
并按回车键来尝试一下。 - 如果您得到
'sdkmanager' is not recognized as an internal or external command, operable program or batch file.
,您可能在将路径添加到系统环境变量时犯了错误。解决这个问题。 - 否你还没有完成
- 您下载的 SDK 平台工具可能已过时(正如您从命令行 运行
sdkmanager
命令时看到的那样) - 现在让我们交给 Android Studio 来完成剩下的工作。重新启动 Android Studio,以便它可以识别您添加的
tools
文件夹。 - 重新启动后,Android Studio 应该会自动检测过时的平台工具并提示您更新(您必须连接到互联网!)。
- 如果没有出现更新提示
- 在 Android 工作室中打开 SDK 管理器,
- 转到更新
- 点击
Check Now
- 你应该得到更新平台工具的提示
修复 3:
- 完成修复 2 中的所有操作
- 打开环境变量,创建一个新变量
JAVA_HOME
并将值设置为 JRE/bin(从 Program Files 中的 Android studio 安装位置获取) - 打开命令行类型
set JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
for windows &export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
for Linux
就是这样,您现在可以在命令行上 运行 flutter doctor --android-licenses
;通过键入 y
并按 ENTER 接受所有许可。别忘了 运行 flutter doctor