我想在我的应用中使用Firebase Cloud Messaging
。根据{{1}}的官方文档,我这样做:
Firebase
这是项目级别apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
useLibrary 'org.apache.http.legacy'
defaultConfig {
minSdkVersion 16
targetSdkVersion 18
versionCode 3
versionName "4.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.google.firebase:firebase-core:11.4.2'
compile 'com.google.firebase:firebase-messaging:11.4.2'
compile "com.android.support:appcompat-v7:26.1.0"
compile "com.android.support:design:26.1.0"
compile files('libs/libGoogleAnalyticsServices.jar')
}
apply plugin: 'com.google.gms.google-services'
文件:
Gradle
但是,当我构建项目时总是在// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}
dependencies {
classpath 'com.google.gms:google-services:3.1.1'
classpath 'com.android.tools.build:gradle:3.0.0-rc2'
}
}
allprojects {
repositories {
maven { url 'https://maven.google.com' }
jcenter()
flatDir {
dirs 'libs'
}
}
}
导入
编译'com.google.firebase:firebase-core:11.4.2'
所有gms / firebase库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃) 版本11.4.2,10.0.1。例子包括 com.google.android.gms:play-services-basement:11.4.2和 com.google.android.gms:播放服务基:10.0
。
似乎Firebase
从其他来源读取其配置和版本,因为当我删除这一行时:
Google Play Services
和
apply plugin: 'com.google.gms.google-services'
项目行为相同,看起来这条线对项目没有任何影响。
重要提示:我还检查了app.iml文件,发现一些与Google Play相关的条目与我想要的11.4.2版本不同。如果我删除app.iml文件Android Studio重新创建它并添加相同的版本。喜欢这些:
classpath 'com.google.gms:google-services:3.1.1'
这两个也应该是11.4.2版本,因为我使用lates版本的Google Play服务!而这似乎是我的问题的根源。
我从Android SDK Manager更新了所有内容,但它没有解决问题。这是为期两天我很难解决这个问题而且无法建立我的项目。
如果我更改firebase版本,我的问题将解决,但我需要最新版本,并根据firebase文档,它应该工作:
<orderEntry type="library" name="com.google.android.gms:play-services-location-10.0.1" level="project" />
<orderEntry type="library" name="com.google.android.gms:play-services-base-10.0.1" level="project" />
有什么问题?请帮助我。