1. android认证包括什么android认证只包括GMS认证吗
GMS综述
GMS认证,一般要求我们提供CTS, XTS, Verify三份测试报告,如下图:
4 Fail项的处理
给高通提case,给MTK提eservice,因为这个一般自己能解的比较少,主要还是要靠高通和MTK来解。 慢慢积累自己的fail项库 慢慢积累自己处理fail项的能力
2. android的cts测试到底有多细
1.下载完整的cts测试工具包,方式有两种:
a.在现有代码上编译,代码版本与目标机器版本一致;
b.在Google官网下载:http://source.android.com/compatibility/downloads.html,Compatibility
Test Suite (CTS)即可。
2.下载media测试内容,还是上边的官网,在网页最下边:
CTS Media Files
These media files are required for the CTS media stress tests.
CTS Media 1.0
3.连接手机与电脑(至少一台手机)
4.测试前准备
android-cts/repository/testcases中的.apk和CtsDeviceAdmin.apk
安装完成以上apk后,在手机端操作:
a.设置->辅助程序->Delegating Accessibility Service,打开;
b.设置->安全->设备管理器->CTS相关的两个选项都激活;
c.打开USB调试模式;
d.保持屏幕唤醒;
e.允许模仿位置;
f.切换至英文模式US。
5.进入cts控制台
执行android-cts/tools/cts-tradefed
dev@linux -dev:~/android/CTS/android-cts/tools$ ./cts-tradefed
09-0509:20:52 I/: Detectednew device c8090fe4
09-0509:20:52 I/: Detectednew device5348300e
Android CTS 4.2_r1
我现在连接着两台设备,都检测到了。
6.开始进行CTS测试
首先,在控制台中输入help看这个控制台都能干什么。
cts-tf > help
CTS-tradefed host version 4.2_r1
CTS-tradefed is the test harness for running the Android Compatibility
Suite, built on top of the tradefed framework.
Available commands and options
Host:
help: show this message
help all: show the complete tradefed help
exit: gracefully exit the cts console, waiting till all invocations are
complete
Run:
run cts --plan test_plan_name: run a test plan
run cts --package/-p: run a CTS test package
run cts --class/-c [--method/-m]: run a specific test class
and/ormethod
run cts --continue-session session_ID: run all not executed tests from a
previous CTS session
run cts [options] --serial/s device_ID: run CTS on specified device
run cts [options] --shards number_of_shards: shard a CTS run into given
number of independent chunks, to run on multiple devices inparallel
run cts --help/--help-all: get more help on running CTS
List:
l/list d/devices: list connected devices and their state
l/list packages: list CTS test packages
l/list p/plans: list CTS test plans
l/list i/invocations: list invocations aka CTS test runs currentlyin
progress
l/list c/commands: list commands: aka CTS test run commands currently in
the queue waiting to be allocated devices
l/list r/results: list CTS results currently present in the repository
Add:
add derivedplan --plan plane_name --session/-s session_id-r
[pass/fail/notExecuted/timeout]: derive a plan from the given session
Dump:
d/mp l/logs: mp the tradefed logsfor all running invocations
Options:
--disable-reboot: Do not reboot device after running some amount of
tests.
run cts --plan + 运行某个plan,查看当前支持的plan,运行l
p,实际上所有的plan存放在android-cts/repository/plans;
run cts --package/-p 运行某一个测试包;
run cts --class/-c [--method/-m] 运行某一个测试类或测试方法;
run cts --continue-session session_ID 继续运行之前没有完成的CTS测试,要知道它的session_ID;
run cts [options] --serial/s device_ID 在某个串号的设备上进行CTS测试,对应多个机器的时候,通过adb
devices能够查看当前连接的所有设备的串号;
run cts [options] --shards number_of_shards 在多个设备上同时运行CTS测试,如run cts --plan
CTS --shards 2,在两个设备上同时运行;
run cts --help/--help-all 展示更多帮助
查看列表:
查看行为是l/list,接不同的参数显示对应信息。
d/devices 当前连接的设备,效果同adb devices,不过信息更详细,还有设备电量信息;
packages 当前CTS plan的所有测试包;
p/plan 当前所支持的CTS plan有哪些;
i/invocations 当前CTS的运行状态;
c/commands 展示出用户输入过的命令;
r/results 展示以往的测试结果
Session Pass Fail Not Executed Start time Plan name Device serial(s)
0 17720 239 12 2013.08.24_18.23.23 CTS c8090fe4
1 17907 64 0 2013.09.04_17.51.15 CTS FUSC85YLYPAMRC69
需要特别关注的几点注意事项:
首先,手机的功能一定要完整,WIFI BT 3G CAMERA等;
手机要切换至英文语言;
连接到可用WIFI;
有SIM卡,并能够打电话发短信;
对于屏幕密度,目前CTS中最高支持320,但实际上Google已经添加了对480,也就是1080p的支持;
会检测Fingerprint,注意厂家名;
要保证能够访问到www.google.com;
实战演戏:
连接两台手机后,进入cts控制台:
run cts --plan CTS --shards 2
两台手机上会同时跑起CTS测试,大概5小时候测试完成,生成测试报告,保存在results下。
3. android产品上市必须通过CTS认证测试吗
是的,一定要通过CTS认证测试
Android的CTS测试,英文为Compatibility Test Suite,意为兼容性测试。只有通过CTS测试的设备才有可能获得Android的商标和享受Android Market的权限。以下分享我对Android CTS的认识。
一、取得Compatibility Test Suite的两种方法:
(1)可以从http://source.android.com/compatibility/downloads.html下载最新版本的Compatibility Test Suit;
(2)也可以通过编译Android源代码的方式获得。在android源代码目录下输入make cts命令来编译CTS,之后会在out/host/linux-x86/cts/下生成android-cts文件夹。这个文件夹就是Compatibility Test Suit。
==========================================
1、Error occurred ring initialization of VM
Could not reserve enough space for object heap
从字面上看是在初始化java Vm的时候不能获取足够的堆空间,于是修改了build/core/definition.mk文件中的编译core.jar和framework.jar时需要的-JXmx为1024m,此参数代表编译上述两个包时需要的最大内存,此初始值为2048M,由于我的PC电脑总的内存才2G,系统运行会占据一部分内存,故编译android的时候肯定不会分配2G内存,
解决:
把build/core/definitions.mk 文件
第1528行:$(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx2048M) \
改成: $(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx1024M) \
http://blog.csdn.net/leerobin83/article/details/7873229
==========================================
二、运行CTS的方法,步骤如下:
(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的机器,也可以是模拟器。
三、CTS测试的方法:
(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
(5)也可以针对单独一个case进行测试:start –plan CTS –test 类名#方法名
四、查看测试的结果:
测试生成的log在\android-cts\repository目录下以log+测试时间.txt命名。测试报告在android-cts\repository\results目录下,也是以测试时间命名。
五、注意事项:
(1)测试前需要安装一个apk:adb install -r android-cts/repository/testcases/.apk 然后在设置里面的辅助功能中会多一个Delegating Accessibility Service选项,将这个选项勾起。
(2)在android设备设置中:显示->屏幕超时->选取30分钟
(3)在android设备设置中:应用程序->开发->勾选保持唤醒状态。
(4)保证测试前,android设备在主界面状态。
(5)将android设备的语言设置为英文
4. 如何进行android兼容性测试cts
二、运行CTS的方法,步骤如下:
(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的机器,也可以是模拟器。
三、CTS测试的方法:
(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
(5)也可以针对单独一个case进行测试:start –plan CTS –test 类名#方法名
四、查看测试的结果:
测试生成的log在\android-cts\repository目录下以log+测试时间.txt命名。测试报告在android-cts\repository\results目录下,也是以测试时间命名。
五、注意事项:
(1)测试前需要安装一个apk:adb install -r android-cts/repository/testcases/.apk 然后在设置里面
5. android cts如何到另一台电脑继续测试
Android 4.0 CTS 测试方法
这段时间公司做CTS测试,下面是一些总结,以android4.0.3为例,希望对大家有所帮助!
一 CTS测试简介
The Android compatibility program makes it easy for mobile device manufacturers to develop compatible Android devices
CTS具体的介绍,大家可以参考google的官方网站,大家可以详细的了解CTS测试的目的和环境,我们一般的疑惑都能在该网站上找到答案。
1.1为什么需要兼容性测试(以下称CTS)?
1.1.1、让APP提供更好的用户体验。用户可以选择更多的适合自己设备的APP。让APP更稳定。
1.1.2、让开发者设计更高质量的APP。
1.1.3、通过CTS的设备可以运行Android market。
1.2怎么样才能让我的设备变成兼容的。
1.2.1、与Android Compatibility Definition文档(以下简称ACD)匹配
先看一下与你的系统版本相匹配的ACD,文档中描述了你需要具备的软件和硬件参数。
1.2.2、通过CTS测试
CTS是开源的测试框架,使用它来测试你的设备是否具备兼容性。
1.2.3、提交报告
你可以把测试结果发送给[email protected]。当你提交了一个CTS报告时,你还可以要求访问Android Market。
如果是google的合作伙伴,需要将CTS测试报告、机器、以及软件一共寄给google进行测试,取得google的approval以后,手机才能上市,这是后话,相信好多人都是用不到的。
1.3 CTS测试原理
CTS主要包含两个组件:
运行在PC上的测试框架组件。主要用来管理测试用例(test case)的执行。
运行在设备或模拟器上的测试用例。这些用例用JAVA写成的APK文件。
1.4工作流程
1)可以从源码编译CTS,也可以从网站下载编译好的CTS
2)安装配置CTS。
3)把设备连接到PC上。
4)运行CTS。CTS会把相应的测试用例(也就是一个APK文件)传送到设备上并通过instrumentation运行,然后记录运行结果,最后删除测试用例。
所有的测试用例执行完毕后,可以参照测试结果重新调整或优化系统。然后继续运行CTS测试。
1.5、测试通过以后,你可以把CTS生成的结果(就是result下面那个以测一、取得Compatibility Test Suite的两种方法:
(1)可以从 下载最新版本的Compatibility Test Suit;
(2)也可以通过编译Android源代码的方式获得。在android源代码目录下输入make cts命令来编译CTS,之后会在out/host/linux-x86/cts/下生成android-cts文件夹。这个文件夹就是Compatibility Test Suit。
注意:但是源码中的代码可能不是最新的,所以建议冲网站上下载最新的,需要用git在google的网站上下载,网上有好多例子,这里就不再重复了。
二 测试用例的范围
1、Signature
对每个Android产品,都有一些XML文件来描述所有的公开API。CTS包含了一个工具来检测这些API签名中包含的API是否都在系统中被支持。
2、Platform
测试SDK文档中描述的平台API,比如core libraries,Android Application Framework等。要求这些API可以提供:
正确的类、属性、方法签名、方法行为、错误参数处理方式
3、Dalvik VM
专门针对Dalvik Vm的测试。
4、Platform Data Model
平台通过ContentProvider提供给开发者使用的数据,比如:Contacts,Browser,Settings等。
5、Platform Intents
平台提供的用于核心功能的Intent。
6、Platform permission
平台提供的一些重要APP权限
7、Platform Resources
simple values,drawables,nine-patch,animations,layouts,styles and themes,loading alternate resources等
三 如何搭配环境
目前cts没有提供windows版本,只能在Linux下测试。
1 PC机配置环境
PC端网上有好多资料可以供参考,这里就省略了。
2 手机设置
1) 进入settings->Privacy->Factorydata reset,对平台进行reset一次
2) 平台插入一张空的TF卡
3) 平台安装两个APK:.apk,CtsDeviceAdmin.apk
4) 进入settings打开Wi-Fi并连接AP (AP需要连外网)
5) 进入settings->Security->Screenlock设为None
6) 进入settings->Security->EnableUnknown sources
7) 进入settings->Security->Deviceadministrators->Enable两个选项
8) 进入Language&input->language设为English(UnitedStates)
9) 进入settings->Display->Sleep设为30minutes或None
10) 进入settings->Accessibility->EnableDelegating Accessibility Service
11) 进入settings->Developeroptions->Enable USB debugging、Stay awake、Allowmock locations
12) PC上“android-cts-media-1.0”,在android-cts-media-1.0文件下输入./__media.sh运行脚本,将media文件进平台。成功后会在平台的内存中看到test文件夹。(此条适用于CTS4.0 R2和R3,R1上无需使用)
四 测试方法
1.平台用USB线连接LinuxPC (连通后平台左上方会显示usb和debug icon)
2.打开终端
3.输入sudosu -
输入root密码
4.输入cd ../..
输入 cd /home/linux/cts/android-cts-4.0.3_r1-linux_x86-arm/android-cts/tools (这个是cts-tradefed文件所在路径,各位需要输入实际路径)
输入 ./cts-tradefed
终端显示 01-16 15:44:05 I/DeviceManager: Detected newdevice 0123456789ABCDEF(如果没有这行,说明设备没有和PC联通)
Android CTS 4.0.3_r1
cts-tf >
5.输入run cts --plan CTS
终端显示 cts-tf > run cts --plan CTS
cts-tf> 01-16 15:45:34 I/TestInvocation: Starting invocation for 'cts' on build'4.0.3_r1' on device 0123456789ABCDEF
01-16 15:45:35I/0123456789ABCDEF: Created result dir 2012.01.16_15.45.34
开始测试CTS
五 关于CTS4.0测试报告
1.CTS测试报告是自动生成一个xml报表,并自动填写的,不需要测试人员干预
2.当一个CTS测试任务开始时,会在android-cts-4.0.3_r1-linux_x86-arm/android-cts/repository/results中,为这个任务建立一个存放测试报告的文件夹,文件名以任务开始的日期和时间命名。
例如:2012.01.12_13.00.03
3.CTS4.0生成测试报告的速度比CTS2.3/2.2要慢不少,特别是在测试过程中中断测试,CTS4.0需要70秒才会开始生成报告。如果你在此过程中按ctrl+c终止CTS进程,测试报告就无法生成,以后也无法继续测试未完成的计划。
下方是中途断开后生成报告的例子:
01-1813:50:19I/0123456789ABCDEF: android.accounts.cts.AccountManagerTest#testHasFeature FAIL
Testfailed to run to completion. Reason: 'Test run failed to complete. Expected 1tests, received 0'. Check device logcat for details
01-1813:51:29I/0123456789ABCDEF: android.accounts package complete: Passed 20, Failed 2, NotExecuted 6
01-1813:51:29 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:29 I/0123456789ABCDEF: Test package android.admin started
01-1813:51:29 I/0123456789ABCDEF: -----------------------------------------
……
01-1813:51:30 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:30 I/0123456789ABCDEF: Test package android.widget started
01-1813:51:30 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:30 I/0123456789ABCDEF: Saved log device_logcat_8558243668624894128.zip
01-1813:51:30 I/0123456789ABCDEF: Saved log host_log_6087775957743010530.zip