android - Flutter Doctor 无法识别我的 ANDROID_SDK 环境变量
问题描述
我从 ubuntu 的存储库中安装了 android-sdk,但它不包含sdkmanager
可执行文件,并且还不足以与颤振兼容,因此我从包含它的 snapd 安装了包装器。根据文档,我必须更改我的ANDROID_SDK_ROOT
环境。变量,以便它与它一起工作。我还读到我需要设置ANDROID_HOME
到目录(我认为它已被弃用但以防万一)所以我把它放在我的.profile
:
export ANDROID_SDK_ROOT=/snap/androidsdk/current/
export ANDROID_HOME=/snap/androidsdk/current/
然后我运行source .profile
并重新启动了我的机器,但是颤振医生一直给我这个错误:
[!] 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,这样我就不必尝试配置颤振来使用 snapd androidsdk 或者我缺少/做错了什么?
操作系统:Ubuntu 20.04
androidsdk (snapd) 版本:30(我不想用这个)
android-sdk (apt) 版本:25.0.0(也低于flutter的要求)
解决方案
您为 ANDROID_HOME 使用了错误的路径
Android Studio 不是必需的:
在使用 snap 安装 Flutter 并确保“/snap/bin”在您的路径中之后:
- sudo snap install androidsdk
- 作为普通用户:androidsdk "platform-tools" "platforms;android-29" "build-tools;30.0.2"
这会将您需要的 android sdk 工具安装到“$HOME/AndroidSDK”中
导出 ANDROID_HOME="$HOME/AndroidSDK"
扑医生
推荐阅读
- firebase - 只允许在 Firestore 中创建一个文档,不允许更新、编辑等
- python - 获取分组列的计数
- javafx - 我不能在 AccountController 中为全名和钱设置文本。错误代码是“不能从静态上下文引用非静态变量”
- oop - 如果预期,为什么不接受字符串类型?
- android - 无法让 KeyPairGenerator 生成随机密钥
- scala - 当被子类型使用时,对泛型方法的类型参数进行泛型子类型化
- java - Tomcat 负载均衡环境中的 Java 应用间通信
- javascript - 如何在不使用重置按钮的情况下重置?
- reactjs - 如何访问属于 useState 中的组件的变量?
- r - 如何使用决策树对类别中的文本进行分类