1.android.security.cts.PackageSignatureTest测试fail(MTK平台)

原因:由于用的是google default key而导致的fail,需要自己定义release key,不仅可以满足CTS request,还可以满足工信部CATR TAF spec。

方案:在编译器执行如下命令:

Genernate the release key

./development/tools/make_key releasekey '/C=CN/ST=BeiJing/L=HaiDian/O=MediaTek/OU=WCD/CN=demo/emailAddress=demo@mediatek.com',类似以此产生platform keys,media keys,shared keys,testkey.

然后把这些生成的密钥移动到device/mediatek/common/security/${Project}路径下,还有一点最重要的是要在ProjectConfig.mk中设置宏MTK_SIGNATURE_CUSTOMIZATION = yes,最后编译自动会生成二进制的apk签名,问题解决!

2.com.google.android.permission.gts.InitialRuntimePermissionStateTest#testAllSystemAppsUsingRuntimePermissionsTargetMncAndAboveSdk测试fail(MTK/Sprd都适用)

原因:这是由于一些apk的sdk版本过低导致的权限问题

方案:导出device.log,查找出是哪些apk,然后在对应apk下的AndroidManifest下修改下目标sdk,一般都修改为当前最新版的

3.Camera FOV Calibration测项failed(适用于MTK平台,展讯平台修改较复杂,后面会更新)

原因:Report FOV与Display FOV的值相差2度以上

方案:测试时把绿线和黑线对齐,这时查看Display FOV实测值是多少,记录下来。然后查看对应项目的cfg_setting_imgsensor.cpp文件,看看getSensorViewAngle中MainSensorHorFOV的值是多少?把MainSensorHorFOV的值改成刚才记录的实际结果就OK了,如果是前摄有误差,同理修改下SubSensorHorFOV 的值为实测值。

4.android.os.cts.BuildVersionTest#testBuildFingerprint测试fail

原因:fingerprint信息匹配不一致

方案:fingerprint是设备的唯一标识,由设备的多个信息拼接合成。我自己的修改习惯通常就是在build/core/Makefile文件里重新定义BUILD_FINGERPRINT,比如: BUILD_FINGERPRINT := $(FINGER_PRINT_BRAND)/$(FINGER_PRINT_NAME)/$(FINGER_PRINT_DEVICE):$(PLATFORM_VERSION)/$(BUILD_ID)/$(FINGER_PRINT_TIME):$(TARGET_BUILD_VARIANT)/$(FINGER_PRINT_BUILD_VERSION_TAGS)

然后在build/core/version_default.mk文件中添加自己对应的部分

FINGER_PRINT_BRAND:= 
FINGER_PRINT_NAME:= 
FINGER_PRINT_DEVICE:= 
FINGER_PRINT_BUILD_VERSION_TAGS:= release-keys(这个必须是release-keys,不然会有其它fail项,具体的我忘记了,后续会补充)
FINGER_PRINT_TIME :=$(shell date +%H%M%S)

brand,name,device在对应的buildinfo文件都是有的,厂商名,设备名等,这时就能保证信息匹配,fingerprint会在out目录下的build.prop文件中生成。

抽空先写这么多,我会定期更新,常见的fail项还有很多,解决CTS fail项一是靠积累经验,二是要分析log,研究一下google测试源码,循序渐进慢慢就能掌握,转载请注明出处,谢谢!

