Flutter之Linux命令行搭建Android 环境

一、简介

在Linux系统下使用命令行安装Android Studio可以提供更灵活的安装方式,适用于那些熟悉命令行操作的开发者。

二、操作流程

2.1 下载安装包

参考链接

历史版本下载:https://developer.android.com/studio/archive?hl=zh-cn

最新版本下载:https://developer.android.com/studio?hl=zh-cn

首先,我们需要从官方网站下载Android Studio的安装包。打开终端,执行以下命令:

|-----------------------------------------------------------------------------------------------------------------------------|
| wget https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2024.1.1.12/android-studio-2024.1.1.12-linux.tar.gz |

2.2 解压安装包

下载完成后,我们需要将安装包解压到一个合适的目录。执行以下命令:

|----------------------------------------------------------|
| tar -xvf android-studio-2024.1.1.12-linux.tar.gz |

这会将安装包解压到当前目录,并生成一个android-studio目录。

2.3 运行Android Studio(可选)

现在,我们可以通过命令行运行Android Studio了。执行以下命令:

|-------------------|
| studio.sh |

2.4 下载命令行工具

参考链接

sdkmanager使用教程:https://developer.android.com/tools/sdkmanager?hl=zh-cn

|--------------------------------------------------------------------------------------------------|
| wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip |

解压安装包

|----------------------------------------------------------|
| unzip commandlinetools-linux-11076708_latest.zip |

创建安卓SDK目录

|----------------------------------------------|
| mkdir -p ~/Android-Sdk/cmdline-tools |

将commandlinetools迁移到安卓SDK目录

|---------------------------------------------------------------|
| mv ~/cmdline-tools ~/Android-Sdk/cmdline-tools/latest |

2.5 添加环境变量

|----------------------|
| vi ~/.bashrc |

在打开的文件中,修改如下:

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ANDROID_HOME="`pwd`/Android-Sdk" export PATH="$PATH:`pwd`/flutter/bin:`pwd`/android-studio/bin:`pwd`/Android-Sdk/cmdline-tools/latest/bin:$ANDROID_HOME/tools/bin:$ANDROID_HOME/tools:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools" |

保存并关闭文件,然后执行以下命令使配置生效:

|--------------------------|
| source ~/.bashrc |

指定 sdkmanager 的sdk路径

|---------------------------------------------|
| sdkmanager --sdk_root=~/Android-Sdk |

2.6 同意许可

执行如下命令后,一直输入yes即可

|-------------------------------|
| sdkmanager --licenses |

2.7 下载Android SDK

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| sdkmanager "platforms;android-28" sdkmanager "platforms;android-29" sdkmanager "platforms;android-30" sdkmanager "platforms;android-31" sdkmanager "platforms;android-33" sdkmanager "platforms;android-34" |

2.8 下载Android platform-tools

|-------------------------------------|
| sdkmanager "platform-tools" |

2.9 下载Android build-tools

|-----------------------------------------------------------------------------------------------------------------------------------------|
| sdkmanager "build-tools;30.0.3" sdkmanager "build-tools;32.0.0" sdkmanager "build-tools;33.0.3" sdkmanager "build-tools;34.0.0" |

2.10 Flutter 设置Android SDK 路径

|---------------------------------------------------------------|
| flutter config --android-sdk /home/planck/Android-Sdk |

检查flutter环境

|------------------------|
| flutter doctor |

出现如下输出,代表我们环境配置正确

相关推荐
阳光九叶草LXGZXJ2 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
奔跑的大白啊3 小时前
多容器共享目录权限踩坑记
linux·ubuntu·共享目录·linux权限·docker 容器化部署
Android系统攻城狮6 小时前
Linux Gstreamer深度解析之gst_audio_encoder_set_frame_max调用流程与实战(六十一)
android·linux·运维·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
H.莓飛6 小时前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio
91刘仁德6 小时前
IP协议详解:从IP协议头到网段划分、路由与NAT
linux·服务器·网络·网络协议·tcp/ip
硅基手札7 小时前
【Linux内核专栏 14】网络协议栈
linux·运维·网络协议
沫璃染墨9 小时前
《Linux工程实践篇(一):认识设计模式——从日志系统看策略模式》
linux·c++·安全·设计模式·策略模式
工作10年+,存储芯片行业9 小时前
Linux NVMe 中断排查与性能优化:CPU 亲和性
linux·运维·服务器·windows·性能优化·ssd·pcie
wuminyu9 小时前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
她说彩礼65万10 小时前
C语言 堆区和栈区
java·linux·c语言