文章内容
2018/9/11 15:54:20,作 者: 黄兵
android app 版本控制
版本控制是应用升级和维护策略的关键组成部分。版本控制很重要,因为:
- 用户需要了解其设备上所安装应用的具体版本信息,以及可供安装的升级版本。
- 其他应用(包括您作为套件发布的其他应用)需要查询系统获取应用的版本,以确定兼容性和识别依赖关系。
- 发布应用时所使用的服务可能也需要查询应用的版本,以便它们可以向用户显示版本。发布服务可能还需要检查应用版本,以确定兼容性和建立升级/降级关系。
Android 系统不会使用应用版本信息对第三方应用的升级、降级或兼容性进行限制,而是由您负责在您的应用内执行版本限制,或通知用户版本限制与局限性。不过,Android 系统会根据构建文件中 minSdkVersion
设置的说明强制执行系统版本兼容性。该设置允许应用指定与其兼容的最低系统 API。
您可以将这些设置包含到 defaultConfig {}
块中(嵌套在模块的 build.gradle
文件的 android {}
块内部),为它们定义默认值。随后,您可以通过为各个构建类型或产品风味定义单独的值,为应用的不同版本替换这些默认值。下面的 build.gradle
文件显示了 defaultConfig {}
块和 productFlavors {}
块中的 versionCode
和 versionName
设置。
具体位置如图所示:
android {
...
defaultConfig {
...
versionCode 2
versionName "1.1"
}
productFlavors {
demo {
...
versionName "1.1-demo"
}
full {
...
}
}
}
android {
...
defaultConfig {
...
versionCode 2
versionName "1.1"
}
productFlavors {
demo {
...
versionName "1.1-demo"
}
full {
...
}
}
}
android {
...
defaultConfig {
...
versionCode 2
versionName "1.1"
}
productFlavors {
demo {
...
versionName "1.1-demo"
}
full {
...
}
}
}
android {
...
defaultConfig {
...
versionCode 2
versionName "1.1"
}
productFlavors {
demo {
...
versionName "1.1-demo"
}
full {
...
}
}
}
在本示例的 defaultConfig {}
块中,versionCode
值表示当前 APK 包含应用的第二个版本,versionName
字符串则指定应用将以版本 1.1 向用户显示。此 build.gradle
文件还定义了两个产品风味,即“demo”和“full”。由于“demo”产品风味将 versionName
定义为“1.1-demo”,“demo”将使用此 versionName
,而不是默认值。“full”产品风味块未定义 versionName
,因此它将使用默认值 1.1。
Android 框架提供了一个 API,让您可以查询系统,获取有关应用的版本信息。要获取版本信息,请使用 PackageManager
的 getPackageInfo(java.lang.String, int)
方法。
参考资料:对您的应用进行版本控制
评论列表