点击打开链接

第一个android_N项目的CTS修改总结

1: 对于wifi only版本可能发现的问题:

android.telephony.cts.TelephonyManagerTest#testGetPhoneCount

junit.framework.AssertionFailedError: Phone count should be 0

需要在项目配置文件中修改:

replace file:vendor/qcom/proprietary/qrdplus/Extension/config/default.prop

persist.radio.multisim.config=dsds (双卡单通)

persist.radio.multisim.config=dsda (双卡双通)

persist.radio.multisim.config=tsts (三卡单通)

修改为: persist.radio.multisim.config=ssss(不支持多卡,可能为单卡或无卡)

*修改值只要不是dsds、dsda、tsts,即可。

getPhoneCount相关其它修改

1)  com.android.internal.R.bool.config_voice_capable = false (是否支持语音)

2)  com.android.internal.R.bool.config_sms_capable = false (是否支持短彩信)

3)  wifi only prop属性:ro.radio.noril=true (wifi only 决定是否加入默认mobile network 类型)

4)  手动修改默认network类型:com.android.internal.R.array.networkAttributes

以上1到3配置影响到getPhoneCount的数量:

1)       2) 设为false,3) 设为true,即PhoneCount 为0;否则为1

2:  android.cts.security.SELinuxNeverallowRulesTest#testNeverallowRules119

linux权限问题,此问题一般是修改了原生的linux默认权限导致,需要驱动配合修改。例如:The following errors were encountered when validating the SELinuxnever allow rule:

never allow {   domain       -init   -uncrypt   -update_engine   -vold   -recovery   -ueventd } misc_block_device:blk_file { append link relabelfrom rename write open read ioctl lock };

misc_block_device 默认权限修改导致,需要将修改的此项回退或去除。

相关文件目录:

system/sepolicy/xxxx.te

device/qcom/sepolicy/common/file_contexts

device/qcom/sepolicy/common/qcomsysd.te

3: android.app.cts.SystemFeaturesTest#testCameraFeatures

PackageManager#hasSystemFeature should return true for android.hardware.camera.level.full

当开启HAL3时,需要添加这个feature项。

可以replace_files/frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml

添加:<feature name=”android.hardware.camera.level.full” />

当关闭HAL3时,需要去除这个feature项。

HAL3的开关和camera调试效果有关:persist.camera.HAL3.enabled=1

*HAL3开启时,CTS Verifier 需要测试CameraITS项,此项较难测过。一般做关闭HAL3处理修改。

4: android.opengl.cts.OpenGlEsVersionTest#testExtensionPack

System feature FEATURE_OPENGLES_EXTENSION_PACK is not available, but extension GL_ANDROID_extension_pack_es31a is in the OpenGL ES extension list.

尝试修改将frameworks/native/opengl/tools/glgen2/registry/gl.xml中,GL_ANDROID_extension_pack_es31a注释掉,修改失败。

因此,需要在OpenGL 3.1中,将FEATURE_OPENGLES_EXTENSION_PACK打开。方法如下:

replace_files/device/qcom/msm8953_32/msm8953_32.mk

PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml

5:  android.security.cts.KernelSettingsTest#testNoConfigGz

/proc/config.gz is readable.  Please recompile your kernel with CONFIG_IKCONFIG_PROC disabled

此项很简单,只要把CONFIG_IKCONFIG_PROC关掉就行了:

kernel/msm-3.18/arch/arm/arm64/configs/msmcortex_p3590_pcb-perf_defconfig

kernel/msm-3.18/arch/arm/arm64/configs/msmcortex_p3590_pcb_defconfig

# CONFIG_IKCONFIG_PROC=y

6: android.app.cts.SystemFeaturesTest#testSensorFeatures

PackageManager#hasSystemFeature(android.hardware.sensor.barometer) returns true but SensorManager#getSensorList(6) shows sensors [] expected: true but was: false

这类SensorFeatures,就是检查sensor的设备是否与feature匹配。如果有这些feature但是没有Sensor设备,将会报错。此类问题修改如下:

replace_files/device/qcom/msm8953_32/msm8953_32.mk(64位也如此)

1)      去除:PRODUCT_COPY_FILES += \ …

# frameworks/native/data/etc/android.hardware.sensor.barometer.xml : system/etc/permissions/android.hardware.sensor.barometer.xml

2)      注释掉:

replace_files/frameworks/native/data/etc/android.hardware.sensor.barometer.xml

当中feature (驱动说这个也要注释掉)

