###前提・実現したいこと
最近 Android Studio をアップデートしたのですが、それ以来プロジェクトのbuild.gradle に google-services を加えると
org.gradle.tooling.BuildException が発生してビルドができません。そのエラーを解消し、ビルドできるようにしたいです。
###発生している問題・エラーメッセージ
https://jcenter.bintray.comへのSSL通信に失敗しているようです。
スタックトレースをそのまま載せてしまうと400行以上になるので、1行目及び「Caused by:」で始まる行のみを以下に示します。
org.gradle.tooling.BuildException: Could not run build action using Gradle distribution 'https://services.gradle.org/distributions/gradle-3.3-all.zip'. Caused by: org.gradle.internal.exceptions.LocationAwareException: A problem occurred configuring root project 'MyApplication'. Caused by: org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'MyApplication'. Caused by: org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':classpath'. Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.google.gms:google-services:3.0.0. Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.google.gms:google-services:3.0.0. Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://jcenter.bintray.com/com/google/gms/google-services/3.0.0/google-services-3.0.0.pom'. Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not HEAD 'https://jcenter.bintray.com/com/google/gms/google-services/3.0.0/google-services-3.0.0.pom'. Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
###該当のソースコード
エラーの原因と思われる、プロジェクトのbuild.gradleを以下に示します。
com.google.gms:google-services:3.0.0を追加しているだけです。
Gradle
1buildscript { 2 repositories { 3 jcenter() 4 } 5 dependencies { 6 classpath 'com.android.tools.build:gradle:2.3.3' 7 classpath 'com.google.gms:google-services:3.0.0' 8 9 // NOTE: Do not place your application dependencies here; they belong 10 // in the individual module build.gradle files 11 } 12} 13 14allprojects { 15 repositories { 16 jcenter() 17 } 18} 19 20task clean(type: Delete) { 21 delete rootProject.buildDir 22}
###試したこと
一応、jcenterにhttpsでなくhttpでつなぐと正常にビルド~アプリ実行までできました。
その時のbuild.gradleを以下に示します。
Gradle
1buildscript { 2 repositories { 3 jcenter { 4 url "http://jcenter.bintray.com" 5 } 6 } 7 dependencies { 8 classpath 'com.android.tools.build:gradle:2.3.3' 9 classpath 'com.google.gms:google-services:3.0.0' 10 11 // NOTE: Do not place your application dependencies here; they belong 12 // in the individual module build.gradle files 13 } 14} 15 16allprojects { 17 repositories { 18 jcenter { 19 url "http://jcenter.bintray.com" 20 } 21 } 22} 23 24task clean(type: Delete) { 25 delete rootProject.buildDir 26}
ただ、今までSSLで繋いでいたところを、いたずらにhttpで繋ぐのはいかがなものかと思うので、jcenterのurlをいじらずに繋ぎたいと思っています。
###補足情報(言語/FW/ツール等のバージョンなど)
「classpath 'com.google.gms:google-services:3.0.0'」の記述を削除してもビルドは通りました。
ただ、要件的にgoogle-servicesは必須なのでエラーなく読み込みたいです。
- Android Studio のバージョン: 2.3
- distributionUrl=https://services.gradle.org/distributions/gradle-3.3-all.zip
回答1件
あなたの回答
tips
プレビュー