palm pre手机,paln手机

tamoadmin 科技前沿 2024-07-26 0

    1.android兼容性测试(CTS)和连带的兼容性定义文档(CDD),是一个确保终端设备与特定版本Android(比如Android2.2,2.3,3.0)兼容的自管理程序。CTS测试集包含大约24,000个在Android设备上运行的测试用例,这些用例分别针对电话、图形、相机、GPS、触摸屏、无线网等功能。Google针对每个主要Android版本公布了CDD文档,其中指出了对CTS中每类测试的具体要求。

    2 CTS简介

    CTS拥有兼容性测试包。CTS是一个自动化的测试工具,其中包括两个主要的软件组件:CTS测试工具可以运行在您的台式机和管理测试执行。连接的移动设备或模拟器上执行个别测试案例。作为JUnit测试,并打包为Android是用Ja编写测试用例。apk文件运行在实际设备上的目标。手机设备需要通过Android的兼容性测试(CTS),以确保在android上开发的程序在手机设备上都能运行。你的设备只有满足CDD的规定并且通过CTS,才有可能获得Android的商标和享受Android Market的权限。这里有可能指的是需要你自己去向google申请的。

    palm pre手机,paln手机
    (图片来源网络,侵删)

    3 CTS在android软件兼容性测试的意义

    通过CTS测试之后便允许在设备上使用Android商标,它标志着该设备能够良好兼容软件市场中的数十万应用程序。

    4 CTS在终端上的测试详解

    5 CTS 终端需求

    Android 2.1 的 Compatibility Definition,它定义了一些需求:

    数据:必须实现一种无线连接, 速率达到 200Kbit/Sec

    Camera: 至少 2M pixels

    重力加速: 必须有, 3维, >50Hz

    指南针:必须有, 3纬, >10Hz

    GPS: 必须有

    内存:至少 92M (不包括专用内容)

    Nand: /data 分区至少 290M

    性能:启动时间: 浏览器 < 1300ms

    MMS/SMS < 700ms

    AlarmClock < 650ms

    第二次启动一个应用的时间不能超过第一次启动时间。

    CTS 测试: 必须通过最新的 CTS

    升级:必须有一种办法可以升级全系统。

    可以为:OTA USB SD卡

    6 运行CTS方法的步骤(linux环境下)

    1进入目录android-cts,该目录是通过上面那两种方法获得的。在android-cts目录下会有3个文件夹,其中一个是tools。

    2进入tools目录,输入./startcts来启动CTS。

    3如果运行成功会出现Android CTS version 2.3_r1的字样(我的android的版本是2.3的)。如果有连接设备到PC上还会出现Device(设备ID)connected的字样。这里设备可以是连接PC的android的机器,也可以是模拟器。

    7 CTS测试的方法(linux环境下)

    1在cts_host>下敲入help,会显示cts下的许多命令。ls –-plan命令显示google自带的测试方案,如:Ja、Signature、Android、CTS、VM、RefApp、Performance、 AppSecurity。其中Performance这个方案是google暂不要求的。Ja、Signature、Android、VM、 RefApp、Appsecurity方案都是CTS方案的子集。

    2用命令ls --d来查看已连接的设备,CTS测试之前我们必须保证至少有一个设备连接上。

    3输入命令start –-plan CTS来执行CTS测试方案,该方案有两万多条测试项目,需要很长时间,因此除了第一次测试之外,不建议这么做。我做的都是针对某些包的测试。如果连接了多个设备的话需加上-d参数,后面跟上设备id来告诉CTS需要测试的设备。

    4对单独一个包进行测试的方法:start –-plan CTS –p 包名;推荐用这种方法来进行针对性的测试。需要知道有哪些包名,可以输入命令:ls –plan CTS

    start --plan CTS -p android.content.cts.ContextWrerTest

    5也可以针对单独一个case进行测试:start –plan CTS –test 类名#方法名

    start --plan CTS -t android.media.cts.MediaPlayerStreamingTest#testRTSP_MPEG4SP_AAC_Video2

    8 查看测试的结果:

    测试生成的log在\android-cts\repository目录下以log+测试时间.txt命名。测试报告在android-cts\repository\results目录下,也是以测试时间命名。

    9 CTS兼容性测试常见注意事项:

    1测试前选装一个apk,然后在设置里面的功能中会多一个Delegating Accessibility Service选项,将这个选项勾起。

    2在android设备设置中:显示->屏幕超时->选取30分钟

    3在android设备设置中:应用程序->开发->勾选保持唤醒状态。

    4保证测试前,android设备在主界面状态。

    5将android设备的语言设置为英文。

    6 CTS测试集有不同版本,对应不同的终端。cts2.3的包无法安装到2.2终端上。

    7 在执行paln时,执行一段时间后会抛异常,异常如下

    CTS_INFO >>> Restarting device ...

    Device(HC09MPL00037) disconnected

    Exception in thread "Thread-17" com.android.ddmlib.AdbCommandRejectedException: insufficient permissions for device

    at com.android.ddmlib.AdbHelper.setDevice(AdbHelper.ja:736)

    at com.android.ddmlib.SyncService.openSync(SyncService.ja:164)

    at com.android.ddmlib.Device.getSyncService(Device.ja:253)

    at com.android.cts.DeviceManager$DeviceServiceMonitor.run(DeviceManager.ja:217)

    是因为权限不够,提升至root权限可解决,命令如下$sudo ./startcts

    8 输入./adb shell 出现如下异常:

    error: insufficient permissions for device

    输入:

    $ sudo -s

    ./adb kill-server

    ./adb devices

    9 出现如下异常:Unable to locate android-sdk-linux_86/tools/adb.

    是因为android-sdk-linux_86的tools目录下没有adb文件

    注:现在编译出的SDK不会出现此问题。

    10 error: device not found。

    1)请确认你的手机是否连接电脑,(2)以连接PC,重新拔下来,在连一次(3)如果2操作后还不行,看下USB连接方式是否为默认(仅充电),选USB连接。

    11 写入测试结果时报Too many open files的错误,这是因为网络请求过多,也就导致了系统打开的文件过多。每一个连接都会当成“文件”看待的。

    用ulimit –a 命令查看每个用户允许打开的最大文件数,看到是的,把它改大点,用命令:ulimit -n 4096

    注:在测试过程中最好不要查看结果日志