繁体   English   中英

Android应用程序向后兼容版本的Google Play服务API

[英]Android app backward compatible version of google play services API

当我在android移动版4.4(棒棒糖)上部署我的android应用时,我收到一条消息,“除非您更新Google Play服务,否则该应用将无法运行”

我看着自己的android手机,可以看到Google Play服务的版本是5.1.89。 我知道在我的代码中我正在使用8.4.0

我不希望android向用户显示弹出窗口以更新Google Play服务

任何Android移动应用专家都可以帮助我解决此问题。 如何在不要求用户更新Google服务的情况下使我的应用程序向后兼容?

我的build.gradle如下

  apply plugin: 'com.android.application'

  android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

buildTypes {
    debug {
        debuggable true
    }
}
        defaultConfig {
    applicationId "com.me"
    minSdkVersion 17
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
dexOptions {
    preDexLibraries = false
}
packagingOptions {
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
}
lintOptions {
    checkReleaseBuilds false
}

  }

 dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:design:23.0.0'
compile 'com.android.support:cardview-v7:23.0.0'
compile 'com.google.android.gms:play-services-maps:8.4.0'
compile 'com.google.android.gms:play-services-location:8.4.0'

}

Google Play服务概述中所述 ,该服务包括两部分:在构建时链接到应用程序的客户端库,以及通过进程间通信连接到客户端库的Google Play服务APK( IPC)。

通常,仅当您希望使用Google Play服务的新功能或遇到更高版本中修复的错误时,才需要升级客户端库。

Google Play服务APK作为后台服务运行,可为您的应用程序提供实际的Google服务。 借助这种拆分模型,Google可以迅速向最终用户设备推出新功能,服务更新和关键错误修复,而无需等待运营商或设备制造商实施这些修复。

因此,Google Play服务APK必须与客户端库的先前发行版本向后兼容,以避免每次更新时破坏开发人员的应用程序。

相反,事实并非如此。 如果您使用特定版本的客户端库构建应用程序,则已安装的Google Play服务APK版本不得早于该版本。

因此,如果您根据库版本5.1.89进行构建,则您的应用将可以使用APK的8.4.0版本,但如果安装的版本为5.0.0,则无法使用。

行为良好的应用程序始终会在访问服务之前检查已安装的Google Play服务APK的可用性和版本,如Google Play服务设置指南中所述 当提示最终用户更新设备上的Google Play服务时,这正是您在操作中看到的,这是应用程序开发人员最好的做法,因为您不能在最终用户的设备和设备上强制进行更新。替代方法是使您的应用程序崩溃。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM