Firebase Admin в бэкэнд-модуле запускает "Все библиотеки Firebase должны быть выше или ниже 14.0.0 - PullRequest
0 голосов
/ 06 мая 2018

У меня есть проект студии android, который включает один модуль для моего приложения и один модуль для моего бэкэнда.

Согласно документации, я могу использовать следующий код для переноса всех библиотек конечных точек сборки в мой модуль приложения:

endpointsServer project(path: ':backend', configuration: 'endpoints')

В моем модуле бэкэнда Gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.google.cloud.tools:endpoints-framework-gradle-plugin:1.0.3'
        classpath 'com.google.cloud.tools:appengine-gradle-plugin:1.3.5'
    }

}

repositories {
    jcenter(); }

apply plugin: 'java' apply plugin: 'war'

apply plugin: 'com.google.cloud.tools.appengine'
apply plugin: 'com.google.cloud.tools.endpoints-framework-server'

sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

dependencies {
    implementation 'com.google.endpoints:endpoints-framework:2.0.14'
    implementation 'javax.servlet:servlet-api:2.5'
    implementation 'javax.inject:javax.inject:1'
    implementation 'com.google.firebase:firebase-admin:5.11.0'
}

appengine {
    deploy {
        stopPreviousVersion = false
        promote = false
        version = '1'
        project = 'project-name'
    } }

В моем приложении модуль gradle:

apply plugin: 'com.android.application'
apply plugin: 'com.google.cloud.tools.endpoints-framework-client'

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
        mavenCentral()
        jcenter()
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
        classpath 'com.google.cloud.tools:endpoints-framework-gradle-plugin:1.0.2'
    }
}

apply plugin: 'io.fabric'

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "appID"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 1
        versionName "1"
        multiDexEnabled = true
        resConfigs "en", "fr"
    }

    dexOptions {
        javaMaxHeapSize "4g"
        preDexLibraries = false
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            zipAlignEnabled true
            debuggable false
        }
        debug {
            signingConfig null
        }
    }

}

repositories {
    flatDir {
        dirs 'libs'
    }
    mavenCentral()
    jcenter()
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.2@aar') {
        transitive = true;
    }

    implementation('com.firebaseui:firebase-ui-auth:3.3.1')
    implementation 'com.google.firebase:firebase-core:15.0.2'
    endpointsServer project(path: ':backend', configuration: 'endpoints')

    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.google.android.gms:play-services-maps:15.0.1'
    implementation 'com.google.android.gms:play-services-location:15.0.1'
    implementation 'com.google.api-client:google-api-client-android:1.23.0'
    implementation 'com.google.http-client:google-http-client-android:1.23.0'
    implementation 'com.google.http-client:google-http-client-gson:1.23.0'
    implementation 'com.android.support:support-v4:27.1.0'
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support:design:27.1.0'
    implementation 'com.google.firebase:firebase-messaging:15.0.2'
    implementation 'com.google.android.gms:play-services-gcm:15.0.0'
    implementation 'com.google.firebase:firebase-auth:15.1.0'
    implementation 'com.firebase:firebase-jobdispatcher-with-gcm-dep:0.8.5'
    testImplementation 'junit:junit:4.12'
}

configurations {
    all {
        exclude module: 'httpclient'
    }
}

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

Проблема в том, что при выполнении gradle возникает следующая ошибка:

Все библиотеки Firebase должны быть выше или ниже 14.0.0

Я уже посмотрел:

Как добавить firebase-admin в мой проект Android? а также android firebase admin sdk error 'Все библиотеки firebase должны быть выше или ниже 14.0.0' [дубликаты]

Но они оба пытаются добавить admin sdk на стороне клиента. Это не то, почему я пытаюсь сделать.

Так как я могу сказать gradle, что это два разных модуля или как я могу исключить admin sdk из моего модуля приложения, когда я использую:

endpointsServer project(path: ':backend', configuration: 'endpoints')
...