web-dev-qa-db-ja.com

Android Studio 3.0のGradleビルドエラー

Android 3.0でのGradleビルドの問題を解決するために私を助けていただけますか?

私はAndroid Studioを使用しています。AS3.0での設定は次のとおりです。

gradle-> wrapper-> gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.2.1-all.Zip

build.gradleの依存関係(GradleのAndroidプラグイン):

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

Android Studio->Settings

Android Studio Project Structure

Android Studioからのスタックトレース:

D:\AppiumAutomation\MobileTest>gradlew assemble --stacktrace

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'MobileTest'.
> Could not resolve all files for configuration ':classpath'.
   > Could not resolve com.Android.tools.build:gradle:3.0.0.
     Required by:
         project :
      > Could not resolve com.Android.tools.build:gradle:3.0.0.
         > Could not get resource 'https://jcenter.bintray.com/com/Android/tools/build/gradle/3.0.0/gradle-3.0.0.pom'.
            > Could not GET 'https://jcenter.bintray.com/com/Android/tools/build/gradle/3.0.0/gradle-3.0.0.pom'.
               > Sun.security.validator.ValidatorException: PKIX path building failed: Sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification pat
h to requested target
      > Could not resolve com.Android.tools.build:gradle:3.0.0.
         > Could not get resource 'https://dl.google.com/dl/Android/maven2/com/Android/tools/build/gradle/3.0.0/gradle-3.0.0.pom'.
            > Could not GET 'https://dl.google.com/dl/Android/maven2/com/Android/tools/build/gradle/3.0.0/gradle-3.0.0.pom'.
               > Sun.security.validator.ValidatorException: PKIX path building failed: Sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification pat
h to requested target
7
Jamil Rahman

Android Studio 3.0と企業ネットワークに関連する問題です。同じ問題が発生しました。

Error:Could not resolve all files for configuration ':app:debugAndroidTestRuntimeClasspath'.
    > Could not resolve com.Android.support.test:runner:1.0.1.
      Required by:
          project :app
       > Could not resolve com.Android.support.test:runner:1.0.1.
          > Could not get resource 'https://dl.google.com/dl/Android/maven2/com/Android/support/test/runner/1.0.1/runner-1.0.1.pom'.
             > Could not GET 'https://dl.google.com/dl/Android/maven2/com/Android/support/test/runner/1.0.1/runner-1.0.1.pom'.
                > 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.Android.support.test.espresso:espresso-core:3.0.1.
      Required by:
          project :app
       > Could not resolve com.Android.support.test.espresso:espresso-core:3.0.1.
          > Could not get resource 'https://dl.google.com/dl/Android/maven2/com/Android/support/test/espresso/espresso-core/3.0.1/espresso-core-3.0.1.pom'.
             > Could not GET 'https://dl.google.com/dl/Android/maven2/com/Android/support/test/espresso/espresso-core/3.0.1/espresso-core-3.0.1.pom'.
                > Sun.security.validator.ValidatorException: PKIX path building failed: Sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

私はあなたに2つの解決策を残します:

1つ目:Javaセキュリティ証明書(Androidで使用))に手動で証明書を追加する必要があります:

C:\ Program Files\Android\Android Studio\jre\jre\lib\security\cacerts

ソリューション01(私にはうまくいきませんでした):

移動:

C:\Program Files\Android\Android Studio\jre\jre\bin

必要な証明書をダウンロードします(問題のあるURLをコピーして<remote_Host_name>に貼り付けます):

keytool -J-Dhttps.proxyHost=<proxy_hostname> -J-Dhttps.proxyPort=<proxy_port> -printcert -rfc -sslserver <remote_Host_name:remote_ssl_port> > <name.cer>

Example:
C:\Program Files\Android\Android Studio\jre\jre\bin>keytool -J-Dhttps.proxyHost= proxy.mycompany.com -J-Dhttps.proxyPort=80 -printcert -rfc -sslserver https://dl.google.com/dl/Android/maven2/com/Android/support/test/runner/1.0.1/runner-1.0.1.pom > maven2.cer

そして、コマンドを実行します:

keytool -import -noprompt -trustcacerts -keystore ..\lib\security\cacerts -importcert -alias <AliasName> -file <name.cer> -storepass <cacertsPassword>

Cacertsのパスワードを変更したことがない場合、デフォルトのパスワードはchangeitです。

Example:
C:\Program Files\Android\Android Studio\jre\jre\bin>keytool -import -noprompt -trustcacerts -keystore ..\lib\security\cacerts -importcert -alias Maven -file maven2.cer -storepass changeit

ソリューション02(私のために働いた):

URLサイトに入力するpomをダウンロードして、ローカルリポジトリに保存します。

Ex:
If your missing resoruce is:
https://dl.google.com/dl/Android/maven2/com/Android/support/test/espresso/espresso-core/3.0.1/espresso-core-3.0.1.pom

Download it and put it in:
C:/Program Files/Android/Android Studio/gradle/m2repository/com/Android/support/test/espresso/espresso-core/3.0.1/espresso-core-3.0.1.pom
6

私はAndroid studioを形成して3.0をインストールしますが、問題は解決していないので、同じ問題を段階的に実行します。プラグインとplatform.te 3.の更新後にファイルが変更される可能性があるため、プラグインの更新により発生するすべてのファイルの変更を元に戻す必要があります。 enter image description here

4.次に、どのファイルが変更されたかを確認し、各ファイルのローカル履歴に移動し、gradleファイルが変更であると想定して変更を元に戻す必要があるため、そのファイルを右クリックしてローカル履歴に移動し、[Show history]を選択する必要があります。

enter image description here

2つのファイルが表示されます。1つは最近の変更用、もう1つは変更されたすべての変更済みファイルを表示するため、時間、日付に応じて変更したファイルを適切に選択する必要があります。

enter image description here

上の図では、左上隅にあるすべての変更が元に戻される場合は元に戻すオプションであることを確認できるので、その元に戻すオプションをクリックして変更を保存します

enter image description here

gradleプラグインの更新によって変更されたすべてのファイルでこれを実行し、問題を解決するプロジェクトを同期します。

1
bharat udasi