我从ubuntu的存储库中安装了android sdk,但它不包含sdkmanager
可执行文件,并且不足以与flutter兼容,所以我从包含它的snapd中安装了包装器。根据文档,我必须更改我的ANDROID_SDK_ROOT
env。变量,以便它与它一起工作。我还读到我需要将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,这样我就不必尝试和配置flutter来使用snapd androidsdk,或者我是否遗漏了什么/做错了什么?
操作系统:Ubuntu 20.04
androidsdk(snapd(版本:30(我宁愿不使用这个(
android sdk(apt(版本:25.0.0(也低于flutter的要求(
您为ANDROID_HOME 使用了错误的路径
Android Studio不是必需的:
在用卡扣安装颤振并确保"/snap/bin";正在您的路径上:
- sudo快照安装androidsdk
- 作为常规用户:androidsdk";平台工具"平台;android-29"构建工具;30.0.2〃
这将把你需要的android sdk工具安装到"HOME/AndroidSDK";
-
导出ANDROID_HOME="$HOME/AndroidSDK";
-
颤振刮刀
最适合我的解决方案是:
-
安装带有
snap install android-studio --classic
、的安卓工作室 -
在我的主目录中创建一个
Android
文件夹,并使用android studio将所有需要的组件安装到该文件夹中,然后卸载android studio。 -
运行
flutter config --android-sdk ~/Android
这将flutter配置为使用位于主目录中的新安装的Android sdk。
这样做的好处是,我可以安装模拟器和sdk,而无需配置任何内容。缺点是我不确定更新过程会如何进行,我更喜欢使用包管理器,但这是我找到的最简单的方法。