作为前言,我不愿意在这台机器上下载 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
来验证它是否存在,但进程仍然失败(构建;这并不重要,并添加一个模拟器)。
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