API级别14的Firebase云依赖项

时间:2017-12-01 07:50:39

标签: android firebase gradle android-gradle firebase-cloud-messaging

我们在API Level 14上创建了一个Android应用程序。现在我们决定为我们的应用程序实现推送通知。由于不再支持GCM,除了使用FCM之外,我们别无选择。根据Android文档,针对FCM的Min SDK是14,这就是我们所拥有的。但我们不知道什么是正确的类路径和编译FCM的依赖关系。目前我们使用以下内容:

    **App Level Gradle**

    apply plugin: 'com.android.application'
    android {
    compileSdkVersion 14
    buildToolsVersion "27.0.1"
    defaultConfig {
        applicationId "com.infotropy.fcm"
        minSdkVersion 14
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner
        "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

    dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'
    compile 'com.google.android.gms:play-services:9.2.1'
    compile 'com.google.firebase:firebase-messaging:9.2.1'
}
    apply plugin: 'com.google.gms.google-services'

**Project Level Gradle**

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

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

在构建时,我们遇到了以下构建错误:

Error:Gradle: Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

E:\Projects\Android\Fcm\app\build\intermediates\res\merged\debug\values-v21\values-v21.xml
Error:(12, -1) Gradle: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Inverse'.
Error:(14, -1) Gradle: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Large.Inverse'.

还有更多像这样的错误......

我们是否可以通过更改依赖项来解决这些问题,如果是,那么请提及正确的依赖项。

请注意,我们首选的是我们不想更改项目的SDK版本,因为它是一个非常大的项目并且更改SDK版本将导致大量代码更改和麻烦。< /强>

1 个答案:

答案 0 :(得分:0)

因为您正在使用:

compileSdkVersion 14

无法使用compileSdkVersion 23,您必须使用compileSdkVersion 27

但是你应该使用:

compile 'com.google.android.gms:play-services:11.6.2'
compile 'com.google.firebase:firebase-messaging:11.6.2'

和最新的稳定版本:

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.1.1' // google-services plugin
    }
}

allprojects {
    // ...
    repositories {
        // ...
        maven {
            url "https://maven.google.com" // Google's Maven repository
        }
    }
}

最后:

{{1}}