1、检查网络连接
确保您有稳定的网络连接,因为 Gradle 需要下载依赖
2、清理项目缓存
flutter clean
cd android
./gradlew clean
cd ..
flutter pub get
3、修改 gradle-wrapper.properties
检查文件 android/gradle/wrapper/gradle-wrapper.properties,确保使用合适的 Gradle 版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
4、配置镜像源
在 android/build.gradle 文件中添加国内镜像:
buildscript {
repositories {
// 添加国内镜像
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/public' }
google()
mavenCentral()
}
}
allprojects {
repositories {
// 添加国内镜像
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/public' }
google()
mavenCentral()
}
}
5、增加 Gradle 内存
在 android/gradle.properties 中添加:
org.gradle.jvmargs=-Xmx1536M --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
6、如果以上方法都不能解决问题,您可以尝试:
删除 .gradle 文件夹后重试
检查 Android Studio 是否安装了最新版本
确保 Java 环境配置正确
7、确保 Java 环境配置正确
(1)检查 Java 是否已安装
java -version
javac -version
(2)如果命令无法执行,说明需要安装 Java。
安装 JDK
建议安装 JDK 11 或 JDK 17,这两个版本与 Flutter/Android 开发最兼容
(3)设置环境变量
前往文件夹~/.zshrc
填写以下内容
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.x.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
(4)验证配置 重新打开终端,运行:
echo $JAVA_HOME
java -version
javac -version
(5)在 Flutter 项目中指定 Java 版本
在 android/app/build.gradle 文件中确保 Java 兼容性:(看清楚文件位置)
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
}
二、执行flutter run报错
1、首先,清理 Gradle 缓存
rm -rf /Users/xiaoling/.gradle/wrapper/dists/gradle-7.5-all
2、手动下载 Gradle
访问 https://services.gradle.org/distributions/gradle-7.5-all.zip 下载 Gradle
创建目录并将下载的文件放入:
mkdir -p /Users/xiaoling/.gradle/wrapper/dists/gradle-7.5-all/6qsw290k5lz422uaf8jf6m7co/
将下载的 gradle-7.5-all.zip 移动到上述目录
mv ~/Downloads/gradle-7.5-all.zip /Users/xiaoling/.gradle/wrapper/dists/gradle-7.5-all/6qsw290k5lz422uaf8jf6m7co/
3、修改 Gradle 超时设置:在 android/gradle.properties 文件中添加:
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
systemProp.http.connectionTimeout=180000
systemProp.http.socketTimeout=180000
4、清理项目并重试
flutter clean
cd android
./gradlew clean
cd ..
flutter pub get
flutter run
三、使用 Homebrew 安装JDK 11
# 安装 Homebrew(如果还没有安装的话)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 OpenJDK 11
brew install openjdk@11
安装完成后,需要创建符号链接:
sudo ln -sfn $(brew --prefix)/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
配置环境变量:编辑 ~/.zshrc 文件
添加以下内容(根据实际安装路径修改)
如果是 Homebrew 安装
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
export PATH=$JAVA_HOME/bin:$PATH
验证安装
# 重新加载配置
source ~/.zshrc
# 检查 Java 版本
java -version
javac -version
应该看到类似输出:
openjdk version "11.0.x"
OpenJDK Runtime Environment...
在 Android Studio 中设置 JDK
打开 Android Studio
进入 Preferences (⌘,)
搜索 "SDK"
在 Gradle settings 中设置 Gradle JDK 为刚安装的 JDK 11
修改项目配置:在 android/app/build.gradle 中确保:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
}
完成后,清理项目并重试:最好重启VSCode
flutter clean
cd android
./gradlew clean
cd ..
flutter pub get
flutter run
注意:
安装完成后,确保完全退出并重新打开终端
如果有多个 Java 版本,可以使用 /usr/libexec/java_home -V 查看所有版本
M1/M2 芯片的 Mac 要确保下载 ARM 版本的 JDK
四、在 VS Code 中将 Java 版本切换到 JDK 11
1、首先确认 JDK 11 是否已安装
/usr/libexec/java_home -V
这会列出所有已安装的 Java 版本。如果没有看到 JDK 11,需要先安装:(上面有步骤)
检查 VS Code Java 扩展设置
打开 VS Code 设置 (⌘ + ,)
搜索 "java.home"
确保它指向 JDK 11 的路径