1.Android Studio中gradle版本升級(阿里云倉庫下載源)
classpath 'com.android.tools.build:gradle:3.6.3'
升級為
classpath 'com.android.tools.build:gradle:7.0.0'
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.7-all.zip
升級為
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
2.Android Studio報gradle的倉庫地址不安全警告的錯誤




使用"阿里云"倉庫為下載源,如果直接升級gradle版本,可能會報錯(gradle的倉庫地址不安全警告的錯誤),因為配置了除maven中央倉庫之外的其他不安全的倉庫(一些國內的鏡像倉庫,如"阿里云"鏡像倉庫也是不安全的),如下所示:
A problem occurred configuring root project 'Packer'.
> Could not resolve all dependencies for configuration ':classpath'.
> Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'maven(http://maven.aliyun.com/nexus/content/groups/public/)' 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.
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
3.使用allowInsecureProtocol屬性解決gradle的倉庫地址不安全警告的解決方法
gradle中有一個屬性可以允許gradle使用"不安全"的倉庫并且不報警告資訊,該屬性是allowInsecureProtocol,指定通過不安全的HTTP連接與倉庫通信是否可接受,如果該屬性的值設定為true,則表示接受"不安全"的倉庫地址
只需要在C:\Users\LENOVO\.gradle\init.gradle檔案中或者App專案工程的build.gradle中進行如下的配置即可解決
解決方法:
只需要在C:\Users\LENOVO\.gradle\init.gradle檔案中或者App專案工程的build.gradle中,使用allowInsecureProtocol屬性(允許gradle使用"不安全"的倉庫并且不報警告資訊)
allowInsecureProtocol = true
(1).C:\Users\LENOVO\.gradle\init.gradle

(2).App專案工程的build.gradle

buildscript {
repositories {
//ADD START
maven {
allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
maven {
allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
}
maven {
allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/repositories/google'
}
maven {
allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin'
}
//ADD END
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.0'
}
}

allprojects {
repositories {
//ADD START
maven {
allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
maven {
allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
}
maven {
allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/repositories/google'
}
maven {
allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin'
}
//ADD END
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
4.Android Studio App專案工程同步成功、App專案編譯成功


5.Android Studio中gradle的倉庫地址不安全警告的通用解決方案(阿里云源)
gradle為了安全考慮,防止他人冒充目標服務器,并在資源中植入惡意代碼...,所以默認禁用使用非官方的中央倉庫(包括:阿里云),如果確認信任該倉庫,需要顯示宣告信任它
第一種情況:with groovy
repositories {
maven {
allowInsecureProtocol = true
url "http://maven.aliyun.com/nexus/content/groups/public/"
}
maven {
allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
}
maven {
allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/repositories/google'
}
maven {
allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin'
}
}
第二種情況:with kotlin
repositories {
maven {
isAllowInsecureProtocol = true
setUrl("http://maven.aliyun.com/nexus/content/groups/public/")
}
maven {
isAllowInsecureProtocol = true
setUrl("http://maven.aliyun.com/nexus/content/repositories/jcenter")
}
maven {
isAllowInsecureProtocol = true
setUrl("http://maven.aliyun.com/nexus/content/repositories/google")
}
maven {
isAllowInsecureProtocol = true
setUrl("http://maven.aliyun.com/nexus/content/repositories/gradle-plugin")
}
}
Android Studio gradle無法編譯App的完美解決方法

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/294399.html
標籤:其他
下一篇:有關網路安全基礎知識
