以下ReactNativeの開発環境構築中に起こったエラーとその解決方法の一つをメモしておきます。
依存
- Firebase:
react-native-firebase
- GoogleMaps:
react-native-maps
インストールの手順としては以下
-
react-native-maps
をインストール & 諸々言われるがままに設定 -
react-native-firebase
をインストール -
react-native link react-native-firebase
を実行 -
Firebase公式のAndroidインストールについて参考にAndroidStudioで
android/app/build.grade
とandroid/build.gradle
の記述をチェック&変更 - Syncする <= ここでエラー
エラー
The library com.google.android.gms:play-services-base is being requested by various other libraries at [[10.2.4,10.2.4]], but resolves to 15.0.1...
解決方法
まず最初にエラーに記載のある com.google.android.gms:play-services-base
の依存関係でコンフリクトしている部分を直接解決しようと試みました。
とにかく 15.0.1
に統一してほしいようなので以下追記しました。
ちなみに、試しに android/app/build.gradle
の implementation project(':react-native-maps')
をコメントアウトしてみるとSyncもBuildも通ったので、おそらくはFirebaseとGoogleMapsのライブラリでコンフリクトを起こしているようです。
変更前
ext {
buildToolsVersion = "26.0.3"
minSdkVersion = 16
compileSdkVersion = 26
targetSdkVersion = 26
supportLibVersion = "26.1.0"
}
変更後
ext {
buildToolsVersion = "26.0.3"
minSdkVersion = 16
compileSdkVersion = 26
targetSdkVersion = 26
supportLibVersion = "26.1.0"
googlePlayServicesVersion = "15.0.1" //<-- here!
}
これで解決。
おまけ
ちなみにこの後も違うエラーが出ました。そちらの方は google-services.json
のパッケージ名(packagename)とpackage.jsonの名前が異なっていたためのものでしたので、 google-services.json
の以下の部分を修正しました。
"project_info": {
...
},
"client": [
{
"client_info": {
...
"android_client_info": {
"package_name": "com.hoge_app" //<= here!
}
},
...