不知道大家有没有跟我有同样的体会,AndroidStudio的报错真的折腾人,提示信息一点都不明确,也不会告诉你怎么改,我们只能找度娘、谷歌~
下面贴出我遇到的问题详情及解决方案:
问题详情:
1.AS相关配置信息:
Android Studio 3.4.1
Build #AI-183.6156.11.34.5522156, built on May 2, 2019
JRE: 1.8.0_152-release-1343-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
Gradle Version gradle-4.6-all
2.报错信息
大概意思是说没有找到有效的签名证书路径。
解决方案:
方法一:指定jcenter url为http协议,绕过签名证书的检测,在项目根目录下的build.gradle中添加如下配置:
jcenter { url 'http://jcenter.bintray.com' }
然后清除AS缓存并重启,这样问题应该就解决了。
方法二:如果方法一对你的AS没效果,那你需要去jcenter官网下载证书
此时证书就导出成功了,下面我们再把证书导入AS中,操作步骤如下:
OK,导入完成,最后清除AS缓存并重启(方法一已经讲过)。
方法三:在项目根目录的build.gradle添加mavenCentral()和mavenLocal()
如果大家通过上面的方法还是没能解决,请在评论区留言~
补充:AS的相关设置
如果你按上面的方式还是没能解决这个问题,可能是AS的相关设置项没有勾选~
更新(2019/12/17):
今天这个问题又出现了,事情是这样的,其他同事提交代码的时候把 gradle-wrapper.properties也带着提交了,于是我用git比对了这个文件与上个版本的区别,发现问题所在:
他提交的 gradle-wrapper.properties文件中配置的 gradle版本是4.6,而我之前用的是 4.4,改回原来的4.4,问题解决。
还有一个问题,我正常build项目没有问题,但签名打包又会报这个问题:
查看构建日志详情,发现 google库的某些资源找不到,其实是因为某种原因网络没连上导致的:
所以我干脆把 maven库都替换成阿里的:
//阿里Maven仓库
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
总结:这个问题究其原因就四个字,“网络不通”,我在家里的网络环境下从来没遇到这个问题,公司的网络就出现这个问题了,闹心~