我想在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?
我做错了什么?
提前致谢...
答案 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。
之后,请关注此帖:
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?
希望它能帮助某人:)