Flutter运行在安卓机

原文:https://zhuanlan.zhihu.com/p/1989016070959419985
感谢作者,又学到了

下载准备

jdk 8 :https://developer.android.google.cn/studio?hl=zh-cn

android sdk:https://link.zhihu.com/?target=https%3A//developer.android.google.cn/studio%3Fhl%3Dzh-cn

往下翻找到命名行工具:image-20260414181812440

操作

1.进入 cmdline-tools 文件夹,创建一个 latest 的子目录,然后将 cmdline-tools 文件夹内原有的全部文件和文件夹都移动到这个 latest 子目录中。

2.环境变量

2.1 新建 ANDROID_HOME ,指定cmdline-tools 所在文件夹的地址,用来充当 Android SDK 的下载地址

2.2 添加 path ,指定bin包

2.3 测试

image-20260414184225620

image-20260414190657322

2.4 安装 Android SDK

sdkmanager "platform-tools" "platforms;android-28" "build-tools;28.0.0"

相关命令

# 安装软件包
sdkmanager packages
sdkmanager "platforms;android-36" "build-tools;36.0.0"
# 卸载软件包
sdkmanager --uninstall packages
# 列出已安装和可用的软件包
sdkmanager --list

vscode操作

1.打开终端

使用 Ctrl+Shift+` 打开控制台终端,输入 flutter doctor,检查 Android SDK 是否满足要求。

解决版本问题:sdkmanager "platforms;android-36" "build-tools;36.0.0"

解决证书问题:flutter doctor --android-licenses

其他问题可问ai解答

如下图所示,就完成了不通过 Android Studio 安装 Android SDK

image-20260414195538637

2.新建一个模版并做以下配置

在国内,安卓项目的部署会要求下载 Gradle,同时会使用 Maven 下载相应的依赖文件,但因为网络问题,往往无法进行,此时,我们就需要进行镜像地址配置。

在 Flutter 安卓项目中,应当在以下三个地方配置镜像文件。

2.1 android\gradle\wrapper\gradle-wrapper.properties,在这个文件中,我们需要将 distributionUrl 这个的属性值由 https://services.gradle.org/distributions 修改成 https://mirrors.aliyun.com/macports/distfiles/gradle,由谷歌下载换成阿里云下载。

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-8.14.4-all.zip

2.2 如果有文件 android\settings.gradle.kts,则要在这个文件中寻找是否有 pluginManagement 或 dependencyResolutionManagement 这两个配置项,需要在这两个配置项中的 repositories 添加以下配置值。(如果没有文件则不用管,如果只有 pluginManagement,则只在 pluginManagement 中添加)

注意,如果文件后缀不是 .kts 这类 Kotlin 语言文件,如 settings.gradle,那么这里的 maven 方法应当写成 maven { url 'https://maven.aliyun.com/repository/central' },不能写成 maven(url = "https://maven.aliyun.com/repository/central")

如:

pluginManagement {
	...
	repositories { 
		maven(url = "https://maven.aliyun.com/repository/public/") 
		maven(url = "https://maven.aliyun.com/repository/central") 
		maven(url = "https://maven.aliyun.com/repository/google") 
		maven(url = "https://maven.aliyun.com/repository/gradle-plugin")
		
		google() 
		mavenCentral() 
		gradlePluginPortal() 
	} 
} 

dependencyResolutionManagement { 
	...
	repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 
	repositories { 
		maven(url = "https://maven.aliyun.com/repository/public/") 
		maven(url = "https://maven.aliyun.com/repository/central") 
		maven(url = "https://maven.aliyun.com/repository/google") 
		maven(url = "https://maven.aliyun.com/repository/gradle-plugin") 
		
		google() 
		mavenCentral() 
	} 
} 

...
include(":app")

2.3 如果有文件 android\build.gradle.kts,则要在这个文件中寻找是否有 buildscript 或 allprojects 这两个配置项,需要在这两个配置项中的 repositories 添加以下配置值。(如果没有文件则不用管,如果只有 allprojects,则只在 allprojects 中添加)

注意,如果文件后缀不是 .kts 这类 Kotlin 语言文件,如 build.gradle,那么这里的 maven 方法应当写成 maven { url 'https://maven.aliyun.com/repository/central' },不能写成 maven(url = "https://maven.aliyun.com/repository/central")

如:

buildscript {
	...
    repositories {        
	    maven(url = "https://maven.aliyun.com/repository/public/") 
		maven(url = "https://maven.aliyun.com/repository/central") 
		maven(url = "https://maven.aliyun.com/repository/google") 
		maven(url = "https://maven.aliyun.com/repository/gradle-plugin")
	    
        google()
    }
    ...
}

allprojects {
	...
    repositories {
	    maven(url = "https://maven.aliyun.com/repository/public/") 
		maven(url = "https://maven.aliyun.com/repository/central") 
		maven(url = "https://maven.aliyun.com/repository/google") 
		maven(url = "https://maven.aliyun.com/repository/gradle-plugin")
	    
        google()
    }
    ...
}

3.最后愉快的启动吧

posted @ 2026-04-14 20:17  -星语-  阅读(4)  评论(0)    收藏  举报