需要进行VTS测试时,可以自已编译出VTS测试组件,方法如下:
1、source build/envsetup.sh
2、lunch选择自己需要的工程
3、make vts
编译完成后,在out/host/linux-x86/vts目录下能看到测试组件

[100% 42332/42332] build out/host/linux-x86/vts/android-vts.zip

VTS的测试代码路径在:android\test\vts-testcase
这里以avb的测试代码为例,看看里面都有哪些内容

├── Android.bp
├── AndroidTest.xml
├── VtsSecurityAvbTest.cpp
└── vts_security_avb_test.xml

其中AndroidTest.xml,表示当前vts_security_avb_test测试的配置

<configuration description="Config for VTS AVB test cases"><option name="config-descriptor:metadata" key="plan" value="vts-security" /><target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher"><option name="abort-on-push-failure" value="false" /><option name="push-group" value="HalHidlTargetTest.push"/><option name="push" value="DATA/avb/q-gsi.avbpubkey->/data/local/tmp/q-gsi.avbpubkey" /><option name="push" value="DATA/avb/r-gsi.avbpubkey->/data/local/tmp/r-gsi.avbpubkey" /><option name="push" value="DATA/avb/s-gsi.avbpubkey->/data/local/tmp/s-gsi.avbpubkey" /></target_preparer><test class="com.android.tradefed.testtype.VtsMultiDeviceTest"><option name="test-module-name" value="VtsSecurityAvb" /><option name="binary-test-source" value="_32bit::DATA/nativetest/VtsSecurityAvbTest/VtsSecurityAvbTest" /><option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsSecurityAvbTest/VtsSecurityAvbTest" /><option name="binary-test-type" value="gtest" /><option name="precondition-first-api-level" value="29" /><option name="test-timeout" value="3m" /></test>
</configuration>

vts_security_avb_test.xml内容

<?xml version="1.0" encoding="utf-8"?>
<configuration description="Config for vts_security_avb_test"><target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/><target_preparer class="com.android.tradefed.targetprep.PushFilePreparer"><option name="cleanup" value="true" /><option name="push" value="vts_security_avb_test->/data/local/tmp/vts_security_avb_test" /><option name="push" value="q-gsi.avbpubkey->/data/local/tmp/q-gsi.avbpubkey" /><option name="push" value="r-gsi.avbpubkey->/data/local/tmp/r-gsi.avbpubkey" /><option name="push" value="s-gsi.avbpubkey->/data/local/tmp/s-gsi.avbpubkey" /></target_preparer><test class="com.android.tradefed.testtype.GTest" ><option name="native-test-device-path" value="/data/local/tmp" /><option name="module-name" value="vts_security_avb_test" /></test><object type="module_controller" class="com.android.tradefed.testtype.suite.module.MinApiLevelModuleController" ><option name="api-level-prop" value="ro.product.first_api_level"/><option name="min-api-level" value="29"/></object>
</configuration>

Android.bp内容

cc_defaults {name: "vts_security_avb_defaults",srcs: ["VtsSecurityAvbTest.cpp"],shared_libs: ["libbase","liblog",],static_libs: ["libavb","libcrypto_static","libfs_avb","libfs_mgr",],
}cc_test {name: "vts_security_avb_test",defaults: ["vts_security_avb_defaults"],test_config: "vts_security_avb_test.xml",test_suites: ["device-tests","vts",],data: [":q-gsi_avbpubkey",":r-gsi_avbpubkey",":s-gsi_avbpubkey",],
}cc_test {name: "VtsSecurityAvbTest",defaults: ["vts_security_avb_defaults"],
}vts_config {name: "VtsSecurityAvb",
}

我们看一下编译出来的VTS测试avb内容,进入android\out\host\linux-x86\vts\android-vts\testcases\vts_security_avb_test\arm


android/out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm$ tree
.
├── q-gsi.avbpubkey
├── r-gsi.avbpubkey
├── s-gsi.avbpubkey
└── vts_security_avb_test

vts_security_avb_test这个应该就是测试bin了,另外几个表示avb的公钥,看上面的配置,在测试时会被push到data/local/tmp/目录下。

再看一下编译出来的tools目录内容:


/android/out/host/linux-x86/vts/android-vts/tools$ tree
.
├── README
├── compatibility-common-util-tests.jar
├── compatibility-host-util-tests.jar
├── compatibility-host-util.jar
├── compatibility-tradefed-tests.jar
├── hosttestlib.jar
├── loganalysis.jar
├── tradefed-test-framework.jar
├── tradefed.jar
├── version.txt
├── vts-tradefed
├── vts-tradefed-tests.jar
└── vts-tradefed.jar0 directories, 13 files

其中vts-tradefed就是我们跑vts case前要执行的命令,这个会准备好运行的环境。

另外,编译出来的android-vts.zip.list清单中有详细的所有测试case

android/out/host/linux-x86/vts$ tree -L 1
.
├── android-vts
├── android-vts.zip
└── android-vts.zip.list

比如我这里是要测试avb,打开android-vts.zip.list文件后,和avb相关的测试case有如下配置。

