Gradle 配置阿里云代理
1. 问题描述
在使用Gradle更新项目依赖时,发生如下错误:
Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository ‘maven(/repository/central)’ to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See /7.3.3/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details.
翻译:
不支持对存储库使用不安全的协议,而没有显式的选择加入。切换Maven库’ Maven (/repository/central)'以重定向到安全协议(如HTTPS)或允许不安全协议。详见xxx
2. 解决方法
在安装gralde的目录下找到init.d文件夹,在其中创建init.gradle
最终文件路径为%GRADLE_HOME%\init.d\init.gradle
,添加如下内容
gradle.projectsLoaded {rootProject.allprojects {buildscript {repositories {def CENTRAL_URL = '/repository/central'def GRADLE_PLUGIN_URL = '/repository/gradle-plugin'def GOOGLE_URL = '/repository/google'def JCENTER_URL = '/repository/jcenter'all {ArtifactRepository repo ->if (repo instanceof MavenArtifactRepository) {def url = repo.url.toString()if (url.startsWith('/maven2')) {project.logger.lifecycle "maven中央仓库 ${repo.url} 已被替换为 $CENTRAL_URL."remove repo}if (url.startsWith('/m2/')) {project.logger.lifecycle "gradle插件仓库 ${repo.url} 已被替换为 $GRADLE_PLUGIN_URL."remove repo}if (url.startsWith('/dl/android/maven2/')) {project.logger.lifecycle "谷歌仓库 ${repo.url} 已被替换为 $GOOGLE_URL."remove repo}if (url.startsWith('/')) {project.logger.lifecycle "jcenter仓库 ${repo.url} 已被替换为 $JCENTER_URL."remove repo}}}maven {url CENTRAL_URL}maven {url GRADLE_PLUGIN_URL}google {url GOOGLE_URL}jcenter {url JCENTER_URL}}}repositories {def CENTRAL_URL = '/repository/central'def GRADLE_PLUGIN_URL = '/repository/gradle-plugin'def GOOGLE_URL = '/repository/google'def JCENTER_URL = '/repository/jcenter'all {ArtifactRepository repo ->if (repo instanceof MavenArtifactRepository) {def url = repo.url.toString()if (url.startsWith('/maven2')) {project.logger.lifecycle "maven中央仓库 ${repo.url} 已被替换为 $CENTRAL_URL."remove repo}if (url.startsWith('/m2/')) {project.logger.lifecycle "gradle插件仓库 ${repo.url} 已被替换为 $GRADLE_PLUGIN_URL."remove repo}if (url.startsWith('/dl/android/maven2/')) {project.logger.lifecycle "谷歌仓库 ${repo.url} 已被替换为 $GOOGLE_URL."remove repo}if (url.startsWith('/')) {project.logger.lifecycle "jcenter仓库 ${repo.url} 已被替换为 $JCENTER_URL."remove repo}}}maven {url CENTRAL_URL}maven {url GRADLE_PLUGIN_URL}google {url GOOGLE_URL}jcenter {url JCENTER_URL}}}}
或者直接在init.d文件夹中放入init.gradle文件
init.gradle文件链接