Linux 安装 Flutter 开发环境记录(Manjaro)

1、安装flutter

直接执行下面命令安装flutterdart

sudo pacman -S dart flutter

# 设置 flutter 安装目录为 git信任仓库目录
git config --global --add safe.directory /opt/flutter

# 设置当前用户为 flutter 安装目录的拥有者,不然后面会碰到很多权限问题。
sudo chown -R $(whoami) /opt/flutter/bin/cache/lockfile

# 对 flutter 缓存目录设置写权限
sudo chmod a+rwx -R /opt/flutter/bin/cache

# 安装 pkg-config 和 ninja,只是 linux-desktop 平台需要的。
yay -S pkg-config ninja

配置一下环境变量

/etc/profile.d 目录下新建一个 flutter.sh 文件,写入以下内容:

# 设置镜像站点,参考《在中国网络环境下使用 Flutter》
# https://flutter.cn/community/china
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

安装完成之后,可以运行一下 flutter doctor 命令查看一下安装结果。

2、安装android开发环境

如果需要编译安卓apk,则需要安装安卓开发环境。执行下面命令,安装 Android 开发相关软件。

# 安装安卓SDK
sudo pacman -S android-sdk
# 安装安卓NDK
sudo pacman -S android-ndk

# 安装安装模拟器
sudo pacman -S android-emulator

# 安装安卓平台API 28版本,就是Android 9.0。也可以根据需要安装对应的版本。
sudo pacman -S android-platform-28

# 安装android studio(这个也可以不安装)
sudo pacman -S android-studio

# 安装安卓x86_64系统镜像。也可以根据需要安装对应的版本。
sudo pacman -S android-x86-64-system-image-28

# 安装 OpenJDK-8
sudo pacman -S jdk8-openjdk

配置一下环境变量

/etc/profile.d 目录下新建一个 androidsdk.sh 文件,写入以下内容:

# 下面是在使用 flutter doctor 检测的时候,输出提示安卓工具链没有安装,按照提示
# 执行  /opt/android-sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"
# 这里会失败,输出错误信息,需要使用下面选项,可以在在使用高版本的JDK情况下使用(JDK9/10,再高也出错)
# 参考: https://cloud.tencent.com/developer/ask/sof/134405

# 这个 JAVA_OPTS 在 JDK-8 下不需要去设置
#export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

export JAVA_HOME='/usr/lib/jvm/java-8-openjdk'

export PATH=$JAVA_HOME/bin:$PATH
export ANDROID_SDK_ROOT='/opt/android-sdk'
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools/
export PATH=$PATH:$ANDROID_SDK_ROOT/tools/bin/
export PATH=$PATH:$ANDROID_SDK_ROOT/tools/

执行一下flutter doctor,输出如下:

Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this
source!
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.3, on Manjaro Linux 5.15.50-1-MANJARO, locale zh_CN.UTF-8)
[✗] Android toolchain - develop for Android devices
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
[✗] 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 (the doctor check crashed)
    ✗ Due to an error, the doctor check did not complete. If the error message below is not
      helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
    ✗ ProcessException: Failed to find "pkg-config" in the search path.
        Command: pkg-config 
[✓] Android Studio (version 2021.2)
[✓] Connected device (1 available)
[✓] HTTP Host Availability

! Doctor found issues in 3 categories.

然后执行/opt/android-sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"去安装安卓工具链。
安装过程需要联网下载,可能耗时比较久。

再次执行flutter doctor

这里还提示 linux toolchain有问题,是因为我这里还没有安装pkg-configninja,安装了就没问题了。

执行完成之后再次执行就没有问题了。

Android Studio相关设置

安装完成之后,在Android Studio里面设置一下安卓 SDK 的位置,就可以了。设置目录的时候可能无法设置,提示目录没有写权限,执行下面的命令修改就是

sudo chmod a+w -R /opt/android-sdk

完成上面操作后,在Android-Studio里面的虚拟设备管理(Virtual Device Manager)里面就可以创建新的虚拟设备了(部分设备无法创建,没有对应的镜像可以用,选择Nexus 5等在Play Store列有三角形图标的就是,有这个都可以创建(没有必然联系),没有的不一定能)。

参考

在 VS Code 里开发 Flutter 应用
Flutter 打包 android端 apk
[在 Linux 操作系统上安装和配置 Flutter 开发环境]https://juejin.cn/post/6844903650704244750
Flutter C++插件:Linux桌面应用开发

posted @ 2022-07-05 17:17  乌合之众  阅读(1443)  评论(1编辑  收藏  举报
clear