3)      如果frameworks/native/data/etc/tablet_core_hardware.xml中存在该feature,也要注释掉。例如compass

7:  android.media.cts.RingtoneManagerTest: Must have at least one ring tone available

至少默认要添加一个铃声文件:

LCTPreConfig_lxf_p3590_b01.mk

添加默认铃声:

PRODUCT_PROPERTY_OVERRIDES += \

ro.config.ringtone=Fantastic_Clang.ogg

添加铃声路径:

PRODUCT_COPY_FILES += \

frameworks/base/data/sounds/ringtones/Fantastic_Clang.ogg:system/media/audio/ringtones/Fantastic_Clang.ogg

8. android.icu.dev.test.collator.CollationAPITest#TestGetLocale

Error: (CollationAPITest.java:1023) [Coll sr_RS]: Error in valid locale, expected sr_Cyrl_RS, got sr_Latn_RS

Error: (CollationAPITest.java:1028) [Coll sr_RS]: Error in actual locale, expected sr, got sr_Latn

默认塞尔维亚语的字库不是预期sr_Cyrl_RS.

这类原因一般都是后期修改了字库导致。相关目录:

external/icu/icu4c/source/stubdata/icudt56l.dat

external/icu/icu4c/source/data/xxx/sr_RS.txt

需要回退的xxx目录的该文件有:lang、locales、region这三个目录的txt文件和icudt56l.dat

9.  android.permission.cts.DebuggableTest:

Packages marked debuggable: [com.goodix.rawdata, com.goodix.fingerprinttest]

AndroidManifest.xml中的 android:debuggable要置为false, 或者去掉那些android.debuggable置为true的apk.

10.  android.media.cts.VideoDecoderPerfTest

testHevcOtherperf1920x1080、testHevcOtherperf3840x2160

Expected achievable frame rates for OMX.qcom.video.decoder.hevc video/hevc 1920x1080: [50.0, 60.0].

Measured frame rate: [179.64555326793428, 178.97307661756975].

修改相关配置文件,将帧率的范围扩大,例如:

device/qcom/msm8953_32/media/media_codecs_performace_8953.xml

<MediaCodec name=”OMX.qcom.video.decoder.hevc” type=”video/hevc” update=”true”>

<Limit name=”measured-frame-rate-1920x1088” range=”50-300”><!--最大值超过180-->

<!-- <Limit name=”measured-frame-rate-1920x1088” range=”50-60”> -->

</MediaCodec>

11.  android.backup.cts.BackupQuotaTest

LocalTransport should be available.

1)      需要添加LocalTransport功能。

customer_lxf_p3590_b01.cfg:

packages= …

LocalBackupTransport

2)      添加白名单:zprojects/longcheer-binary/system/etc/sysconfig/backup.xml

<?xml version=”1.0” encoding=”utf-8”>

<config>

<backup-transport-whitelisted-service

service=”android/com.android.internal.backup.LocalTransportService” />

</config>

3)      添加package:zprojects/longcheer-binary/packages.xml

<package name=”LocalBackupTransport”>

<file dst=”system/etc/sysconfig/backup.xml” src=”system/etc/sysconfig/backup.xml”/>

</package>

最后关于一些CTS异常测试项:

1、相关KeyEvent

android.app.cts.DialogTest#testOnKeyDownKeyUp

android.app.cts.InstrumentationTest#testSendKeySync

android.view.cts.ContentPaneFocusTest#testAccessActionBar

android.webkit.cts.WebViewTest#testGetHitTestResult

android.widget.cts.DialerFilterTest#testOnKeyUpDown

测试异常由于输入法没有响应,需要对第三方预置默认输入法手动授权或者禁用并使用Android 键盘输入法。

2、CtsLibcoreTestCases:

libcore.java.text.SimpleDateFormatTest#testNonDstZoneWithDstTimestampForNonHourDstZone

java.text.ParseException: Unparseable date: "2011-06-21T20:00 Lord Howe Daylight Time"

需要联网后,重新进入时区列表,选择Pacific Daylight Time,重启机器再测试。

3、部分蓝牙扫描超时,可以点击设置->蓝牙进入列表界面,即可pass

4、部分wifi无法连接超时,可以点击设置->wifi进入列表,即可pass

5、部分测试项需要断网并关闭蓝牙才可以pass:

android.appsecurity.cts.DirectBootHostTest#testDirectBootEmulated

android.media.cts.VideoDecoderPerfTest#testAvcGoog0Perf0320x0240(帧率达不到)

