如果在运行Gradle构建过程时遇到证书问题,则需要检查Keystore和Truststore。如果Gradle无法验证某个证书,则构建将失败并显示类似于以下内容的错误
消息
:
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Could not download okhttp.jar (com.squareup.okhttp3:okhttp:3.4.1)
> Could not get resource 'https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp/3.4.1/okhttp-3.4.1.jar'.
> Could not GET 'https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp/3.4.1/okhttp-3.4.1.jar'.
> sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExc
eption: unable to find valid certification path to requested target
为了解决此问题,可以按照以下步骤操作:
检查Keystore和Truststore,看是否存在需要的证书。默认情况下,操作系统和Java使用默认存储区。您可以在以下位置找到它们:
Windows: C:\Program Files\Java\jre\lib\security
Linux: $JAVA_HOME/lib/security
如果证书不存在,则需要向Keystore和Truststore添加证书。可以使用keytool命令将证书添加到Keystore和Truststore。
如果证书已经存在,则需要将证书导入Keystore和Truststore。在Windows上,您可以使用WinKey+R键打开运行对话框,然后输入mmc在其中打开证书管理器。
然后,您可以导入证书并保存更改。对于Gradle构建配置文件,可以使用以下代码配置系统属性:
systemProp.javax.net.ssl.trustStore=path/to/truststore
systemProp.javax.net.ssl