我可以让 VS Code 在 flutter 中使用 cmdline-tools 运行 Android 模拟器吗?

问题描述 投票:0回答:1

前言

作为前言,我不愿意在这台机器上下载 Android Studio,因此我正在寻找需要使用它的解决方案(如果可能的话)。谢谢你。

背景

运行

flutter doctor
提供以下输出:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.13.0, on Arch Linux 6.4.11-arch2-1, locale en_GB.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Linux toolchain - develop for Linux desktop
[!] Android Studio (not installed)
[✓] Connected device (1 available)
[✓] Network resources

! Doctor found issues in 2 categories.

请注意,

[✓] Connected device (1 available)
指的是Linux,而不是模拟器。为此,如果我运行
flutter emulators
,我将得到以下输出:

1 available emulator:

android34 • android34 •  • android

To run an emulator, run 'flutter emulators --launch <emulator id>'.
To create a new emulator, run 'flutter emulators --create [--name xyz]'.

You can find more information on managing emulators at the links below:
  https://developer.android.com/studio/run/managing-avds
  https://developer.android.com/studio/command-line/avdmanager

该模拟器是使用命令

avdmanager create avd --name android34 --package "system-images;android-34;google_apis_playstore;x86_64"
创建的,并且生成时没有发生任何事件。事实上,运行
flutter emulators --launch android34
成功在自己的窗口中启动模拟器,并具有完整的功能。我已经测试了在 VS Code 打开的情况下运行和不运行模拟器,在这两种情况下,它都无法识别它。

如果有帮助,我的

.bashrc
文件包含以下环境变量:

export ANDROID_HOME=$HOME/android/sdk
export PATH=$ANDROID_HOME/cmdline-tools/latest/bin/:$PATH
export PATH=$ANDROID_HOME/platform-tools/:$PATH

以上所有命令均已在 VS Code 和虚拟(bash)终端中测试成功

问题

尽管模拟器已成功创建并运行,但当我尝试在 VS Code 中单击

Create Android emulator
时,返回错误;即,

avdmanager is missing from the Android SDK

这显然是不正确的,因为我已经跑步了

avdmanager
。所以我认为 VS Code 中的 Flutter 或 Dart 出了问题。

顺便说一句,我还通过命令行成功地将我的应用程序构建到了 apk 中。但是在 VS Code 中转到

Terminal
->
Run Build Task...
->
flutter: build apk
会导致(可能相关)错误:

[!] No Android SDK found. Try setting the ANDROID_SDK_ROOT environment variable.

我返回并编辑

.bashrc
以包含此内容,并在 VS Code 中的终端中运行
printenv
来验证它是否存在,但进程仍然失败(构建;这并不重要,并添加一个模拟器)。

linux flutter visual-studio-code android-emulator
1个回答
0
投票

avdmanager 似乎在 $ANDROID_HOME/cmdline-tools/tools/bin 中,试试这个:

export ANDROID_HOME=$HOME/android/sdk
PATH=$ANDROID_HOME/cmdline-tools/tools:$ANDROID_HOME/cmdline-tools/tools/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools:$ANDROID_HOME/build-tools:$PATH
© www.soinside.com 2019 - 2024. All rights reserved.