Execution failed for task ‘:myflavor:publishMyflavorPublicationToMavenRepository’.
Failed to publish publication ‘myflavor’ to repository ‘maven’
Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository ‘maven(http://xxxxxx/xxxxxx/xxxxxx)’ to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/7.0.2/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details.
Maven仓库为公网
参阅 官方参考文档 可以看到需要添加这个配置 allowInsecureProtocol = true
repositories {
google()
mavenCentral()
maven {
allowInsecureProtocol = true
url 'http://xxxxxx/xxxxxx/xxxxxx'
}
}
通常看到这你的问题应该已经解决了,如果没有那你可以继续看下去。
Maven仓库为公司内网
经过上述操作之后仍不能正常工作,你有两种选择。
- 要求公司将Maven仓库地址由http升级为https。
- 通过Gradle降级解决。
Gradle降级操作
- 修改项目gradle目录下的gradle-wrapper.properties文件,使用gradle-6.7.1这个版本。
#Fri Mar 06 13:24:59 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
- 修改项目根目录下的build.gradle文件,tools使用4.1.0 com.android.tools.build:gradle:4.1.0
buildscript {
repositories {
google()
mavenCentral()
maven { url 'http://xxxxxx/xxxxxx/xxxxxx' }
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"
}
}
allprojects {
repositories {
google()
mavenCentral()
maven { url 'http://xxxxxx/xxxxxx/xxxxxx' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}