后端模块中的Firebase Admin触发器;所有firebase库必须高于或低于14.0.0

后端模块中的Firebase Admin触发器;所有firebase库必须高于或低于14.0.0,firebase,android-studio,gradle,google-cloud-endpoints,firebase-admin,Firebase,Android Studio,Gradle,Google Cloud Endpoints,Firebase Admin,我有一个android studio项目,其中包括一个应用程序模块和一个后端模块 根据文档,我可以使用以下代码将所有构建端点库带到我的应用程序模块: endpointsServer project(path: ':backend', configuration: 'endpoints') 在我的后端模块gradle中: buildscript { repositories { jcenter() } dependencies { clas

我有一个android studio项目,其中包括一个应用程序模块和一个后端模块

根据文档,我可以使用以下代码将所有构建端点库带到我的应用程序模块:

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'
    } }
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中:

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'
    } }
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

我已经看过:

但他们都试图在客户端添加AdminSDK。这不是我为什么要这么做的原因

那么,我如何才能告诉gradle这是两个不同的模块,或者在我使用以下模块时,如何排除admin sdk进入我的应用程序模块:

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

目前我找到的唯一方法是删除
endpointsServer项目(路径:':backend',配置:'endpoints')
并将我的应用程序项目中的所有clientlib作为jar手动导入,但这是非常低效的:(请编辑您的问题,以显示两个模块的整个最小build.gradle文件。我已经编辑了代码。谢谢!我对这个Google Cloud Endpoints产品了解不够,无法了解它对您的构建所做的工作。请尝试运行
/gradlew:app:dependencies
,以了解在您的build.Als中有哪些不符合标准的库o、 google.gms:google服务的buildscript类路径在哪里?似乎您需要它才能使用google服务插件,它是生成消息的东西。