Все библиотеки Firebase должны быть выше или ниже 14.0.0 (response-native-maps & Reaction-native-firebase) - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь добавить свои реактивные карты в мое стартовое приложениеact-native-firebase.Я не получил ошибку, пока я не попытался добавить response-native-maps.Ниже приведен код после того, как я точно следовал их инструкциям.Я попытался изменить зависимость от карт до 15.0.1 и удалить дублирующиеся сервисы воспроизведения, но это ничего не исправило.Любая помощь или понимание очень ценится!Я возился с этим и искал ответы уже более недели.

dependencies {
    implementation project(':react-native-vector-icons')
    // react-native-google-signin
    implementation(project(':react-native-google-signin')) {
        exclude group: "com.google.android.gms"
    }
    implementation 'com.google.android.gms:play-services-auth:15.0.0'

    // react-native-fbsdk
    implementation project(':react-native-fbsdk')

    implementation(project(':react-native-firebase')) {
        transitive = false
    }

    // RNFirebase required dependencies
    implementation "com.google.firebase:firebase-core:15.0.2"
    implementation "com.google.android.gms:play-services-base:15.0.0"

    // RNFirebase optional dependencies
    implementation "com.google.firebase:firebase-auth:15.1.0"
    implementation "com.google.firebase:firebase-database:15.0.0"
    implementation "com.google.firebase:firebase-firestore:16.0.0"

    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.android.support:appcompat-v7:27.0.2"
    implementation "com.facebook.react:react-native:+"  // From node_modules

    // react-native-maps required dependencies
    implementation(project(':react-native-maps')){
        exclude group: 'com.google.android.gms', module: 'play-services-base'
        exclude group: 'com.google.android.gms', module: 'play-services-maps'
    }
    implementation 'com.google.android.gms:play-services-base:10.0.1'
    implementation 'com.google.android.gms:play-services-maps:10.0.1'
}

// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.compile
    into 'libs'
}

apply plugin: 'com.google.gms.google-services'

Ответы [ 2 ]

0 голосов
/ 30 июля 2018

Я наконец понял это, и я чувствую себя действительно глупо, что потребовалось так много времени, чтобы понять.Все, что мне нужно было сделать, это поменять play-services-base и play-services-map versions to 15.0.1. Мне также пришлось очистить build после его замены.

Спасибо, что заглянули в это, basudz, ваше решение было у меня над головой.Я не настолько знаком с Android, как следовало бы.Я пытаюсь поближе познакомиться с ним, это сука.

0 голосов
/ 13 июня 2018

Обновление после тестирования и поиска правильного решения ..

Хорошо, сейчас я использую только Firebase для облачных сообщений, поэтому мое решение, вероятно, намного проще, чем ваше.По сути, я начал с добавления в firebase-core, и он пожаловался на то, что база измерений play-services-запрашивается несколько раз в разных версиях.Поэтому я исключил, что из зависимости от firebase-core AND добавил его независимо, форсируя версию, в которой он был запрошен.Затем он пожаловался на firebase-analytics, который я использовал по той же схеме, что и выше, однако затем снова выдал мне первую ошибку для play-services-measure-base.Мне пришлось исключить это из firebase-аналитики, чтобы продолжить.

Затем я добавил в firebase-сообщения, и он дал мне ту же ошибку для зависимости firebase-iid, к которой я следовал предыдущему шаблону.

У вас намного больше зависимостей от firebase, поэтомувам, вероятно, придется проходить один за другим, как это.

Вот мой блок зависимостей.

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
    implementation "com.facebook.react:react-native:+"
    implementation project(':react-native-device-info')
    implementation project(':react-native-config')
    implementation project(':react-native-image-picker')
    implementation project(':react-native-sentry')
    implementation project(':react-native-vector-icons')
    implementation project(':react-native-maps')
    implementation project(':react-native-firebase')
    implementation "com.google.android.gms:play-services-base:${rootProject.ext.googlePlayServicesVersion}"
    implementation ("com.google.android.gms:play-services-measurement-base:15.0.4") {
        force = true
    }
    implementation ("com.google.firebase:firebase-analytics:16.0.0") {
        force = true
        exclude module: 'play-services-measurement-base'
        exclude module: 'firebase-analytics-impl'
    }
    implementation ("com.google.firebase:firebase-analytics-impl:16.0.0") {
        force = true
        exclude module: 'play-services-measurement-base'
    }
    implementation ("com.google.firebase:firebase-iid:16.0.0") {
        force = true
    }

    implementation ('com.google.firebase:firebase-core:16.0.0'){
        exclude module: 'play-services-measurement-base'
        exclude module: "firebase-analytics"
        exclude module: "firebase-analytics-impl"
    }
    implementation ('com.google.firebase:firebase-messaging:17.0.0'){
        exclude module: 'firebase-iid'
    }
}

Я также настраиваю свойства всего проекта для реакций-нативных-карт, которые будут использоваться, как упоминалосьв их документации по Android здесь https://github.com/react-community/react-native-maps/blob/master/docs/installation.md#android

О, я должен также упомянуть, что в моем файле сборки gradle уровня проекта мои обновления для сценариев сборки нуждались в обновлении.

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath 'com.google.gms:google-services:4.0.1'
    }
}

Надеюсь, это поможет!Удачи

...