无法在Android中的API级别2.2上使用GCM

时间:2015-12-03 07:43:29

标签: android android-studio google-cloud-messaging

我想在API级别2.2上使用GCM,但Android Studio正在提供错误

  

错误:任务':app:processDebugManifest'执行失败。

     

清单合并失败:uses-sdk:minSdkVersion 8不能小于库D中声明的版本9:\ New folder \ AndroidStudioProjects \ GCMExample \ app \ build \ intermediates \ explosion-aar \ com.google.android.gms \发挥服务\ 8.3.0 \ AndroidManifest.xml中       建议:使用工具:overrideLibrary =" com.google.android.gms.all"强制使用

我知道将我的compiledSdkVersion更改为9将解决错误,但我想在我的应用上支持API级别2.2

我读过这个谷歌链接

https://developers.google.com/cloud-messaging/android/client

它说:

  

GCM要求安装了Android 2.2或更高版本且安装了Google Play商店应用程序的设备,或运行带有Google API的Android 2.2的模拟器。

我的build.gradle文件:

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "com.example.hogo.gcmapp"
    minSdkVersion 8
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
}

那么,为什么我无法在API级别2.2上使用GCM?

我做错了什么?

提前致谢...

2 个答案:

答案 0 :(得分:1)

这取决于您使用的GCM-API。您引用的{{}}下面的great presentation说:

  

但是,如果您想继续使用通过Google Play服务分发的新GCM功能,该设备必须运行Android 2.3或更高版本,或者您可以使用运行Android 2.3和Google API的模拟器。

你编译 * .gms:play-services-gcm:8.3.0 这显然是与播放服务一起发布的。因此,如果您真的想要支持2.2设备,则需要旧的和已弃用的GCM-API,但由于只有bullet point仍然使用该版本,您可以使用SDK 10并享受GCM现在提供的所有功能。

答案 1 :(得分:1)

最后问题是Solved家伙。

只需打开独立SDK Manager并检查底部的已过时复选框

您将在图片下方看到Obsolete Froyo Library。

enter image description here

之后,请关注此帖:

How to add Google Play Services for Froyo to the project using Gradle?

就是这样。

另外,请看一下这篇文章:

Is Google Play Services for Froyo compatible with Android 2.3 and higher?

希望它能帮助某人:)