out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm/q-gsi.avbpubkey
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm/r-gsi.avbpubkey
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm/s-gsi.avbpubkey
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm/vts_security_avb_test
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm64
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm64/q-gsi.avbpubkey
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm64/r-gsi.avbpubkey
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm64/s-gsi.avbpubkey
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm64/vts_security_avb_test
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/vts_security_avb_test.config

android编译VTS测试组件相关推荐

  1. android o vts测试项,安卓官方测试工具vts

    安卓官方测试工具vts 之前在审计android hal层源码时注意到存在很多test文件,但是又不能直接使用. 谷歌肯定通过某种方式将他们集成到一起,通过搜索得知为vts vts简介 vts是谷歌给 ...

  2. android o vts测试项,VTS测试说明

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? VTS包目录结构 解压包(如果设备是64位的就解压64位,32位就解压32位) unzip android-vts-46 ...

  3. Android O VTS测试方法

    一.简介 VTS 全称是 Vendor Test Suite,官方的简介如下: Project Treble aims to do what CTS did for apps, for the And ...

  4. Android系统的VTS测试套件介绍

    1. HAL硬件抽象层 下图是最新的Android系统架构: Android系统基于Linux系统内核,应用层使用Jave或Kotlin语言编写,底层控制设备的是Linux内核,Linux系统采用C语 ...

  5. Android 8.0 VTS 测试 FAIL 项解决记录

    本文是转自https://zhuanlan.zhihu.com/p/28426650 注意:本文基于 Android 8.0 进行分析. 1. 前言 这篇文章所记录的是我自己在 Amlogic 平台上 ...

  6. GMS认证-Android VTS测试

    GMS认证-Android VTS测试 Darkt 关注 2018.01.22 21:17* 字数 1021 阅读 649评论 6喜欢 4 1.VTS简介 VTS的全称是 Vendor Test Su ...

  7. android vts代码分析,android vts测试笔记

    记录了android vts测试中遇到的一些常见问题,记录如下: 一 vts可以单独跑一个case ,比如 run vts -m XX -t XXX 二 如果不想跑vts单独验证一个case的话,可以 ...

  8. Android 8.0 VTS 测试 FAIL 失败项解决记录

    Android 8.0 VTS 测试 FAIL 失败项解决记录 Qidi 2017.08.09 (Markdown & Haroopad) 注意:本文基于 Android 8.0 进行分析. ...

  9. android vts 环境搭建,Android P VTS/GSI 测试配置

    烧录google原生System.img: 1.在设置中的开发者模式中打开 OEM unlocking 选项 2.在设置中打开 USB debugging 选项 3.机器连接电脑上 ,执行命令:adb ...

最新文章

  1. divideSentence
  2. eclipse中开发python
  3. 推荐介绍一项新的工程技术:[威胁建模]的相关系列文章《威胁建模Web 应用程序》...
  4. 龙族幻想最新东京机器人位置_龙族幻想:东京·白月境活动介绍
  5. Ubuntu 里的Spyder不能切换中文输入
  6. 怎么通过name配置button_利器 | AppCrawler 自动遍历测试实践(二):定制化配置
  7. 云上快报 | 分布式架构引领核心系统架构转型新趋势
  8. python网络编程项目_python网络编程(1):客户端与网络编程简介
  9. 冠军奖10万日元+10公斤柠檬!一个简单的柠檬图像分级竞赛
  10. tensorflow2.1学习--熟悉TensorFlow写整个项目即鸢尾花项目
  11. python编程从入门到实战抛出异常_文件和异常——python从编程入门到实践
  12. 剑指 Offer 总结 - leetcode 剑指offer系列
  13. 显卡对决nbsp;NVIDIAnbsp;GTnbsp;555Mnbsp;VS…
  14. 计算机频繁重启如何解决,电脑总是自动重启怎么回事(电脑经常自动重启的解决办法)...
  15. 树莓派RaspBerryPi上使用3g模块
  16. 【网络通讯开发系列】如何使用C语言编程通过UDP通讯解析域名
  17. 中兴力维喜获“中国智慧城市创新应用金奖”
  18. ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file:
  19. 树莓派烧写OpenWrt系统后外接4G模块实现4G路由即MiFi
  20. android GoogleMap画导航线路图 路径规划

热门文章

  1. 我看中国软件---人才篇
  2. 购买MP3必备资料 各大芯片方案齐齐数
  3. 一个简单而又灵活的数据库操作类
  4. MFC对话框程序中添加工具栏及工具栏上的Button响应UPDATE_COMMAND_UI消息
  5. 作为一名程序员,我站在人生的十字路口
  6. 测视力距离5米还是3米_7岁男孩近视猛涨300度!眼科专家提醒:保护孩子视力这一点很关键...
  7. 这也能发Nature??年度奇葩论文大赏
  8. 分享清华大学鲁志教授实验室生物信息学教程
  9. c语言中 a6,C语言中的32个关键字
  10. 蓝桥杯大赛青少年创意编程 推荐考生阅读 相关书籍的相关视频(部分)