Android项目产生的问题点,特在此记录,希望能对你有帮助
可能产生的错误:
1.Cause: unable to find valid certification path to requested target
原因:没有添加对应的maven仓库ssl证书
2.Could not resolve all files for configuration ‘:app:_internal_aapt2_binary’.
原因:没有使用google()
3.也有可能会提示gradle-x.x.x-all.zip版本不对。
解决问题1
1.去对应的maven网址导出一份证书,然后使用keytool命令添加至jdk中。
例如:https://maven.aliyun.com,在浏览器打开这个网址,我用的chrome,不同浏览器的操作步骤大同小异吧!




2.命令行执行命令:(更多keytool操作)
keytool -import -alias aliyun20210106 -keystore cacerts -file A:\2_project\Cer\maven.aliyun.com.cer
输入口令:changeit 回车 (这是默认密码,如果你改过就是你自己的密码)
是否信任此证书? [否]: 输入:y 回车

3.在idea中也添加上证书,进入idea的设置界面:

解决问题2
在buildscript和allprojects中的repositories中都添加google(),如下:
repositories {
google() // 添加这个
}
解决问题3
修改文件:项目目录/gradle/wrapper/gradle-wrapper.properties
修改5.1.1到指定版本即可
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
项目目录下的build.gradle文件内容如下:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
// jcenter() // 不需要
// 重要,下载依赖就靠它,请添加ssl证书,否则报第1个错
maven{ url 'https://maven.aliyun.com/repository/google'}
mavenLocal() // 表示从本地Maven存储库获取依赖项.
mavenCentral() // 表示从central Maven 2 repository获取依赖项,地址为:https://repo.maven.apache.org/maven2/ 存储库的名称是MavenRepo。
// 放在最后,会先从aliyun下载。这项必须有,否则运行报第2个错
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
}
}
allprojects {
repositories {
// jcenter() // 不需要
// 重要,下载依赖就靠它,请添加ssl证书,否则报第1个错
maven{ url 'https://maven.aliyun.com/repository/google'}
mavenLocal() // 表示从本地Maven存储库获取依赖项.
mavenCentral() // 表示从central Maven 2 repository获取依赖项,地址为:https://repo.maven.apache.org/maven2/ 存储库的名称是MavenRepo。
// 放在最后,会先从aliyun下载。这项必须有,否则运行报第2个错
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
本文详细介绍了在Android项目中遇到的三个常见依赖问题及其解决方案:1.未添加maven仓库ssl证书导致的错误;2.未使用google()导致的配置文件解析问题;3.gradle版本不匹配问题。通过添加证书、正确配置google()及修改gradle版本,可以有效解决这些问题。
947

被折叠的 条评论
为什么被折叠?



