STS 测试文档
STS全称Security Test Suite,安全测试工具,主要是测试手机安全漏洞,是否合入要求
的所有安全patch。后续认证各个Android版本都会需要测试STS。
一、测试方法
与CTS测试基本一致,唯一不同的是测试版本和测试指令。
测试版本
Android6.0 版本,采用user gms版本测试。
Android7.0+版本,采用userdebug gms版本测试。
手机预置条件
- Screen and storage
如果待测设备没有一个嵌入式的屏幕,则需要连接一个屏幕。如果待测设备存
在存储卡槽,则需要插入一个空的SD卡。SD卡需要支持Ultra High Speed(UHS)或
者至少速度为Class 10来确保CTS测试的通过。 - 如果待测设备存在SIM卡槽,在每个卡槽中,均需要插入激活的SIM卡,如果待测设
备支持SMS,每张SIM卡需要在Setting中显示他自己的电话号码。 - 给待测手机刷入待测版本,或者将待测手机恢复出厂设置
Settings > Backup & reset > Factory data reset - 将待测设备的系统语言设置为英语(United States)
Settings > Language & input > Language - 如果待测设备存在GPS或者Wi-Fi/Cellular网络功能,打开Location设置
Settings > Location > On - 连接到一个支持IPv6网络的Wi-Fi,同时连接到Internet
Settings > Wi-Fi - 确认在待测设备上没有屏幕锁或者密码
Settings > Security > Screen lock > None - 打开待测设备上的USB debugging
Settings > Developer options > USB debugging - 针对Android 4.2以后的系统, Developer options默认被隐藏。如果想要显示Developer
options,需要Settings > About phone,单击Build number七次。返回上一层界面,即可找到。 - 确保将系统时间设置为12小时制
Settings > Date & time > Use 24-hour format > Off - 设置Settings > Developer options > Stay Awake > On
- 设置Settings > Developer options > Allow mock locations > On
仅在Android 5.x和4.4.x需要对该步骤进行设置 - 设置Settings > Developer options > Verify apps over USB > Off
在Android 4.2以后的系统需要设置 - 打开浏览器,将设置信息去掉
- 利用USB线连接待测设备和PC
在Android 4.2.2及以后系统,连接待测设备和PC时,系统将弹出一个对话框,询问
是否接受一个RSA Key,允许通过PC进行debugging,此时选择允许USB debugging。
二、电脑配置
STS目前需要支持64-bit的Linux或者Mac OS的PC进行测试。
(目前最新的Android系统,
需要在Ubuntu 14.04上进行测试)
ADB和AAPT
在进行CTS测试之前,要确保PC中已经安装了最新版本的Android Debug Bridge(adb)
和Android Asset Packaging Tool(AAPT),同时将这些工具所在的路径添加到系统的环境变
量中。
下载Android SDK Tools(https://developer.android.com/studio/index.html),解压缩后,
运行tools目录中的android文件,在弹出的Android SDK Manager对话框中,选择更新Android
SDK Tools、Android SDK Platform-tools和Android SDK Build-tools,更新完成后,将tools、
platform-tools及build-tools三个文件夹所在路径,添加到系统环境变量PATH中,重新source
一下即完成配置。
Java Development Kit(JDK)
安装合适版本的Java Development Kit,针对Android 7.0及以上系统,在Ubuntu系统上需
要Open JDK 8
Device detection创建Ubuntu系统的udev规则,方法如下:
sudo gedit /etc/udev/rules.d/51-android.rules
SUBSYSTEM==“usb”, ATTR{idVendor}==“1782”, MODE=“0666”, GROUP=“plugdev”
sudo chmod 777 /etc/udev/rules.d/51-android.rules
sudo service udev restart
三、测试方法
在PC端下载测试包并解压缩。
Android6.0版本 - 如果CTS版本在7.0以前,需要对待测设备进行以下设置:
adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk
In Settings > Security > Select device administrators
确保android.deviceadmin.cts.CtsDeviceAdminReceiver*被选中,android.deviceadmin.cts.
CtsDeviceAdminDeactivatedReceiver及其以外预先安装的device administrators保持不被勾选 - 打开terminal终端,进入android-cts/tools目录
1)./cts-tradefed
2)KaTeX parse error: Unexpected character: '' at position 146: …ts --help-all) ̲ Android7.0+版本 …测试命令
整测命令:run sts-engbuild
单case测试命令:run sts-engbuild -m (name of module) -t (name of test failed)
更详细的命令可输入help 命令来查看(run sts --help-all)
四、测试结果和log
Android6.0版本android-cts/repository/results目录下会生成以时间为命名的测试result
android-cts /repository/logs目录下会生成以时间为命名的测试log
Android7.0+版本
android-sts/results目录下会生成以时间为命名的测试result
android-sts/logs目录下会生成以时间为命名的测试log
注: - test_result.xml测试结果,右击用浏览器便可以打开了,里面有所有测试的详细信息
- logs中包含以下两种log:
host log中贴出的是测试过程中terminal中打印的信息
device log 中是 system 和 main log
五、测试包
STS有单独的测试包,且每月均会更新,区分Arm和x86
测试包是加密的,密码为:sts