Flutter Doctor 无法识别我的 ANDROID_SDK 环境变量

Flutter Doctor not recognizing my ANDROID_SDK environment variables

我从 ubuntu 的存储库安装了 android-sdk,但它不包含 sdkmanager 可执行文件,并且不够新,无法与 flutter 兼容,所以我从包含它的 snapd 安装了包装器。根据 documentation 我必须更改我的 ANDROID_SDK_ROOT 环境。变量,以便它与它一起工作。我还读到我需要将 ANDROID_HOME 设置到目录(我认为它已被弃用但以防万一)所以我把它放在我的 .profile:

export ANDROID_SDK_ROOT=/snap/androidsdk/current/
export ANDROID_HOME=/snap/androidsdk/current/

然后我 运行 source .profile 并重新启动了我的机器,但是 flutter doctor 一直给我这个错误:

[!] Android toolchain - develop for Android devices (Android SDK version 27.0.1)
    ✗ Flutter requires Android SDK 29 and the Android BuildTools 28.0.3
      To update the Android SDK visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions.

我知道它使用了错误的路径,因为当我 运行 flutter doctor --android-licenses 我收到这个错误:

Android sdkmanager tool not found (/usr/lib/android-sdk/tools/bin/sdkmanager).

指向我用apt安装的SDK的路径。我试过 flutter config --android-sdk $PATH_TO_SDK 但仍然没有任何改变。是否有包含 sdk 管理器的 ppa,这样我就不必尝试配置 flutter 来使用 snapd androidsdk 或者我有什么地方 missing/doing 错了吗?

OS: Ubuntu 20.04

androidsdk (snapd) 版本:30(我不想用这个)

android-sdk(apt)版本:25.0.0(也低于flutter的要求)

最适合我的解决方案是:

  1. 安装 android-studio 和 snap install android-studio --classic,

  2. 在我的主目录中创建一个 Android 文件夹,然后使用 android studio 将所有需要的组件安装到该文件夹​​中,然后卸载 android-studio.

  3. 运行 flutter config --android-sdk ~/Android 这会将 flutter 配置为使用位于主目录中的新安装的 Android-sdk。

这样做的好处是我无需配置任何东西就可以安装模拟器和sdk。缺点是我不确定更新过程将如何进行,我更愿意使用包管理器,但这是我想出的最简单的方法。

您为 ANDROID_HOME

使用了错误的路径

Android 不需要工作室:

安装 flutter with snap 并确保“/snap/bin”在您的路径中后:

  1. sudo 快照安装 androidsdk
  2. 作为普通用户:androidsdk "platform-tools" "platforms;android-29" "build-tools;30.0.2"

这会将您需要的 android sdk 工具安装到“$HOME/AndroidSDK”

  1. 导出 ANDROID_HOME="$HOME/AndroidSDK"

  2. 扑博士