想要做游戏的Android 兼容性测试,求推荐
答案:2 悬赏:20
解决时间 2021-03-20 23:49
- 提问者网友:烟刺痛了眼
- 2021-03-20 09:15
想要做游戏的Android 兼容性测试,求推荐
最佳答案
- 二级知识专家网友:甜野猫
- 2021-03-20 09:23
就是要准备很多样机。不同品牌的手机是会有区别的,和api version无关。我们开发的软件,光测试机就有50多台。目前碰到过的硬件问题主要有:1,一些奇怪的分辨率,android无法识别为large-size。不过api version 7以后没问题了,要是对应ver4的要注意。2,硬件参数不同。拿相机来说,有的没有闪光灯,有的快门声不能跟着手机模式设定。还有几款手机保存图片会偏转90度,这个信息是保存在DB的。3,手机信息不同。这个没什么好解释的,应该一台机器一个编号,通常用来做用户识别。但就是有款手机,全部编号都是一个数字。。。4,未知。。。android的多机种对应真的很蛋疼,尤其是要用手机硬件的时候。
全部回答
- 1楼网友:猖狂的痴情人
- 2021-03-20 10:59
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是用java编写测试用例。apk文件运行在实际设备上的目标。手机设备需要通过android的兼容性测试(cts),以确保在android上开发的程序在手机设备上都能运行。你的设备只有满足cdd的规定并且通过cts,才有可能获得android的商标和享受android market的权限。这里有可能指的是需要你自己去向google申请的。
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自带的测试方案,如:java、signature、android、cts、vm、refapp、performance、 appsecurity。其中performance这个方案是google暂不要求的。java、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.contextwrappertest
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.java:736)
at com.android.ddmlib.syncservice.opensync(syncservice.java:164)
at com.android.ddmlib.device.getsyncservice(device.java:253)
at com.android.cts.devicemanager$deviceservicemonitor.run(devicemanager.java: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 命令查看每个用户允许打开的最大文件数,看到是的1024,把它改大点,用命令:ulimit -n 4096
注:在测试过程中最好不要查看结果日志
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