【问题标题】:Unable to use GCM on API level 2.2 in Android无法在 Android 的 API 级别 2.2 上使用 GCM
【发布时间】:2015-12-03 07:43:28
【问题描述】:

我想在 API 级别 2.2 上使用 GCM,但 Android Studio 给出了错误

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

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

我知道将已编译的SdkVersion 更改为 9 可以解决错误,但我想在我的应用上支持 API 级别 2.2

我读了这个谷歌链接

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

上面写着:

GCM 需要运行 Android 2.2 或更高版本并安装了 Google Play 商店应用程序的设备,或者运行 Android 2.2 和 Google API 的模拟器。

我的 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?

我做错了什么?

在此先感谢...

【问题讨论】:

  • 你读过这篇文章吗:如果你想支持 4.4 之前的 KitKat 设备,请将以下操作添加到接收者的意图过滤器声明中:
  • 会添加那行,工作室不会要求将我的 compileSdkVersion 更改为 9 吗?
  • 您可以尝试按照here 发布的方式设置您的项目。设置好后,它应该可以在 API 9 上运行。请注意,您必须尝试使用​​真实设备进行测试。
  • @bjiang 我想从 API 级别 8 开始支持
  • 应该是一样的,在这里尝试使用官方repo:github.com/google/gcm/tree/master/samples/android/gcm-demo

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


【解决方案1】:

这取决于您使用的 GCM-API。你引用的下面的bullet point 说:

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

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

【讨论】:

    【解决方案2】:

    问题终于解决了。

    只需打开 Standalone SDK Manager 并选中底部的 Obsolete 复选框

    您将在下面的图片中看到过时的 Froyo 库。

    之后,只需关注此帖子:

    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?

    希望对某人有所帮助:)

    【讨论】:

      猜你喜欢
      • 2013-07-11
      • 1970-01-01
      • 2014-12-01
      • 1970-01-01
      • 2011-03-07
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      • 2014-04-07
      相关资源
      最近更新 更多