谷歌CTS,英文为 Compatibility Test Suite,中文意思是兼容性测试,手机设备需要通过 Android 的兼容性测试(CTS),以确保在 Android 上开发的程序在手机设备上都能运行。

 

CTS认证是获得Google推出的 Android 系统中 Android Market 服务的前提。CTS 兼容性测试的主要目的和意义在于使得用户在 Android 系统的应用过程中,有更好的用户体验,并展现出 Android 系统的优越特性;使得 Android 应用程序编写者更容易编写高质量的应用程序;充分展现 Android Market 的优势,让获得CTS认证的终端得到 Android Market 的使用许可。

 

1. CTS认证是免费

如果你正在建设一个移动设备,您可以按照下列步骤操作,以确保您的设备与Android兼容。对于一般的Android兼容性计划的更多细节,请参考Android官方网站。过程一般程分为三个步骤:

  a. 获取Google官方提供的Android系统的源代码,移植你的硬件平台上去。

  b. 你的硬件必须符合Android的兼容性定义文件(CDD) 。CDD列举兼容的Android设备的软件和硬件要求。

  c. 通过兼容性测试套件(CTS)的测试。作为一个持续的援助,在开发过程中的兼容性,您可以使用CTS(包含在Android源代码里面 )保证。

 

2. CTS认证的基本教程

下载及安装,git为版本控制,多用于linux。有windows版本,可以去网上找。

git下载android-2.3.4系统并编译。

git下载的源码里包含cts,位置在$ANDROID/cts目录下(android2.1以后版本)

如果没有也可以从此处下载 git://android.git.kernel.org/platform/cts.git (源码70M左右)

 

编译

  $ build/envsetup.sh

  $ make cts

此时生成测试计划,测试包,测试用例,和测试报告生成的目录

 

使用方法

  a) 方法1:一般使用的方法

  $ cts 注意如果用手机设备调试,用root权限执行

  octs_host > ls --plan

  列出所有plan

  out/host/linux-x86/cts/android-cts/repository/plans中有plan的具体内容

  cts_host > start --plan VM 运行某个plan

  测试结果在out/host/linux-x86/cts/android-cts/repository/results目录下,用浏览器看时间目录下的xml文件即可

  注意在改动cts后,还要make cts重新编译,若只在cts目录中编译不能生效

  cts_host > ls -p 看当前可用的用例包

  cts_host > start --plan Android -p android.app 只运行某个用例包,节约时间

  cts_host > start --plan Android -p android.app -t android.app.cts.AlertDialogTest#testAlertDialog

  只运行某个用例包中的某个用例

  b) 方法2:遇到问题时方便调试的方法

  $ adb install out/target/product/xxxx/data/app/SginatureTest.apk 安装某个用例包

  $ adb shell pm list instrumentation pm用于管理package,看当前机器安装了什么用例

  $ adb shell am instrument -w android.tests.sigtest/.InstrumentationRunner am用于管理activity 运行某一用例

  $ adb shell am instrument -e class android.app.cts.AlertDialogTest#testAlertDialog -w com.android.cts.app/android.test/InstrumentationCtsTestRunner 单独运行一个小caseAndroid

  如果在一个时间很长的plan(如Android)中,某处错了,而错误信息又不全,需要单独跑一个小case,用-e指明class明就可以节约很多时间

 

说明

  bin/cts是一个脚本,它使用adb来测试,测试程序及测试用例由java语言编写

  b) cts主函数为cts/tools/host/src/com/android/cts/TestHost.java

  

CTS 是兼容性测试的目的是 Google 为了防止厂商对 Android 的改动影响其SDK API的兼容性, 即第三方应用程序安装到该厂商的机器上都能正常运行。

 

这个差不多是自动跑的,会测试硬件(比如 GPS,WIFI),还有其他一系列的东西,整体跑下来差不多1-2天跑完之后会出一份详细的报告,告诉你哪些地方没通过。一般个人搞这个的比较少,出手机的或者运营商定制手机的这个都要搞。

 

手机生产厂商自己做CTS,只需要最后提交结果给 Google 就行了。 CTS测试时间点自己定,一般到后期手机比较稳定了后才做,在最后几个版本上测试的比较频繁。 当然,你最后提交给 Google 的结果必须是要在上市的最后版本上测的。

 

只有通过了CTS认证才能获得 Android Market 软件。 而如果要获得谷歌APPs,如 YouTube, Google Maps 和 Navigation, Gmail 等,需要谷歌授权,也就是需要该手机公司获得GMS认证才行。现在成为GMS认证手机厂商门槛较高,只有少数几个世界级品牌,如三星、HTC、摩托罗拉等 已经获得认证。

 

Android Compatibility官方网站:

http://source.android.com/compatibility/index.html

更多相关文章

  1. 测试 Android(安卓)G1 是否支持 OpenGL 硬件加速
  2. android 访问webservice问题
  3. Android压力测试快速入门教程(图解)——Monkey工具
  4. 基于iMAG开发的ITeye手机客户端
  5. Android(安卓)自动化测试—robotium(一)环境
  6. [Android(安卓)硬件] android手机主流屏幕分辨率有?
  7. 首批 Android(安卓)One 入门级手机正式推出
  8. ym——Android从零开始(5)(文件操作+日记+单元测试)(新)
  9. 为Android系统编译tun.ko模块

随机推荐

  1. StringUtil
  2. Android系统零碎知识整理
  3. Kotlin中的@JvmOverloads
  4. AndroidManifest.xml简单解析
  5. android 64 32jianrong
  6. 【Tech-Android-Other】Android中的Futur
  7. DrawerLayout中加入多个View
  8. include及merge在androidmanifest.xml中
  9. Android各个版本 版本号对应关系表
  10. android 添加混淆