`
hmfcr11l
  • 浏览: 11084 次
社区版块
存档分类
最新评论

ACD系列翻译之一

阅读更多

    本文档的原名是Android Compatibility Definition,以下简称ACD。以下对文档的重点进行了翻译,省略了一些图表和细节规范。如果想大致了解ACD的话,可以浏览该文档,但具体进行某一项CTS的时候,请参考原文档。
  3 软件
  Android平台包含了一个managed API集合,一个native API集合,还有一个soft API集合(Intent system和web-application API)。这一章详细地说说兼容性要求的硬件参数、软件API及相关技术,还有UI行为。想符合兼容性标准,必须满足所有这些要求。 3.1 Managed API兼容
  Android 应用程序运行在一个Managed environment中,也就是一个基于Dalvik Vm的运行时环境。Android平台API是指平台向APP开放的基于Dalvik Vm的API。必须提供这些API的完整实现,包括API文档中描述的所有API功能。
  绝不能删除任何Managed API,修改API接口或签名,改变API功能等,ACD特殊规定的API除外。
  ACD允许一些针对特定硬件的API功能不被实现,但这些API必须存在,并且以合理的方法响应APP。 3.2 Soft API
  Android对Intent,permission等Android应用程序在编译时不能确定的这些Soft API兼容性进行了规定。设备必须满足本章提到的所有要求。 3.2.1 Permissions
  设备必须支持SDK开发文档中提到所有permission。在第10章中列出了满足Android 安全模型需要满足的附加条件。 3.2.2Build Parameters
  Android的android.os.Build类中包含了一些常是用来描述设备的编译属性。为保持兼容性,下面这些属性必须被支持。
  VERSION.RELEASE
  当前运行的Android系统的版本,它的值是一个字符串,必须是易读的,且是这里( http://source.android.com/compatibility/2.3/versio ns.html
  )提供的几个值中的一个。
  VERSION.SDK
  当前运行的Android系统的版本,必须是一个第三方应用程序可读的格式。对Android2.3来说,这个字段必须是整数值9.
  VERSION.INCREMENTAL
  用来标识特定的编译版本,必须是易读的格式。这个值不能在提供给用户的几个编译版本之间共用。这个字段有一个经典的使用,就是用来标识哪个build number或者source-control change identifier
  被用来生成这个编译版本。对这个段的格式没有什么要求,但绝不能是null或者""。
  BOARD
  标识机器使用的硬件。这个字段必须全部是7-bit的ASCII,并且与下面的正则表达式相匹配"^[a-zA-Z0-9.,_-]+$"
  BRAND
  标识机器所有者(公司、组织或者个人)的名字。这个字段必须全部是7-bit的ASCII,并且与下面的正则表达式相匹配"^[a-zA-Z0-9.,_-]+$"
  DEVICE
  标识设备的工业设计代号。这个字段必须全部是7-bit的ASCII,并且与下面的正则表达式相匹配"^[a-zA-Z0-9.,_-]+$"
  FINGERPRINT
  唯一识别这个系统编译版本的字符串,必须是下面这种格式
  $(BRAND)/$(PRODUCT)/$(DEVICE):$(VERSION.RELEASE)/$ (ID)/$(VERSION.INCREMENTAL):$(TYPE)/$(TAGS)
  比如:
  acme/mydevice/generic/generic:2.3/ERC77/3359:userd ebug/test-keys
  fingerprint绝对不能包含空格字符。如果模板中包含的哪参数的值有空格,在这里必须被替换成"_"。 这个字段必须全部是7-bit的ASCII。
  HOST
  系统是在哪个host上被编译的?这个字符串就是唯一标识这个host的值。不能为null或者"",其它没要求。
  ID
  标识一个特定的发布版本。可以和VERSION.INCREMENTAL
  相同,但必须让用户可以借助它区分出不同的编译版本。这个字段必须全部是7-bit的ASCII,并且与下面的正则表达式相匹配"^[a-zA-Z0-9.,_-]+$"
  MODEL
  对用户可见的设备名字。应该和设备在市场上的名字相同。不能为null或者"",其它没要求。 PRODUCT 设备的编号,不必让终端用户觉得它有意义。这个字段必须全部是7-bit的ASCII,并且与下面的正则表达式相匹配"^[a-zA-Z0-9.,_-]+$"
  TAGS
  以comma分隔的标签列表为了更详细地区分系统的编译版本。比如"unsigned, debug"。这个字段必须全部是7-bit的ASCII,并且与下面的正则表达式相匹配"^[a-zA-Z0-9.,_-]+$"
  TIME
  系统编译时的时间戳。
  TYPE
  标识该版本的运行时配置。必须是与下面三个值中的其中一个相对应:user,userdebug,eng。这个字段必须全部是7-bit的ASCII,并且与下面的正则表达式相匹配"^[a-zA-Z0-9.,_-]+$"
  USER
  编译该系统的作者的名字或者ID。不能是null或者"",其它没要求。
  3.2.3 Intent
  兼容
  这一章介绍一下系统必须安装处理哪些Intent的应用程序。
  3.2.3.1核心应用程序Intent
  默认的Android系统包含了一些核心的应用程序,比如Phone dialer,calendar,contacts,music player等。可以替换这些程序,但它们所能支持哪些模式的Intent,你也的程序必须支持。下面列出了系统的核心应用程序:
  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics