質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

6200閲覧

【Android】古いプロジェクトをAndroid Studio3.6.1でビルドすると失敗する

carpbream

総合スコア32

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

1クリップ

投稿2020/03/18 02:56

編集2020/03/18 05:52

困っていること

Firebaseを利用している古いプロジェクト(最初のコミットが2015年11月、最終更新が2019年5月)をAndroid Studio3.6.1でビルドしましたが、エラーが出てビルドができません。
また、エラー内容で

Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.6.1/gradle-3.6.1.pom'

とあるのですが、ブラウザでこのURLにアクセスするとgradle-3.6.1.pomがちゃんとダウンロードされました。

AndroidStudioのバージョン

Android Studio 3.6.1

現在発生しているエラー

A problem occurred configuring root project 'xxxxxxx'. > Could not resolve all artifacts for configuration ':classpath'. > Could not resolve com.android.tools.build:gradle:3.6.1. Required by: project : > Could not resolve com.android.tools.build:gradle:3.6.1. > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.6.1/gradle-3.6.1.pom'. > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.6.1/gradle-3.6.1.pom'. > Remote host closed connection during handshake > Could not resolve com.android.tools.build:gradle:3.6.1. > Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/gradle/3.6.1/gradle-3.6.1.pom'. > Could not GET 'https://jcenter.bintray.com/com/android/tools/build/gradle/3.6.1/gradle-3.6.1.pom'. > Remote host closed connection during handshake > Could not resolve com.android.tools.build:gradle:3.6.1. > Could not get resource 'https://repo.maven.apache.org/maven2/com/android/tools/build/gradle/3.6.1/gradle-3.6.1.pom'. > Could not GET 'https://repo.maven.apache.org/maven2/com/android/tools/build/gradle/3.6.1/gradle-3.6.1.pom'. > Remote host closed connection during handshake > Could not resolve com.google.gms:google-services:4.3.3. Required by: project : > Could not resolve com.google.gms:google-services:4.3.3. > Could not get resource 'https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.3.3/google-services-4.3.3.pom'. > Could not GET 'https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.3.3/google-services-4.3.3.pom'. > Remote host closed connection during handshake > Could not resolve com.google.gms:google-services:4.3.3. > Could not get resource 'https://jcenter.bintray.com/com/google/gms/google-services/4.3.3/google-services-4.3.3.pom'. > Could not GET 'https://jcenter.bintray.com/com/google/gms/google-services/4.3.3/google-services-4.3.3.pom'. > Remote host closed connection during handshake > Could not resolve com.google.gms:google-services:4.3.3. > Could not get resource 'https://repo.maven.apache.org/maven2/com/google/gms/google-services/4.3.3/google-services-4.3.3.pom'. > Could not GET 'https://repo.maven.apache.org/maven2/com/google/gms/google-services/4.3.3/google-services-4.3.3.pom'. > Remote host closed connection during handshake

やったこと

  • google-services.jsonをダウンロードしてアプリディレクトリの中に配置しました。
  • 以下の通り、gradle-wrapper.propertiesとプロジェクトレベル・アプリレベルのbuild.gradleをそれぞれ修正しました。(...は省略、xxxは伏せ字です。)

####gradle-wrapper.properties

distributionUrl = https\://services.gradle.org/distributions/gradle-4.4-all.zip  ↓ distributionUrl = https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

プロジェクトレベル build.gradle

buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.6.1' //バージョンを3.1.3->3.6.1に修正 classpath 'com.google.gms:google-services:4.3.3' //バージョンを4.0.2->4.3.3に修正 ... } } ...

アプリレベル build.gradle

