需要的材料:ubantu系统、sdk、jdk、andriud-cts测试包、media视频文件1.0
ubantu版本:
Android 6.0 (Marshmallow) - AOSP master: Ubuntu 14.04 (Trusty)
Android 2.3.x (Gingerbread) - Android 5.x (Lollipop): Ubuntu 12.04 (Precise)
Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)
cts下载网址:
cts:http://source.android.com/compatibility/downloads.html#compatibility-test-suite-manual
JDK版本:
Java Development Kit (JDK)
CTS 5.0 and later: Java 7
CTS 4.4 and earlier: Java 6
下载网址:
http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260.html
Linux/Windows JDK7安装|JDK1.7安装和环境变量配置
http://www.webkfa.com/one1/w291.html
步骤:
安装arm 64位ubantu系统(可以在网上下载ubootin放在u盘里安装,留出一个空盘---重启电脑---还没起来时按F12安然按步骤安装即可)
1.adt-bundle-linux-x86_64-20140702
2.jdk1.6.0_45
即像在windows下一样需要安装sdk和jdk,adt-bundle-linux-x86_64-20140702里面包含了sdk、adb和eclipse----设置环境变量。
2.2.1、jdk:sudogedit /ect/environment
------然后输入ubantu的登录密码-----
------在environment中添加jdk的路径:/home/llj/Programs/jdk1.6.0_45/bin
如下所示:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/llj/Programs/jdk1.6.0_45/bin://home/llj/Programs/android_dev/sdk/platform-tools"
2.2.2、sdk:添加://home/llj/Programs/android_dev/sdk/platform-tools
2.2.3、执行sudo apt-get install ia32-libs
然后就可以使用adb了。
保存后重启电脑才可生效。
参考文献:http://byandby.iteye.com/blog/1159592
注意:如果安装的是amd 64位的ubuntu,即使正确配置了android的环境变量(步骤1和2),也还是不可以使用adb命令的。在终端输入adb大概会有这样一个错误提示:
android-sdk-linux_86/platform-tools/adb: 没有那个文件或目录。
原因:由于是64bit的系统,而Android sdk只有32bit的程序,需要安装ia32-libs,才能使用。
解决办法:执行命令sudo apt-get install ia32-libs
但如果安装的ubantu是12.04版本会提示:
解决办法:
sudo apt-get install libgl1-mesa-dri:i386
sudo apt-get install ia32-libs-multiarch:i386
sudo apt-get install ia32-libs-multiarch
apt-get update
sudo apt-get install ia32-libs
2.2.4.到这一步,adb可以使用了,但是如机器没有弹出允许调试权限对话框(D800没有,华为P7有)则会出现adb no permissions的提示。
解决办法:http://jingyan.baidu.com/album/2fb0ba405e815f00f2ec5f9e.html?picindex=6
具体步骤:
2.2.4.1 lsusb (查看usb设备)
2.2.4.2 sudo vi /etc/udev/rules.d/51-android.rules
2.2.4.3 在新建的51-android.rules文件中输入下面的内容:
SUBSYSTEM=="usb",ATTR{idVendor}=="10d6",MODE="0666",GROUP="plugdev"
其中最关键的是ATTR{idVendor}=="10d6",的10d6,这个值来自于第2步中10d6:0c02,这个需要根据不同android设备的厂商参数来进行填写。填写完上面的内容后,保存文件并关闭。
2.2.4.4执行下面的命令,将51-android.rules文件的权限修改为任何人都可以执行:
sudochmod a+r /etc/udev/rules.d/51-android.rules
2.2.4.5执行下面的命令重启udev,这样我们刚刚添加的新51-android.rules才会正式生效:
sudo/etc/init.d/udev restart
2.2.4.6adb kill-server
adb start-server
adb devices
通过ubantu terminal进入命令控制台---
cd Programs/android-cts/tools
./cts-tradefed (此处有的机器会提示:bash: ./cts-tradefed: Permission denied,这种情况需要执行chmod 777 cts-tradefed)
run cts --plan CTS (测试整个cts)
测试命令:
查看有哪些计划、包、类等:
l/list d/devices
l/list p/plan 查看有哪些计划
l/list packages 查看有哪些包
l/list r/results 查看测试结果
执行命令:
run cts --plan test_plan_name
run cts --package/p test_package_name
run cts --class/-c test_class_name
cts中提供了很多有用的命令,断了之后会出现很多Not Executed项,只要在使用命令:
run cts –continue-session session_id 就可以继续上面的运行了,测试完毕后结果会自动更新到之前的testResult.xml中。
session_id用命令l r就可以看见。
也可以使用命令:
add derivedplan --plan plan_name -s sessionID -r [pass/failt/notExecuted/timeout]
添加一个新的plan,再用命令
run cts --plan plan_name
运行即可据需测试没测的项。
如:命令
add derivedplan --plan plan_name -s sessionID -r [pass/fail/notExecuted/timeout]
//plan_name可以自己定义,
sessionID就是l r查看结果的Session编号。
测试全部fail项-r后面是fail,
测试notExecuted项或者timeout项,-r后面就是notExecuted或者timeout。
例:测试SessionID为2的所有fail项,输入命令应为:
>add derivedplan --plan user123 -s 2 -r fail
>run cts --plan plan_name
//plan_name即您前面定义的。
例:测试上面例子中添加的fail项的plan,输入命令应为:
>run cts --plan user123
若想继续测试一遍失败的项:在testResult.xml中把failed结果改为notExecuted,再执行:run cts --continue-session sessionId --disable-reboot 即可。跑完后会自动更新测试结果到testResult.xml中。
手动测试指导:CTS Verifier test
http://blog.sina.com.cn/s/blog_6695f9eb0102vgfe.html
参考文章:http://wenku.baidu.com/view/d7266b24aaea998fcd220e05.html###