【免费】Android-CTS-2.3-深入分析
本作品内容为【免费】Android-CTS-2.3-深入分析,格式为 docx ,大小 2057311 KB ,页数为 27页
('AndroidCTS2.3深入分析1.CTS简介CTS全称CompatibilityTestSuite兼容性测试工具。当电子产品开发出来,并定制了自己的Android系统后,必须要通过最新的CTS检测,以保证标准的androidapplication能运行在该平台下。通过了CTS验证,需要将测试报告提交给Google,已取得androidmarket的认证。CTS是一款通过命令行操作的工具。目前cts没有提供windows版本,只能在Linux下测试。在我们实际使用CTS的过程中,很可能需要根据特定的要求,来定制自己的TestPlan。这时就需要自己编译CTS,因此,本文主要向大家介绍如何编译CTS,及使用编译出的CTS工具。至于从android官网上取得的CTS,其使用方式与我们自己编译的工具类似,本文只做简单介绍。2.获取CTS工具假定Developer之前已经搭建好,linux环境。以下操作均在linux下进行。由于google的原因,Android2.3Gingerbread中的CTS是不完整的,所以我们选择Android2.2Froyo的CTS作为本文的研究对象。以下附上Google的回复:Theoretically,CTSforGingerbreadshouldbebuiltthesamewayasforFroyo.However(andthisisimportant),pleasenotethattheCTSversionthat\'scurrentlyinthegingerbreadbranchisincomplete.We\'reworkingonthat,butthelongholidaybreakshavemadeprogressslowerthanusual.来源地址:http://groups.google.com/group/android-building/browse_thread/thread/53de18db6af17513从回复中看,Gingerbread中CTS的编译过程和Froyo是一样的,命令使用方法是一样的。我猜测,有可能在Gingerbread中加入了一些新的测试,毕竟android对硬件的要求是越来越高了,从CDD可以看出。2.1下载编译源码获取CTS工具2.1.1下载git下载的android源码里包含cts,位置在/cts目录下(android2.1以后版本)如果没有也可以从此处下载git://android.git.kernel.org/platform/cts.git(源码70M左右)2.1.264bitSystem步骤根据Google的要求,自从android2.2以上,编译必须使用64bit系统,以下为android2.3CTS详尽编译步骤。\uf06c64bitSysteminstall与环境设置1.我们使用的是Ubuntu11.0164bit版本。安装的过程就不累述了,基本上和32bit系统一样。2.安装Java6JDK。因为Ubuntu11.04的JAVA源尚未更新,无法通过“官方”安装。所以我们需要编辑源列表:进入/etc/apt/下,sudovisources.list将#debhttp://archive.canonical.com/ubuntulucidpartner#deb-srchttp://archive.canonical.com/ubuntulucidpartner这两行的注示“#”去掉。可以在http://archive.canonical.com/ubuntu/pool/partner/s/sun-java6/看到有sun-java6的。执行sudoapt-getupdate,两个需要的资源已在获取列表中,再来执行:sudoapt-getinstallsun-java6-jdk要装JRE的:sudoapt-getinstallsun-java6-jre3.为了后面的android源码编译,还需要用apt-get命令安装以下组件:libc6-dev-i386g++-multiliblib32zl-devlib32ncurses5-devlibx11-devbisonflexgperf就是执行“sudoapt-getinstall以上组件名”。或者执行以下命令:sudoaptitudeinstallgit-coregnupgflexbisongperflibsdl-devlibesd0-devlibwxgtk2.6-devbuild-essentialzipcurllibncurses5-devzlib1g-dev以及以下软件包:sudoapt-getinstalllib64z1-devlibc6-dev-amd64g++-multiliblib64stdc++64.获取android源码(CTS源码包含在android源码中,也可以单独下载后编译。我们会分成两部分来说。)先来说获取整个android2.3源码,编译CTS的过程:首先安装GitandRepotools。repo工具是Google提供的一个Python脚本,方便管理多个Git版本库指令:sudoapt-getinstallgit-corecurl//git-core是git工具,Curl是Linux下一个很强大的http命令行工具,我们要用它获取repo工具,下文将会提及sudocurlhttp://android.git.kernel.org/repo>/usr/local/bin/repo//用此命令,将repo安装到/usr/local/bin/repo目录下sudochmod755/usr/local/bin/repo//赋予repo执行权限在用户目录下或者其它目录创建一个Android源码的保存目录,例如AndroidCTS。mkdirAndroidCTS//创建存放源码目录cdAndroidCTS../bin/repoinit-ugit://android.git.kernel.org/platform/manifest.git-bandroid-2.3.4_r1//如果下载指定Android版本则加上“-b版本英文名称,如果不指定则下载最新版本获取android指定版本的全部源码时间很长,视网络情况而定,我们用了大约6小时,下载了5.1G的android2.3源码。进入android源码根目录,输入以下命令:$.build/envsetup.sh//设置环境$make//编译android源码,这个时间也很长,直到新生成的out目录下产生相应的image,一切ok!$makects//此时生成测试计划,测试包,测试用例,和测试报告生成的目录编译好cts后生成的文件位置如下:#AndroidCTS/out/host/linux-x86/在该目录下包含如下测试文件PackageCTS:out/host/linux-x86/cts/android-cts.zipctsmakefile:mydroid/build/core/tasks/cts.mkrunctsprogram:mydroid/out/host/linux-x86/bin/ctstestplans:mydroid/out/host/linux-x86/cts/android-cts/repository/planstestpackages:mydroid/out/host/linux-x86/cts/android-cts/repository/testcasestestresults:mydroid/out/host/linux-x86/cts/android-cts/repository/resultsCTSprogramsettingsvalue:mydroid/cts/tools/utils/host_config.xml配置Framework环境变量:exportANDROID_ROOT=/[MyAndroid]/out/host/linux-x862.2下载gongle发布的CTS工具下载页面:http://source.android.com/compatibility/downloads.html点击Android2.3R3CompatibilityTestSuite(CTS)下载CTS工具现在Google最新发布的CTS工具是android2.3版本的,以后可以针对需要下载对应的CTS版本。3.使用3.1修改环境变量3.1.1编译的CTSCTS和androidSDK工具目录如下:/out/host/linux-x86/bin/android-sdk-linux_86/platform-tools/android-sdk-linux_86/tools将CTS工具路径和androidSDK工具路径加入环境变量,在linux下输入以下命令:\uf0d8env查阅原有环境变量,其中环境变量PATH的值为:PATH=/home/hanqigcxy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/hanqigcxy/bin:\uf0d8exportPATH=/home/hanqigcxy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/hanqigcxy/bin:/home/hanqigcxy/android-source/out/host/linux-x86/bin:/home/hanqigcxy/android-sdk-linux_86/platform-tools:/home/hanqigcxy/android-sdk-linux_86/tools将CTS和androidSDK工具目录加入到环境变量中,如上红色部分所示。注意要求输入完整路径,各路径以分号间隔。3.1.2Goole发布的CTS如果使用的是Google发布的CTS工具路径为:CTS和androidSDK工具目录如下:/android-cts/tools/android-sdk-linux_86/platform-tools/android-sdk-linux_86/tools将CTS工具路径和androidSDK工具路径加入环境变量,在linux下输入以下命令:\uf0d8env查阅原有环境变量,其中环境变量PATH的值为:PATH=/home/hanqigcxy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/hanqigcxy/bin:\uf0d8exportPATH=/home/hanqigcxy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/hanqigcxy/bin:/home/hanqigcxy/android-cts/tools:/home/hanqigcxy/android-sdk-linux_86/platform-tools:/home/hanqigcxy/android-sdk-linux_86/tools将CTS和androidSDK工具目录加入到环境变量中,如上红色部分所示。注意要求输入完整路径,各路径以分号间隔。\uf0d8进入/out/host/linux-x86/cts/android-cts/repository/tools目录下,修改startcts脚本文件。将脚本中的SDK_ROOT该成自己的androidSDK路径。$cd/home/hanqigcxy/Downloads/android-cts/tools$vimstartcts修改脚本中出现的第一个SDK_ROOT,如:"SDK_ROOT=/home/hanqigcxy/android-sdk-linux_86"。注意:启动CTS的时候,应该输入startcts。3.1.3将环境变量写入系统上面配置环境变量使用Linux命令:export使用该命令设定的环境变量仅仅对当前的shell有效。如果用户再开启一个shell,那么需要再次设定环境变量。这是使用export命令的局限。但是最大的好处就是保证的系统的纯净,每次操作仅仅对当前有效。下面提供一种将环境变量写入配置文件的方法。户用不必每次启动Shell后,都要设定环境变量:Step1:输入命令,切换到root权限:\uf0d8su输入password回车Step2:进入用户文件夹,编辑.bashrc文件,例如在ubuntu下我有一个用户hanqigcxy\uf0d8cd/home/hanqigcxy\uf0d8ls-al\uf0d8vim.bashrc\uf0d8修改exportPATH=$PATH:$HOME/bin:为:exportPATH=$PATH:$HOME/bin:/home/hanqigcxy/android-source/out/host/linux-x86/bin:/home/hanqigcxy/android-sdk-linux_86/platform-tools:/home/hanqigcxy/android-sdk-linux_86/toolsStep3:启动系统\uf0d8reboot–n3.2连接设备3.2.1模拟器测试由于我们只需要用模拟器来模拟设备,因此不必搭建完整的linux下android开发环境。仅需要下载AndroidSDK并安装。见以下步骤:\uf075安装AndroidSDKStep1:点击下面链接,进入下载页面http://developer.android.com/sdk/index.htmlStep2:点击android-sdk_r08-linux_86.tgz下载SDKStep3:解压后文件目录Step4:添加环境变量,在linux下输入以下命令exportPath=………….:/home/hanqigcxy/android-sdk-linux_86/tools其中省略号代表环境变量Path原来的值,对系统原有的环境变量不能删除,仅仅在末尾加入一个新的换进变量路径即可。/home/hanqigcxy/android-sdk-linux_86/tools为android-sdk-linux_86/tools目录的全称,根据用户解压路径来定,修改的值可通过右键------属性来查阅。Step5:输入以下命令,开启androidSDKandAVDManagerment$androidStep6:设定代理Step7:选定需要安装的插件\uf075创建AVD\uf075启动模拟器$emulator-avdCTS\uf075启动连接再开启一个Shell,输入以下命令:$adbstart-server$cts如果连接成功将显示一下提示:AndroidCTSversion2.2_r1Device(emulator-5554)connectedcts_host>cts_host>3.2.2Device测试(网络资源加自己的推测,需要设备做验证)\uf075在手机上安装CtsDelegatingAccessibilityService.apk$sudoadbinstall-r………………………………………………./out/host/linux-x86/cts/android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk省略号代表CtsDelegatingAccessibilityService.apk所需要的完整路径\uf075设置手机Settings->Accessibility->两个选项都选上;Settings>Application>Development三个选项都选上;Settings>Sound&Display>ScreenTimeoutshouldbesetto"NeverTimeout";\uf075修改脚本exportPath=………….:/home/hanqigcxy/android-sdk-linux_86/tools其中省略号代表环境变量Path原来的值,对系统原有的环境变量不能删除,仅仅在末尾加入一个新的换进变量路径即可。/home/hanqigcxy/android-sdk-linux_86/tools为android-sdk-linux_86/tools目录的全称,根据用户解压路径来定,修改的值可通过右键------属性来查阅。\uf075启动连接再开启一个Shell,输入以下命令:$adbstart-server$cts如果连接成功将显示一下提示:AndroidCTSversion2.2_r1Device(emulator-5554)connectedcts_host>cts_host>題目1:CTS在手機上的測試步驟?(測試機HTCG7)Step1.通過USB連接手機和PCStep2.調整HTCG7USB的連接方式為【HTCsync】,使G7允許USB調試。上述操作後,自動彈出以下界面Step3.在Linux下輸入以下命令:切換到root權限hanqigcxy@ubuntu:~$sudo-s[sudo]passwordforhanqigcxy:root@ubuntu:~#adbkill-serverroot@ubuntu:~#adbdevices顯示以下結果Step4.安裝CtsDelegatingAccessibilityServiceroot@ubuntu:~#adbinstall-r/home/hanqigcxy/android-source/out/host/linux-x86/cts/android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk顯示以下結果Step5.配置手機可能根据不同的手機,設定也会不一樣,例如網上的例子要求Settings->Accessibility->两个选项都选上;Settings>Application>Development三个选项都选上;Settings>Sound&Display>ScreenTimeoutshouldbesetto"NeverTimeout";HTCG7的實際設定:在Step2.中選擇【保持喚醒狀態選項】進入設置>應用程序>開發把三个选项都选上;進入設置>輔助功能把兩個選項都選上总之不管什么设备,需保证一下几点:1.設備的默認連接為USB調式,不能為USB充電或者USB磁盤驅動器2.設定設備始終為喚醒狀態3.設定權限,保證Host端操作無阻礙。Step開啟CTS工具進行CTS測試題目2adb如何知道設備被接入?adbusb-restartstheadbddaemonlisteningonUSB會有一個監聽USB的daemon,當設備通過USB介入後,可以做判斷。connect
提供【免费】Android-CTS-2.3-深入分析会员下载,编号:1700752118,格式为 docx,文件大小为27页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。