Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flatter Doctor无法识别我的ANDROID_SDK环境变量_Android_Flutter_Ubuntu_Dart_Android Sdk Tools - Fatal编程技术网

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

Flatter Doctor无法识别我的ANDROID_SDK环境变量,android,flutter,ubuntu,dart,android-sdk-tools,Android,Flutter,Ubuntu,Dart,Android Sdk Tools,我从ubuntu的存储库中安装了android sdk,但它不包含可执行文件sdkmanager,并且不够新,无法与flift兼容,因此我从包含它的snapd安装了包装器。根据计划,我必须更改我的ANDROID\u SDK\u ROOTenv。变量,以便它与它一起工作。我还读到,我需要将ANDROID\u HOME设置到目录中(我认为它已被弃用,但只是以防万一),因此我将其放在我的.profile中: 导出ANDROID_SDK_ROOT=/snap/androidsdk/current/ 导出

我从ubuntu的存储库中安装了android sdk,但它不包含可执行文件
sdkmanager
,并且不够新,无法与flift兼容,因此我从包含它的snapd安装了包装器。根据计划,我必须更改我的
ANDROID\u SDK\u ROOT
env。变量,以便它与它一起工作。我还读到,我需要将
ANDROID\u HOME
设置到目录中(我认为它已被弃用,但只是以防万一),因此我将其放在我的
.profile
中:

导出ANDROID_SDK_ROOT=/snap/androidsdk/current/ 导出ANDROID_HOME=/snap/androidsdk/current/ 然后,我运行了
source.profile
并重新启动了我的机器,但Flatter博士一直给我这个错误:

[!] 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.
Android sdkmanager tool not found (/usr/lib/android-sdk/tools/bin/sdkmanager).
我知道它使用了错误的路径,因为当我运行
flatter-doctor--android许可证时,我收到以下错误:

[!] 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.
Android sdkmanager tool not found (/usr/lib/android-sdk/tools/bin/sdkmanager).
它指向我随apt安装的SDK的路径。我已经尝试了
flatter配置--android SDK$path_to_SDK
,但这仍然并没有改变任何事情。是否有一个包含sdk管理器的ppa,这样我就不必尝试配置Flitter来使用snapd AndroidDK,或者我缺少了什么/做错了什么

操作系统:Ubuntu 20.04

androidsdk(snapd)版本:30(我不希望使用此版本)


android sdk(apt)版本:25.0.0(也低于颤振的要求)

最适合我的解决方案是:

  • 使用
    快照安装android studio--classic安装android studio

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

  • 运行
    flatter config--android sdk~/android
    这将配置flatter使用位于主目录中的新安装的android sdk


  • 这样做的好处是,我可以在不需要配置任何东西的情况下安装emulator和sdk。缺点是我不确定更新过程将如何进行,我更希望使用软件包管理器,但这是我找到的最简单的方法。

    对我有效的解决方案,打开android studio-->SDK管理器并安装29级SDK。我希望它也能帮助你:)@Hamza我不想安装android studio,没有其他方法吗?TBH我强烈建议你只安装android studio,但不要使用它。保留它吧,因为android studio在默认情况下会为您提供很多您不需要手动设置的内容,这将节省您大量的时间。否则,您将继续面临与SDK、gradles和emulator等相关的问题。@Hamza ok这是有道理的。还是别让我头疼了,谢谢!哦,凯!放松一下,祝你今天愉快先生:)