web-dev-qa-db-ja.com

Gradleビルドでリポジトリ証明書エラーを解決する方法

Android studioの最新バージョンをインストールしました。すでにインストールされているjdk 8がありました。Android studio、以下のエラーが発生しました。

Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve com.Android.support:appcompat-v7:26.1.0.

Could not resolve com.Android.support:appcompat-v7:26.1.0.
Required by:
    project :app
 > Could not resolve com.Android.support:appcompat-v7:26.1.0.
    > Could not get resource 'https://dl.google.com/dl/Android/maven2/com/Android/support/appcompat-v7/26.1.0/appcompat-v7-26.1.0.pom'.
          > Could not GET 'https://dl.google.com/dl/Android/maven2/com/Android/support/appcompat-v7/26.1.0/appcompat-v7-26.1.0.pom'.
                   > Sun.security.validator.ValidatorException: PKIX path building failed: Sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
                               > PKIX path building failed: Sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
                                              > unable to find valid certification path to requested target  

そこで、JDK 8を削除し、JDK 9をインストールし、環境変数を追加しました(Windows 10)。その後、システムを再起動して、Android studio、まだ上記のエラーが発生しました。

repositories {
    maven { url "https://maven.google.com" }
}  

gradleスクリプトに。しかし、私はまだ同じエラーを受け取っています。このエラーを修正するにはどうすればよいですか?

5
Ajay Kulkarni

以下の手順が役立ちます。

1。キーストアに証明書を追加-

いくつかの証明書をAndroid Studio JDK cacerts from Android Studiocacacerts。

Android Studioの証明書は、

{your-home-directory}/.AndroidStudio3.0/system/tasks/cacerts

次のインポートコマンドを使用しました。

$ keytool -importkeystore -v -srckeystore {src cacerts} -destkeystore {dest cacerts}

2。変更されたcacertパスをgradle.properties-に追加します

systemProp.javax.net.ssl.trustStore={your-Android-studio-directory}\\jre\\jre\\lib\\security\\cacerts
systemProp.javax.net.ssl.trustStorePassword=changeit

参照: https://www.cresco.co.jp/blog/entry/2014/ /

9
towa

Javaは、ライブラリのダウンロードに使用しているリンクを信頼していません。ステップ2に進む前に、ステップ1を試してください。

  1. インターネットがファイアウォールの背後にあるかどうかを確認してください。会社のインターネットがアクセスしようとしているウェブサイトをブロックしている可能性があります。 PCをモバイルインターネットに接続して、構築してみてください。

  2. Jdk cert stroreに証明書を手動で追加します。

    • たとえば、Webサイトにアクセスします https://example.com
    • ブラウザから証明書をダウンロードします。
    • Jdkインストールディレクトリを見つけます。
    • 以下のコマンドを使用して、証明書を手動でcacertsに追加します。
    • Sudo keytool -import -alias shibbolethnet -keystore
      /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/lib/security/cacerts -file <downloadedcert.cer>
0

以下に従ってプロジェクトレベルのグラドルを変更します

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

repositories {
    google()
    jcenter()
}

dependencies {
    classpath 'com.Android.tools.build:gradle:3.0.0'


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    }
 }

allprojects {
     repositories {
      google()
      jcenter()
   }
 }

 task clean(type: Delete) {
  delete rootProject.buildDir
}

次に、アプリレベルグラドルからappcompat-v7:26.1.0依存関係を削除し、次にAndroid Studio File> Project Structure> app> Dependencies> tap on +> Library Dependencies> add dependis per perあなたの要件はOKです。

また、プロジェクトをgradleファイルと同期することをタップしてみることができます

synchronize with gradle file

詳細については、以下のリンクをご覧ください

https://developer.Android.com/studio/build/gradle-plugin-3-0-0.html

編集済み

あなたの問題は違うと思うので、以下のリンクで行ってください、

「PKIXパスの構築に失敗しました」および「要求されたターゲットへの有効な証明書パスが見つかりません」

javax.net.ssl.SSLHandshakeExceptionの解決:Sun.security.validator.ValidatorException:PKIXパスの構築に失敗しましたエラー?

https://github.com/appscode-ci/cibox/issues/16

https://www.mkyong.com/webservices/jax-ws/suncertpathbuilderexception-unable-to-find-valid-certification-path-to-requested-target/

0
Dileep Patel

Eclipse> Preferences> Gradleに移動して、Gradleラッパーのパスを変更してみてください。 Gradle Wrapperではなく、ローカルインストールディレクトリを選択します。

0
Naveen