Flutter真机USB调试遇407代理认证错误问题求助
解决Flutter真机调试时Gradle 407代理认证失败问题
问题定位
非Flutter项目构建正常,说明问题出在Flutter特定的依赖拉取逻辑——真机调试时,Flutter触发的Gradle任务可能使用了未配置认证的代理,或是Flutter全局Gradle脚本覆盖了本地配置。
解决方案
1. 检查Flutter全局Gradle脚本
Flutter自带的gradle脚本可能硬编码了代理配置,进入$FLUTTER_HOME/packages/flutter_tools/gradle目录,打开flutter.gradle文件:
- 查找是否存在
systemProp.http.proxyHost、systemProp.https.proxyHost这类代理配置 - 如果不需要代理,直接注释掉相关行;如果需要代理,补充完整的认证信息(
proxyUser和proxyPassword)
2. 完善项目级代理配置(如需代理)
在项目的android/gradle.properties中补充代理认证信息,替换为你的实际代理参数:
systemProp.http.proxyHost=你的代理地址 systemProp.http.proxyPort=代理端口 systemProp.http.proxyUser=代理用户名 systemProp.http.proxyPassword=代理密码 systemProp.https.proxyHost=你的代理地址 systemProp.https.proxyPort=代理端口 systemProp.https.proxyUser=代理用户名 systemProp.https.proxyPassword=代理密码
如果无需代理,直接清空所有代理相关配置,并确保IDE设置为直接连接,同时关闭系统级代理(Windows「Internet选项」、Mac「网络设置」)。
3. 清除Gradle缓存
执行命令清除旧缓存,避免配置残留:
./gradlew cleanBuildCache flutter clean
之后重新执行flutter run或./gradlew assembleDebug。
4. 检查真机代理设置
Redmi Note 7连接电脑后可能自动使用电脑代理,但手机端未配置认证:
- 进入手机「设置-无线和网络-代理」
- 若开启了代理,要么关闭,要么补充正确的用户名和密码
5. 切换国内依赖镜像(网络环境特殊时)
在项目android/build.gradle中替换默认仓库为国内镜像:
repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } google() mavenCentral() }
同时在Flutter全局配置文件~/.flutter/config中添加:
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn PUB_HOSTED_URL=https://pub.flutter-io.cn
内容的提问来源于stack exchange,提问作者Danijard
相关产品推荐
相关产品推荐

