Cordova アプリで、新しくプラグインを追加したところ、Androidでエラーが発生したので、その対処法について。
ちなみに、追加したプラグインは「cordova-plugin-admob-free」で、アプリ内に広告を入れるためです。
が、このプラグインを追加してビルドしたところ、エラーが発生しました。
遭遇したエラーの全文はこちら。
Error:Execution failed for task ‘:processDebugGoogleServices’.
> Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 9.0.0.
Google翻訳にかけてみたところ、どうやら processDebugGoogleServices の実行に失敗しているようです。
失敗する要因は、バージョンの競合とのこと。
そのため、対処法としては、build.gradle に記述されている com.google.android.gms のバージョンを 9.0.0 に更新するのが有効なようです。
具体的には下記のとおりです。
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // SUB-PROJECT DEPENDENCIES START compile project(":CordovaLib") compile "com.google.android.gms:play-services-base:9.0.0" compile "com.google.android.gms:play-services-ads:9.0.0" compile 'com.android.support:appcompat-v7:23.2.1' compile "com.facebook.android:facebook-android-sdk:4.+" compile "com.google.firebase:firebase-core:9.0.0" compile "com.google.firebase:firebase-messaging:9.0.2" // SUB-PROJECT DEPENDENCIES END }
上記コードの、5、6行目の com.google.android.gms:play-services-base と com.google.android.gms:play-services-ads のバージョンを 9.0.0 に変更しました。
が、これだけだとまだエラーが発生するので、9、10行目の com.google.firebase:firebase-core と com.google.firebase:firebase-messaging のバージョンも 9.0.0 に変更します。
なお、10行目の com.google.firebase:firebase-messaging だけバージョンが 9.0.2 なのは、別のエラーが発生したためです。
ついでに、7行目の com.android.support は com.android.support:support-v4:24.1.1+” から com.android.support:appcompat-v7:23.2.1 変更しており、これも別のエラーの対策のためです。
上記のコードのように build.gradle を修正したところ、問題なく実行することができました。
以上、ビルドエラーの対処法でした!
ちなみに、2つ目のエラーの方が、ビルドが通ってしまう分、大変でした…。
ビルドは通るのに、いざ実機で実行するとアプリが落ちるという…。
何とか解決できたので良かったです。
Codova はやっぱり難しい!