`
moor212
  • 浏览: 176081 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 应用程序版本

 
阅读更多
在应用程序的 升级/维护 策略中, 版本是一个关键的组成部分.
用户需要了解在他们的设备上所安装的应用程序的版本的特定信息, 以及已安装程序的升级版本可用的情况.


其他应用程序 - 作为同一个套件中发布的其他应用程序 - 需要从系统中查询你的应用程序的版本号, 来确认兼容性和识别依赖情况.


发布应用所依存的服务平台(如Android Market)也可能需要查询你的应用程序的版本号, 然后可以向用户显示版本号. 它们也可能需要通过检查应用的版本号来确认兼容性, 并建立升级/降级的关系.
Android系统本身并不检查应用程序版本信息, 比如在升级,兼容性等等上, 不作强制限制. 取而代之的是, 仅由用户或应用程序自身负责对版本做任何的强制限制.
Android系统根据其manifest文件中minSdkVersion属性进行版本兼容性检查. 这允许一个应用程序指定兼容的最小系统API版本.
设置应用程序版本号
在应用程序的manifest文件中定义应用程序版本信息.
2个必须同时定义的属性:
android:versionCode — 整型, 相对于其他种类的版本号而言, 表示应用程序代码的版本. 其值是个整型,因此其他应用程序可以在程序编码中判断它, 例如检查升级或降级关系. 可以对其设置任何值, 然而应当确保每一个后续发布的应用程序使用更大的值. 尽管系统并不强制执行这种规则, 但是每个后续版本使用增加的数字值是标准作法. 典型做法是, 你发布的第一个版本的versionCode为1, 然后以后的每个发布版本单调递增, 而不管这个发布版本是否是一个主要或者次要的发布版本. 这表示 android:versionCode 值没有必要与用户可见的应用程序发布版本号有特别的相似之处. 同时,应用程序和发布平台不应将此版本值呈现给用户.


android:versionName --- 字符串值,向用户显示的应用程序代码的发布版本号.  此值是一个字符串, 因此可以用<major>.<minor>.<point>的形式描述应用程序版本, 或者以任何其他类型的绝对或相对版本号标识的形式. 相对于 android:versionCode, 除了让应用程序向用户显示它以外, 系统不打算将这个值用于任何内部使用目的. 应用发布平台可能会将 android:versionName 值解析出来显示给用户. 在manifest文件的<manifest>元素中同时定义这些个版本相关属性.
例子如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.package.name"
        android:versionCode="2"
        android:versionName="1.1">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        ...
    </application>
</manifest>在例子中, 注意 android:versionCode 值显示当前的.apk包含了应用程序代码的第二个发布, android:versionName字符串表现的是一个小的后继发布版本.
Android 提供了一个API以让应用程序向系统查询版本信息. 使用 PackageManager 的 getPackageInfo(java.lang.String, int)方法.例如:
PackageManager manager = this.getPackageManager();
try {
        PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
        appVersion = info.versionName; // 版本名,versionCode同理
} catch (NameNotFoundException e) {
        e.printStackTrace();
}

指定应用程序的系统API需求
如果应用需要指定一个Android平台的最小版本号, 或者是设计为仅支持一个特定的Android平台版本范围, 可以在应用程序的manifest文件中以API Level标识符形式指定. 这么做确保应用可以仅被安装在运行着兼容版本的Android设备中.
要指定API Level, 在应用程序的manifest文件中添加一个<uses-sdk>元素, 然后指定一个或多个以下这些属性:
android:minSdkVersion — 应用程序运行的最小Android平台版本, 由平台的API Level标识指定.


android:targetSdkVersion — 指定应用设计运行的API Level. 在一些情况下, 这允许应用程序使用目标API Level中的manifest元素或者行为, 而不是被限制在仅使用最小API Level中的元素.


android:maxSdkVersion - 应用设计运行的Android平台的最大版本, 由平台的API Level标识指定. 重要: 在使用这个属性之前, 请阅读 <uses-sdk> 文档.
当准备安装应用时, 系统检查这些个属性的值, 并与系统版本比较. 如果 android:minSdkVersion 的值比系统版本号要高, 系统将中断应用程序的安装. 类似地, 系统仅在应用程序的 android:maxSdkVersion 和平台版本兼容的的情况下安装应用程序.
如果在manifest中没有指定这些属性, 系统会假设应用程序和所有平台版本兼容, 没有最大API Level的限制.
更多的信息, 请参见 <uses-sdk> manifest元素和API Level的文档.
转:http://android.blog.51cto.com/268543/633571
分享到:
评论

相关推荐

    《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf

    《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用...

    Android应用程序开发

    ### Android应用程序开发知识点详解 #### 一、Android概述 Android是一种基于Linux内核的开源移动设备操作系统,由Google公司和开放手机联盟领导及开发。它主要用于触摸操作的手持设备上,如智能手机和平板电脑等...

    《Android应用程序开发教程(第2版)》教学课件01Android系统与开发环境.pdf

    《Android应用程序开发教程(第2版)》教学课件01Android系统与开发环境.pdf《Android应用程序开发教程(第2版)》教学课件01Android系统与开发环境.pdf《Android应用程序开发教程(第2版)》教学课件01Android系统与开发...

    Android应用程序开发(第三版)课件源程序

    《Android应用程序开发(第三版)》是由王向辉、张国印、沈洁三位专家编著的教材,这本书深入浅出地介绍了Android平台上的应用开发技术。课件源程序是学习此书的重要辅助资料,提供了丰富的实例和练习,帮助读者更好...

    Android应用程序开发权威指南_第四版

    《Android应用程序开发权威指南(第四版)》是Android应用程序开发领域的权威之作,由Android系统的资深专家执笔,深入浅出地讲解了Android应用程序开发平台的搭建、Android应用程序开发过程中的点点滴滴,以及应用...

    Android应用程序资源管理框架 PPT

    Android应用程序主要由代码和资源组成。资源主要就是指那些与UI相关的东西,例如UI布局、字符串和图片等。代码和资源分开可以使得应用程序在运行时根据实际需要来组织UI。这样就可使得应用程序只需要编译一次,就...

    Android应用程序设计 (张思民 编著) pdf

    《21世纪高等学校计算机基础实用规划教材:Android应用程序设计》是面向Android系统的初学者的入门教程,内容几乎涵盖了Android相关的所有技术。本书大致可以分成两个部分,第一部分(第1~4章)主要介绍Android SDK...

    android应用程序 宅男志全集

    《Android应用程序:宅男志全集》是一款专为Android用户设计的应用程序集合,包含了多个版本的宅男志及相关图库应用。这个应用合集显然深受宅文化爱好者的欢迎,其多版本的提供显示了开发者对产品不断更新和完善的...

    android桌面应用程序

    Android 桌面应用程序开发详解 Android 桌面应用程序是 Android 操作系统中的一种应用程序,负责管理和显示桌面图标、快捷方式、widget 等元素。学习 Android 桌面应用程序开发,可以帮助开发者更好地理解 Android ...

    Android经典应用程序开发

    资源名称:Android经典应用程序开发内容简介:韩超编著的《Android经典应用程序开发》内容理论联系实际,系统化组织。全书由8章组成,涵盖了Android经典应用程序开发的各个方面,知识量巨大,技术要点清晰,结构紧凑...

    7个Android应用程序源代码 7个Android应用程序源代码

    7个Android应用程序源代码 7个Android应用程序源代码 7个Android应用程序源代码 7个Android应用程序源代码 7个Android应用程序源代码 7个Android应用程序源代码

    Android移动应用开发习题答案.pdf

    首先,需要通过菜单创建 Android 应用程序,设置应用程序名、Android 版本等基本信息。 其次,需要编写应用程序的 Java 代码,包括 Activity、服务、广播接收器等组件。 最后,需要运行应用程序,通过模拟器或...

    android应用程序小例子

    在Android应用程序开发中,我们经常会遇到各种各样的小例子,这些例子可以帮助开发者更好地理解和掌握Android SDK中的各种功能和API。本篇文章将详细探讨"android应用程序小例子"这一主题,涵盖从基础概念到实际应用...

    Android应用程序设计

    资源名称:Android应用程序设计资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    Lazarus开发Android应用程序指南(中文首发版)

    ### Lazarus开发Android应用程序指南知识点详解 #### 环境搭建 **下载安装JDK** - 开发Android应用的首要条件是安装Java开发工具包(JDK),可以从Oracle官网下载,选择合适的版本以匹配开发需求。 **下载安装...

    《Android Studio应用程序设计》(第2版)课件+源代码

    《Android Studio应用程序设计》第二版是一本深入浅出地介绍如何使用Android Studio进行应用程序开发的专业教材。这本书结合了课件和完整的源代码,为学习者提供了丰富的实践资源。以下是基于标题、描述和压缩包...

    Android应用程序安全

    Android应用程序安全

    android 应用程序的生命周期

    android 应用程序的生命周期 课件

Global site tag (gtag.js) - Google Analytics