2023年10月19日
flutter-sdk版本:3.13.7
操作系统: linux
看本文之前,默认你已经配置好了Android-SDK,运行flutter doctor
没有报错了,并且在.bashrc
文件中配置好了下面两个环境变量:
export PUB_HOSTED_URL="https://pub.flutter-io.cn"
export FLUTTER_STORAGE_BASE_URL="https://mirrors.tuna.tsinghua.edu.cn/flutter"
flutter编译安卓程序卡死在running gradle task 'assembleRelease'
状态的原因有2个:
解决问题的办法页分2步:
先到 https://services.gradle.org/distributions/ 下载适当版本的 gradle ,我下载的是gradle-7.6.3-all.zip
因为默认下载的是7.5
,而7.6.3
版是目前7.X
系列的最新版。然后修改flutter project
下面的android/gradle/wrapper/gradle-wrapper.properties
文件,把最后一行改成这样:
distributionUrl=file:///path/to/gradle-7.6.3-all.zip
此时编译时 flutter 会复制本地的 gradle-7.6.3-all.zip,不会再从官网下载。
解决的思路是用国内的jcenter
镜像服务器替换官方服务器,具体就是修改flutter project
下面的android/build.gradle
,修改2段下面这样的代码:
repositories {
google()
mavenCentral()
}
插入阿里云的镜像服务器地址,改成下面这样:
repositories {
maven { url 'https://maven.aliyun.com/repository/central' }
google()
mavenCentral()
}
修改flutter project
下面的linux/CMakeLists.txt
,在第一行代码cmake_minimum_required(VERSION 3.10)
后面插入一句:
set(CMAKE_CXX_COMPILER "/usr/bin/g++")