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

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

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

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

Gradle

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

Android Studio

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

Q&A

解決済

1回答

20760閲覧

[Android Studio]Gradle project sync failed.を解消したい

masarusan24

総合スコア55

Android

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

Gradle

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

Android Studio

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

0グッド

0クリップ

投稿2018/10/26 09:28

前提・環境

Javaで作られたスマホアプリのプロジェクトをAndroid Studioで開発しています。
Android Studioを3.2.1にバージョンアップした後、Gradleの同期に失敗するようになり、ビルド出来なくなりました。

種別version
Android Studio3.2.1
Gradle4.6
Android Plugin3.0.1

発生している問題・エラーメッセージ

Android Studioを起動し、Gradle syncが走った後に、下記のようなエラーになります。

Gradle project synd failed. Basic functionality (e.g. editing, debugging) will not work properly.
Failed to resolve: firebase-iid-interop Open File Failed to resolve: play-services-basement Open File Failed to resolve: multidex-instrumentation Open File
キャプチャ

Android Studio

app/build.gradle

build.gradle

1apply plugin: 'com.android.application' 2 3android { 4 compileSdkVersion 25 5 buildToolsVersion '26.0.2' 6 defaultConfig { 7 applicationId "jp.co.domain.application" 8 minSdkVersion 15 9 targetSdkVersion 25 10 11 multiDexEnabled true 12 } 13 dexOptions { 14 javaMaxHeapSize "8g" 15 } 16 buildTypes { 17 release { 18 minifyEnabled false 19 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 20 } 21 } 22 productFlavors { 23 } 24} 25 26repositories { 27 mavenCentral() 28 maven { 29 url 'https://maven.google.com' 30 } 31} 32 33dependencies { 34 compile fileTree(include: ['*.jar'], dir: 'libs') 35 compile 'com.android.support:appcompat-v7:25.3.1' 36 //compile 'com.android.support:mediarouter-v7:25.0.0' 37 //compile 'com.android.support:animated-vector-drawable:25.3.1' 38 compile 'com.google.android.gms:play-services-fitness:16.0.0' 39 compile 'com.google.android.gms:play-services-iid:15.0.1' 40 compile 'com.google.code.gson:gson:2.8.2' 41 compile 'com.android.support:multidex:1.0.3' 42 compile files('libs/NCMB.jar') 43 compile 'com.squareup.okhttp3:okhttp:3.7.0' 44 compile 'com.squareup.picasso:picasso:2.5.2' 45 compile 'com.facebook.android:facebook-android-sdk:4.24.0' 46 implementation 'com.android.support:exifinterface:25.3.1' 47 implementation 'com.android.support.constraint:constraint-layout:1.1.3' 48 implementation 'com.android.support:support-annotations:28.0.0' 49 implementation 'com.google.firebase:firebase-messaging:17.3.2' 50 implementation 'com.google.firebase:firebase-core:16.0.3' 51 implementation 'com.google.android.gms:play-services-base:15.0.1' 52} 53 54// ADD THIS AT THE BOTTOM 55apply plugin: 'com.google.gms.google-services'

試したこと

Android StudioでGradleの同期?に失敗する

  • .gradleフォルダの削除を実施したが状況変わらず。
  • compile sdk version android-21 requires compiling with jdk 7のメッセージは出ていないのでJDKのインストールは未実施

AndroidStudio3.1で新規プロジェクト作成したらGradle project sync failed.

  • 試しにGradleのバージョンを 4.7 に上げてみるも状況変わらず。

解消するための手掛かりがありましたら、ご教示いただきたくお願いいたします。
Android Studioについては知見が浅いため、不足情報等ありましたらご指摘ください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

画像に見えているプロジェクト全体設定のbuild.gradleで

gradle

1allprojects { 2 repositories { 3 jcenter() 4 google() 5 } 6}

と記述されているのが見えます。この順序を逆にして、google()を上にしてみてはどうでしょうか。

つい最近、同じ内容と思われる質問がありました。この件でも、jcenterが先に参照されることで、ライブラリーを正しく参照できない問題が起きていたものと思われます。
Android Studio [Could not find recyclerview-v7.jar ]エラー

投稿2018/10/26 12:43

keicha_hrs

総合スコア6768

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

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

masarusan24

2018/10/28 02:28 編集

keicha_hrsさん、ご回答ありがとうございます。 google()を上にしてみたところ、いくつか別のメッセージが出てきましたが、指示通りに操作することでGradleの同期に成功しました。 ありがとうございます! ただ、google()を先に参照することで解決した理由がよく理解出来ていません。 ライブラリの参照順によってこのような現象が発生するのは、Android Studioあるあるみたいなものでしょうか?
keicha_hrs

2018/10/27 16:09

それが私にもよくわからないところがあります。 JCenterというのはリモートリポジトリ−のサービスです。アカウントを作成すれば、自分が開発したライブラリーを管理するリポジトリーを作成することができます。また、公開リポジトリーとなっているものはインターネットを通じて誰でも参照することができます。Android開発においても、JCenterのリポジトリーを参照してライブラリーを取得することがしばしば行われます。 ところが、GoogleがAndroid用に公開しているリポジトリーと同一の名称のものがJCenterにも作成されていることがしばしばあります。今回の場合、被せている上に正しくファイルが置かれていないために発生したエラーのようです。これを避けるために、Googleによるものを参照するときは、Googleのリポジトリーを先に参照するように設定されている必要があるということです。 なぜそのような名前を被せたものが作成されているのか、私もよくわかっていないんですよね。
masarusan24

2018/10/30 05:41

なるほどです。 ざっくりまとめるとこんなイメージですかね。 - 複数のリポジトリ(GoogleとJCenter)からライブラリを参照しているが、なぜかライブラリの名前が被ることがある。 - 被る場合は、Googleの方を先に参照することで正しく参照される。 - AndroidStudio3.2.1から発生している?ので、参照順序には注意が必要。 今後も注意が必要そうな内容ですが、とりあえず解決はしましたのでクローズしたいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問