AndroidStudio 구축 프로젝트 예외: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderE...

2732 단어
Android Studio에 프록시를 설정한 후 프로젝트를 구축할 수 없음을 발견하고 프록시를 제거해도 안 됩니다.
Error:A problem occurred configuring root project 'xxx'. Could not resolve all dependencies for configuration ':classpath'. Could not resolve com.tencent.bugly:symtabfileuploader:latest.release. Required by: project : > Could not resolve com.tencent.bugly:symtabfileuploader:latest.release. > Failed to list versions for com.tencent.bugly:symtabfileuploader. > Unable to load Maven meta-data from https://jcenter.bintray.com/com/tencent/bugly/symtabfileuploader/maven-metadata.xml. > Could not GET 'https://jcenter.bintray.com/com/tencent/bugly/symtabfileuploader/maven-metadata.xml'. > sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target > Could not resolve com.tencent.bugly:symtabfileuploader:latest.release. > Failed to list versions for com.tencent.bugly:symtabfileuploader. > Unable to load Maven meta-data from https://dl.bintray.com/thelasterstar/maven/com/tencent/bugly/symtabfileuploader/maven-metadata.xml. > Could not GET 'https://dl.bintray.com/thelasterstar/maven/com/tencent/bugly/symtabfileuploader/maven-metadata.xml'. > sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

솔루션:


방안1: 에이전트를 제거하고 프로젝트의gradle를 제거합니다.properties 프록시 설정
#systemProp.https.proxyPort=8087 #systemProp.http.proxyHost=127.0.0.1 org.gradle.jvmargs=-Xmx4096M org.gradle.daemon=true android.useDeprecatedNdk=true
방안 2: 에이전트를 사용해야 한다면 에이전트의 인증서 파일을 jre에 추가합니다
  • 브라우저를 통해 해당 사이트에서 인증서를 다운로드할 수 있으며, XX-Net을 사용하면 xxnet 파일 디렉터리에 *data/gae_proxy/CA.crt** 인증서 파일
  • jre의 보안 파일 디렉터리를 찾으면 Mac 시스템에서 Android Studio 패키지에 jre 환경이 포함되어 있기 때문에 Android Studio의 jre 디렉터리를 사용하고 찾은 후에 터미널을 열고 cd 명령을 사용하여 보안 파일 디렉터리에 들어가야 한다
    cd /Applications/Android\ Studio2.2.app/Contents/jre/jdk/Contents/Home/jre/lib/security
    
  • 보안 디렉터리에 들어간 후 키툴 명령을 사용하여 인증서를 가져옵니다
    keytool -import -alias abc -keystore cacerts -file /Applications/XX-Net-3.13.1/data/gae_proxy/CA.crt
    

  • -alias 별칭 지정(인증서 이름이 같으면 됨)
    -keystore 스토리지 파일 지정
    주의:cacerts는 현재 디렉터리가cacerts 파일이 있는 디렉터리이기 때문에 -keystorecacerts를 지정할 수 있습니다. 그렇지 않으면 전체 경로를 지정해야 합니다.
    -file은 인증서 파일의 전체 경로(인증서 파일이 있는 디렉터리)를 지정합니다. 주의: 이 명령줄에서cacerts 인증서 라이브러리의 비밀번호를 입력하라고 알려 줍니다. changeit를 누르면 됩니다. 이것은 자바에서cacerts 인증서 라이브러리의 기본 비밀번호입니다. 물론 스스로 수정할 수 있습니다.
    라이브러리 키 암호 입력:changeit
    신뢰 여부: Y
    인증서 가져오기!

    좋은 웹페이지 즐겨찾기