Flutter Android构建失败:无法解析flutter_embedding_debug依赖求助
解决Flutter Android构建时无法获取x86_debug.pom的问题
可行解决方案:
1. 配置Gradle使用公司代理
公司防火墙环境下,浏览器能正常下载但Gradle未走代理是常见原因。修改项目根目录下的gradle.properties文件,添加代理配置(替换为你的公司代理信息):
systemProp.http.proxyHost=你的代理IP systemProp.http.proxyPort=代理端口 systemProp.https.proxyHost=你的代理IP systemProp.https.proxyPort=代理端口 # 若代理需认证,补充以下内容 systemProp.http.proxyUser=你的用户名 systemProp.http.proxyPassword=你的密码 systemProp.https.proxyUser=你的用户名 systemProp.https.proxyPassword=你的密码 # NTLM代理需额外添加 systemProp.http.auth.ntlm.domain=你的公司域
2. 导入公司根证书到Java密钥库
PKIX证书路径失败多因Java不信任公司防火墙的SSL证书,操作步骤:
- 从浏览器导出公司根证书(保存为
.cer格式) - 找到Flutter自带JDK路径,一般为
flutter\bin\cache\artifacts\engine\windows-x64\openjdk - 打开命令提示符,进入该JDK的
bin目录,执行导入命令:
keytool -import -alias company-root-cert -keystore ..\lib\security\cacerts -file C:\你的证书路径\root.cer
默认密钥库密码为changeit,按提示确认导入即可。
3. 强制Gradle使用TLS 1.2
在项目android\build.gradle文件的allprojects块中添加TLS配置:
allprojects { repositories { // 保留原有仓库配置 } // 添加以下配置 configurations.all { attributes.attribute(TlsVersion.TLS_VERSION_ATTRIBUTE, TlsVersion.TLS_1_2) } }
同时在gradle\wrapper\gradle-wrapper.properties中指定兼容TLS的Gradle版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
4. 清理缓存后重新构建
执行以下命令清理Flutter和Gradle缓存,避免旧缓存干扰:
flutter clean cd android gradlew clean gradlew build --refresh-dependencies cd .. flutter run
5. 配置Windows系统代理环境变量
确保Gradle能读取到Windows代理设置:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 添加系统变量:
- 变量名:
HTTP_PROXY,值:http://代理IP:端口 - 变量名:
HTTPS_PROXY,值:http://代理IP:端口 - 变量名:
NO_PROXY,值:localhost,127.0.0.1,公司内部域名
- 变量名:
- 重启命令提示符和IDE后重新构建项目。
内容的提问来源于stack exchange,提问作者Niccolò Gazzi
相关产品推荐
相关产品推荐