CTS/GTS 常见问题解答的更多相关文章

  1. MySQL同步常见问题解答(自己的小心得)

    前几天刚刚注册了博客园,我想写一些技巧性的教程,今天给大家分享一个MySQL同步常见问题解答. Q:如果主服务器正在运行并且不想停止主服务器,怎样配置一个从服务器? A:有多种方法.如果你在某时间点做 ...

  2. Delphi XE5 常见问题解答

    Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易 ...

  3. SSL/TLS 高强度加密: 常见问题解答

    关于这个模块 mod_ssl 简史 mod_ssl会受到Wassenaar Arrangement(瓦森纳协议)的影响吗? mod_ssl 简史 mod_ssl v1 最早在1998年4月由Ralf ...

  4. [!!!!!]Inno Setup教程-常见问题解答

    [转]Inno Setup教程-常见问题解答 功能 * 翻译 Inno Setup 文字  * 它支持 MBCS (多字节字符集) 吗?  * 将来会支持 Windows Installer 吗?   ...

  5. 英特尔® 实感™ SDK 前置摄像头 (F200) 常见问题解答

    原文地址 https://software.intel.com/zh-cn/articles/intel-realsense-sdk-faq-for-front-facing-camera-f200? ...

  6. 我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

    Igor Pagliai(微软)   2014 年 9月 28日上午 5:57  年 11 月 3 年欧洲 TechEd 大会新宣布的内容). 重要提示:这篇文章中我提供的信息具有时间敏感性,因为这些 ...

  7. 关于CopyU!的常见问题解答

    拷优(CopyU!)常见问题解答 本常见问题解答列举了一些常见的疑问及其解释,如果您对CopyU!有任何问题,请您首先查看本解答! 本解答将会保持随时更新! 一.使用篇:     1.问:我的杀毒软件 ...

  8. genymotion常见问题解答

    [转]常见问题解答 很多人喜欢使用Genymotion这款安卓模拟器,但是虽然Genymotion很好用,可是却有各种问题存在哦,下面潇潇就一些常见的Genymotion问题来说下解决方法吧. 为什么 ...

  9. Linux的常见问题解答和管理技巧

    Linux的常见问题解答和管理技巧 一. 如何建立多用户 提醒大家一句,别一直使用root用户,因为root用户在系统中有着至高无上的权力,一不小心就可能破坏系统.比如我们想删除/temp目录下的文件 ...

随机推荐

  1. ops-web运维平台-create.jsp-mootools下拉框-复选框

    create.jsp页面的,body部分 <body onload="Page.init('${pageError}','${pageMessage}',${isSubmit},tru ...

  2. const在c和c++中的不同

    最近开始由学习c转到c++:从面向过程到面向对象的转变中,总是以面向过程的思路思考,发现有很多的不同,今天就稍微发表一下我的见解,如果那里出错,希望大神可以帮忙指出来. 首先是const : 在C语法 ...

  3. 微软云linux服务器FTP文件传输错误解决办法

    在微软云上新建了linux虚拟机之后,通过Xshell连接到服务器(微软云默认的账号是:azureuser,不是root),却发现通过FTP传输文件错误,一直找不到头绪,询问微软云相关人员才知道.FT ...

  4. xml解析案例

    步骤:Channel是java bean类 public static List<Channel> parsexml(InputStream inputStream) {//注意服务器种是 ...

  5. linux环境下根据文件的某一列进行去重

    momo@ubuntu:~/user/txt$ cat test.txt1 chen nihao2 chen hello3 li nimenhao4 he dajiahao5 li nimenhaom ...

  6. Delphi中paramstr的用法

    原型                function   paramstr(i:index):string        对于任何application paramstr(0)都默认代表的是应用程序的 ...

  7. Hadoop安全(1)——————美团Hadoop安全实践

    http://tech.meituan.com/hadoop-security-practice.html 前言 在2014年初,我们将线上使用的 Hadoop 1.0 集群切换到 Hadoop 2. ...

  8. JQ判断浏览器以及版本

    JQuery 使用jQuery.browser 来判断浏览器,返回值可以为: safari(safari) opera(Opera) msie(IE) mozilla(Firefox). if($.b ...

  9. ERROR! MySQL server PID file could not be found!的解决方法

    启动MySQL服务 [root@test vhosts]# /etc/init.d/mysqld restart 提示错误: ERROR! MySQL server PID file could no ...

  10. 使用siege对web接口进行post方式的压力测试

    为了达到压力测试的效果,需要申请一台线上机器,并且安装压力测试的工具siege. 安装新版siege.资料说yum安装的版本2.70对于post方式支持的不好,验证后发现请求可以正常发过去,但是打开d ...