android { compileSdkVersion 28 buildToolsVersion '28.0.3' //27.0.3→28.0.3に変更 defaultConfig { applicationId "jp.co.xxx.xxx.xxx.xxxx" minSdkVersion 16 //14→16に変更 targetSdkVersion 28 //26→28に変更 versionCode 28 versionName "x.x.x" } ... productFlavors { xxxxx { minSdkVersion 16//14→16に変更 targetSdkVersion 28 //26→28に変更 } } ... dependencies { ... implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support:support-v4:28.0.0' implementation 'com.android.support:recyclerview-v7:28.0.0' implementation 'com.android.support:design:28.0.0' implementation 'com.google.firebase:firebase-messaging:19.0.1' //17.4.0→19.0.1に変更 implementation 'com.google.firebase:firebase-core:17.0.1' //16.0.7→17.0.1に変更 ... }

以上、解決方法をご存知の方いらっしゃいましたらご教示いただければ幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/03/18 03:32

Remote host closed connection during handshake なので、ネットワークのエラー(TLS が古い?)っぽいですが、他のプロジェクトでライブラリを取得できてますか? また、OS は何でしょうか?
carpbream

2020/03/18 03:51 編集

他のプロジェクトでも失敗していました。Gradle sync failed: SSL peer shut down incorrectly というエラーでした。 OSはMac OS Mojave 10.14.6(18G87)です。
hoshi-takanori

2020/03/18 03:57

うーん、proxy 設定してます? あと Clean Project してみるとか…。 ちなみに google-services.json はアプリフォルダの中です。(関係ないとは思いますが。)
carpbream

2020/03/18 04:00

proxy設定は行なっていないですね。clean projectも修正の都度行なっているのですがなんとも... > google-services.json はアプリフォルダの中です すみません、変な書き方してしまいましたがアプリフォルダの中に配置しています。書き直します。
hoshi-takanori

2020/03/18 04:14

あとは File メニューの Project Structure... の SDK Location で JDK の場所を確認するとか、gradle.propertieslocal.properties に変なことが書いてないかとか。 最後の手段は、バックアップした上で、デフォルトの .gitignore に書いてあるファイルを全部消すとか。
keicha_hrs

2020/03/18 04:27

com.android.tools.build:gradleの最新バージョンはAndroid Studioのバージョンと合致します。Android Studioが3.6.1なら、そちらも3.6.1にするのが通常です。3.4.2にしているのは特別な理由があるのでしょうか?また、com.google.gms:google-servicesも現行の最新版は4.3.3ですが、これも4.3.0に止める特別な理由があるのでしょうか? また、repositoriesに追加している内容はgoogle()と完全に同一のことをしているだけなので、無意味です。それから、google()はjcenter()の上に持ってくるのが安全です。jcenter()にgoogle()が持っているライブラリーと機能的に互換性のない同一名称のライブラリーが存在して正しくビルドできない事象が一時期あったので(今はどうか知らない)、google()を優先させましょう。 ただ、それだけの問題ではなさそうですね。
carpbream

2020/03/18 05:23

> hoshi-takanori様 JDKは確認してみたところ、おそらく問題なさそうでした。今朝AndroidStudioの再インストールしてから設定を変更しておらず、AndroidStudioのデフォルトのJDKが設定されていました。(/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home) gradle.properties, local.propertiesは今回は空っぽなので、とりあえず大丈夫そうです。 > 最後の手段は、バックアップした上で、デフォルトの .gitignore に書いてあるファイルを全部消すとか。 こちら、試してみました。しかしまだエラー内容変わらずですね。 沢山ご提案をいただき、本当にありがとうございます。
carpbream

2020/03/18 05:33 編集

> keicha_hrs様 知識が乏しく調べきれていない部分があり、大変勉強になります。ありがとうございます。 > また、repositoriesに追加している内容はgoogle()と完全に同一のことをしているだけなので、無意味です。 dl.google.comとmaven.google.comで一応違うホスト名を指しているようなので...と念の為両方記載しておりました。やはり同じ場所を指しているようですね。 jcenter()とgoogle()の順番でそんなことがあったんですね。知りませんでした。
guest

回答1

0

自己解決

Android Studio自体が破損していました。
以前Android Studioをアンインストールした際に、AppCleaner&Uninstallerで関連ファイルを削除したのですが、若干残っていたみたいです。再インストール時に、クリーンインストールされた時のような設定画面が表示されたので安心してしまっていました。
https://qiita.com/nagaoyuriko/items/f310b595ff16061e1186
を参考に手作業でクリーンインストールしたところ、バージョン設定を最新のものに変更することで無事に該当ライブラリを利用することができました。
ご回答いただいた方々、ありがとうございました。

投稿2020/03/19 07:48

編集2020/03/19 07:48
carpbream

総合スコア32

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問