android.media.cts.VideoDecoderPerfTest#testAvcGoog0Perf0720x0480(帧率达不到)

6、android.appsecurity.cts.AdoptableHostTest#testPrimaryStorage

测试需要插入SD卡并设置为内部存储。测试过程10分钟,测试完成会读不到SD卡,所以需要重启后,其它需要SD卡的测试项才能测试过(armeabi-v7a 和 arm64-v8a,连续测试这一项,会有1项不过)

android_N项目(高通平台 CTS修改总结相关推荐

  1. 高通平台msm8916修改开机logo【原创】

    经过两天的奋战终于把开机logo给搞定了啊. 首先修改开机logo要从哪里入手呢?先分析一下源码看看. ---> 1 void display_image_on_screen() 2 { 3 s ...

  2. 高通平台lk阶段logo修改

    高通平台lk阶段logo修改: 1.通过logo图片得到要显示的数组: 运行"ffmpeg -i logo.png -f rawvideo -pix_fmt bgr24 logo.raw&q ...

  3. 高通平台android7.1系统显示旋转180度

    实现方法 内核层修改 kernel\msm-3.18\arch\arm\boot\dts\qcom\dsi-panel-lm215w-lvds-1080p-video.dtsi增加qcom,mdss- ...

  4. 高通平台sensor学习

    刚入行驱动时最先接触调试的外设模块便是sensor,一直都是零零散散的记录,这次终于下定决心对自己所学做一个系统的总结. sensor作为一款常用的外设,虽不起眼但是很多功能确实离不开它.比如我们手机 ...

  5. 高通平台RF配置流程

    高通平台RF配置流程 **注:**本文参考项目路径和代码为SIM7600 LE20分支 1 准备工作 需要的资料: 各个器件的datasheet 原理图 逻辑表(内容包含支持哪些制式.band,各个b ...

  6. 高通平台android开发总结 MSM平台上的AMSS

    http://blog.csdn.net/mirkerson/article/details/7691029 MSM平台上的AMSS REX启动分析--基于Qualcomm平台 1.高通平台andro ...

  7. 高通平台 lcd driver 调试小结

    一.概述 1.1 简介 本文档主要包括LCD模块的驱动流程分析.Framebuffer相关知识.Gralloc等相关内容,以及LCD调试的一些经验和相关bug的分析和讲解. 1.2  开发环境 And ...

  8. 高通平台8953 Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇)

    本系列导航: 高通平台8953  Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇) 高通平台8953 Linux DTS(Device Tree Source ...

  9. 高通平台android开发总结

    http://www.cnblogs.com/yuzaipiaofei/archive/2012/07/24/4124179.html 1.高通平台android开发总结 1.1 搭建高通平台环境开发 ...

最新文章

  1. c语言malloc函数用法_C语言内存模型!小本本记起来啊!
  2. routeros v6.43.2_routeros软路由负载均衡,充分利用带宽,提高效率降低成本
  3. linux进程--进程调度算法(十三)
  4. 知乎嵌入式大杂烩:学习STM32的一点经验分享
  5. java导出excel_如何导出你和女票的微信聊天记录
  6. 8 分钟了解 Kubernetes
  7. Polycarp's New Job
  8. Java集合(二):List列表
  9. linux环境下安装多个任意版本的python环境
  10. LeetCode633 | Sum of Square Numbers (Easy)
  11. ADBAppium常见问题梳理
  12. OD使用教程23 - 调试篇23
  13. 在vs2005中遇到的调试问题以及解决办法
  14. python程序填空快乐的数字_Python习题之快乐的数字
  15. 微型计算机数码管显示实验,微机原理实验八段数码管显示.doc
  16. Json字符串的标准写法
  17. Newt Scamander的恐惧
  18. LintCode_新手必编程50题(1-3阶段)解答与分析
  19. Failed to initialize Data Warehouse host process
  20. Kinect for Unity3d----KinectManager

热门文章

  1. mysql php commit_php mysqli_autocommit()使用实例
  2. 联想 重装系统后F5 F6键无法使用
  3. java中的线程安全是什么?
  4. 020_Transfer穿梭框
  5. linux 安装go编译器,CentOS 7 安装 go 语言开发环境
  6. JavaWeb:JSP
  7. Dell R240 1U机架式服务器 资料
  8. html输入邮箱的文本框,自动生成邮箱号并填入input输入框的实现方法
  9. 现代操作系统: 第八章 多处理机系统
  10. linux 生成字母序列,Python序列之字符串