Android S GTS 常见的 fail 项

2023-05-16

此文章只是一篇总结,针对 MTK 平台近期的 GTS 做个简单的整理回顾,后期不断扩展

GTS

GtsJniUncompressHostTestCases
com.google.android.gts.jniuncompress.GtsJniUncompressHostTest#testJniLibsUncompressed

java.lang.RuntimeException: [GMS-13.3.5-001] For PRODUCTs that launch with or upgrade to Android11 or higher, if a preloaded APK file targets API level 30 or higher, it MUST be signed and verifiable with the APK Signature scheme v2 or higher. Any native libraries embedded in it MUST be uncompressed and page aligned before signing.
[com.xxx.xxx] V2+ verification failure [/system/priv-app/xxx/xxxx.apk]. targetSdkVer: 30
at org.junit.Assert.fail(Assert.java:89)

原因是预制的应用签名存在问题,一般是需要此应用的开发人员进行修改

==================================================================================

GtsSettingsTestCases
com.google.android.settings.gts.MADAComplianceTest#testMADACompliance

java.lang.RuntimeException: Test failed for cases: [1, 2]
Reasons include:
Message [1]: Android 5.0 and newer GMS Devices MUST expose the Android security patch level in the Settings UI. It MUST be displayed below the Android version item in the ‘About …’ section. The displayed text MUST match the value of the system property ro.build.version.security_patch, which MUST be in the format ‘YYYY-MM-DD’ according to the CDD section 3.2.2. Build Parameters.Please see the following for details: https://support.google.com/androidpartners_gms/answer/7351400?hl=en&ref_topic=9252245
Stack Trace: java.lang.RuntimeException: Android 5.0 and newer GMS Devices MUST expose the Android security patch level in the Settings UI. It MUST be displayed below the Android version item in the ‘About …’ section. The displayed text MUST match the value of the system property ro.build.version.security_patch, which MUST be in the format ‘YYYY-MM-DD’ according to the CDD section 3.2.2. Build Parameters.Please see the following for details: https://support.google.com/androidpartners_gms/answer/7351400?hl=en&ref_topic=9252245

这项是检查Settings的界面布局是否符合规范,一般不要大改原生界面的UI。现象是会有个popwindow弹出。
Google feedback
Bug id :234420715
If manually click to make the popwindow disappear, this test case PASS, it can be considered as PASS? Is it the normal operate?
Google reply=>YES, Google just check the finial IR result, the report show pass is pass.

==================================================================================

GtsPermissionTestCases
com.google.android.permission.gts.ManageDocumentsPermissionTest#manageDocuments_theOnlyOneHolder_isDocumentsUi

FAILURE: expected to be at most: 1 but was : 2 at com.google.android.permission.gts.ManageDocumentsPermissionTest.manageDocuments_theOnlyOneHolder_isDocumentsUi(ManageDocumentsPermissionTest.java:83)

MTK 的联系人权限问题
uses-permission android:name="android.permission.MANAGE_DOCUMENTS

==================================================================================

GtsNmgiarcTestCases
com.google.android.comms.RcsCompliantTests#testClient

java.lang.RuntimeException: UP compatible message client is not preloaded
at org.junit.Assert.fail(Assert.java:89)
at com.android.compatibility.common.util.BusinessLogicTestCase.failTest(BusinessLogicTestCase.java:126)
at java.lang.reflect.Method.invoke(Native Method)

删除google message 应用导致的

==================================================================================

GtsLocationTestCases
com.google.android.location.gts.gnss.GnssPseudorangeVerificationTest#testPseudoPosition

1、junit.framework.AssertionFailedError: Latitude & Longitude calculated from pseudoranges should be close to those reported from Location Manager. Offset = 130.8671417236328 meters. Threshold = 124.73928375151829 meters
2、fail junit.framework.AssertionFailedError: Calculated Location Count should be greater than 0.

需要在GPS 信号好的地方或者装有GPS 放大器的地方进行测试。

==================================================================================

GtsUnofficialApisUsageTestCases
com.android.gts.api.UnofficialApisUsageTest#testNonApiReferencesInProduct

junit.framework.AssertionFailedError: There are 151 violation(s)
com.google.android.apps.wallpaper /
Landroid/app/Activity;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V
/ BLOCKED / LINKING com.google.android.apps.wallpaper /
Landroid/app/Activity;->unregisterRemoteAnimations()V / BLOCKED /LINKING

Google wallpaper需要预置到system_ext下面

==================================================================================

GtsNmgiarcTestCases
com.google.android.comms.RcsCompliantTests#testClient

Devices shipping ASI must have at least 4gb of RAM
expected to be at least: 3000000000
but was : 2963214336
at com.google.android.features.gts.GoogleFeaturesTestBase.checkAiaiFeature(GoogleFeaturesTestBase.java:580)

Androi 13是强制要求,一般手机都可以pass的,对于低于 4GB RAM 的设备,还是要去掉 ASI 功能的。
删除ASI,Google 在Android T 上有要求,android s 不做要求,删除 gms.mk 中下面内容即可,如果有 EEA  版本,那么 eea_common.mk 也需要删除相关的
1、etc/sysconfig/google.xml  或者 etc/sysconfig/asi_features.xml 中删除  <feature name="com.google.android.feature.ASI" />
2、gms.mk 和 eea_common.mk  删除 AndroidSystemIntelligence_Features
3、gms.mk 和 eea_common.mk 中删除 PRODUCT_PACKAGES += GmsConfigOverlayASI
Note:如果不删除PRODUCT_PACKAGES += GmsConfigOverlayASI,则会报 
GtsIntelligenceTestCases com.google.android.gts.intelligence.IntelligenceRolesTest#testIntelligenceRolesAllowed	
fail log:
java.lang.RuntimeException: expected to be empty
but was: [Package [com.google.android.as] is configured for role [android.app.role.SYSTEM_NOTIFICATION_INTELLIGENCE] but it is not installed., Package [com.google.android.as] is configured for role [android.app.role.SYSTEM_UI_INTELLIGENCE] but it is not installed., Package [com.google.android.as] is configured for role [android.app.role.SYSTEM_TEXT_INTELLIGENCE] but it is not installed., Package [com.google.android.as] is configured for role [android.app.role.SYSTEM_AUDIO_INTELLIGENCE] but it is not installed., Package [com.google.android.as] is configured for role [android.app.role.SYSTEM_VISUAL_INTELLIGENCE] but it is not installed.]

==================================================================================

GtsBackupHostTestCases
com.google.android.gts.backup.WallpaperRestoreHostSideTest#testRestoreDifferentImageToEach

com.google.android.gts.backup.testscontainerapp.WallpaperRestoreTest#assertSystemIsRedAndLockIsGreen:java.lang.NullPointerException: Attempt to invoke virtual method ‘java.io.FileDescriptor android.os.ParcelFileDescriptor.getFileDescriptor()’ on a null object reference

确保手机有默认的壁纸资源与锁屏资源

==================================================================================

GtsPermissionTestCases
com.google.android.permission.gts.PreloadAppsTargetSdkVersionTest#testPreloadedAppsTargetSdkVersion

java.lang.RuntimeException: All apps preloaded on DEVICEs launching with Android 12 or 12L MUST target API level 29 or higher.
All apps preloaded on DEVICEs launching with Android 13 MUST target API level 31 or higher.
com.admtek.diag must target 29 or higher, but targets 28

修改清单文件的sdk

==================================================================================

GtsPermissionTestCases
com.google.android.permission.gts.DefaultPermissionGrantPolicyTest#testDefaultGrantsWithRemoteExceptions
com.google.android.permission.gts.DefaultPermissionGrantPolicyTest#testPreGrantsWithRemoteExceptions

packageName: com.xxx.xxxxxx{
priv app: true
targetSDK: 29
uid: 1000
persistent: true
on system image: true
has platform signature: true
message: cannot be granted by default to package {
permission: android.permission.XXX
permission: android.permission.XXXX
}
}

原因权限不能默认授予,一般都是三方应用或者客户应用。

==================================================================================

GtsYouTubeTestCases
com.google.android.youtube.gts.DecodePerformanceTest#testVideoDecodePerformance[126]
com.google.android.youtube.gts.DecodePerformanceTest#testVideoDecodePerformance[127]

junit.framework.AssertionFailedError: The measured frame rate of decoding H264 480x1440 video is 22.90 fps.Test requires at least 30 fps

You can get a waiver
Bug id :201360040

==================================================================================

GtsLocationTestCases
com.google.android.location.gts.gnss.GnssPseudorangeVerificationTest#testPseudoPosition
fail junit.framework.AssertionFailedError: Calculated Location Count should be greater than 0.

Google issue·
上传报告,google自动豁免

==================================================================================
下面三个问题均是在10_R2工具上测试出来的,这三个问题只有在 Android Go 上会出现。由于在 10_R2 工具上 Google 对 Go 版本进行了一些判断,导致测试 fail,请使用最新的 preview build tool (9377101) 进行测试

1、GtsModuleMetadataTestCases
com.google.android.modulemetadata.gts.ModuleMetadataTests#testGetInstalledModules

java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:87)
at org.junit.Assert.assertTrue(Assert.java:42)
at org.junit.Assert.assertTrue(Assert.java:53)
at com.google.android.modulemetadata.gts.ModuleMetadataTests.testGetInstalledModules(ModuleMetadataTests.java:84)

2、GtsOsTestCases
com.google.android.os.gts.MainlineConfigurationTest#testMainlineModuleProviderOverlay

org.junit.ComparisonFailure: Invalid config_defaultModuleMetadataProvider: com.google.android.modulemetadata expected: com.google.mainline.go.primary expected:<com.google.[android.modulemetadata]> but was:<com.google.[mainline.go.primary]>
at org.junit.Assert.assertEquals(Assert.java:117)
at com.google.android.os.gts.MainlineConfigurationTest.testMainlineModuleProviderOverlay(MainlineConfigurationTest.java:120)

3、GtsOsTestCases
com.google.android.os.gts.MainlineConfigurationTest#testMainlineApprovedTrain

java.lang.AssertionError: Module(s) not approved for preloading found.: com.google.android.modulemetadata: 311729004, com.google.android.ext.services: 311713010, com.google.android.permissioncontroller: 311714010, Try factory reset or preload Mainline modules approved for preloading only.
at org.junit.Assert.fail(Assert.java:89)
at org.junit.Assert.assertTrue(Assert.java:42)
at com.google.android.os.gts.MainlineConfigurationTest.testMainlineApprovedTrain(MainlineConfigurationTest.java:231)

==================================================================================

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android S GTS 常见的 fail 项 的相关文章

  • 我无法再在后台应用程序中接收任何 FCM 消息

    当应用程序处于后台时 我无法再在应用程序中接收任何数据消息 请注意 直到最近它在我的应用程序中都运行良好 也许在我的开发环境最近更新后它停止工作了 我不能说 所以我尝试用快速入门 android 项目 https github com fi
  • 如何在 Android 应用程序中隐藏 Flutterwave API 密钥

    我正在构建一个 Android 应用程序 目前正在将 Flutterwave 集成到我的应用程序中以进行支付 建议我永远不要将 Flutterwave API 密钥放在我的应用程序上 那么我该如何隐藏这些键呢 我正在使用 Retrofit
  • Android 中使用黑白 alpha 蒙版的高效位图蒙版

    我想用黑白 alpha 蒙版来掩盖位图 我的蒙版图像是黑白的 黑色区域意味着透明 白色区域意味着不透明 我需要的是 当我使用此蒙版图像来蒙版任何其他图像时 如果蒙版图像的相应区域为黑色 则生成的图像区域应为透明 否则 生成的图像区域应该是不
  • 蓝牙 BLE Android 以最大吞吐量写入外设

    我们公司开发了一个具有蓝牙 BLE 的硬件单元 并且我们在 Nexus 7 2013 中有一个服务应用程序 我们希望使用它向该单元发送固件文件 文件最大可达 500kb BT芯片是德州仪器CC2540 我浏览了大量的页面 并扫描了 Stac
  • Play 商店中的应用描述更新

    我想更新应用程序的描述以及 Play 商店上的屏幕截图 但应用程序保持相同 即相同的版本号 我不想发布新应用程序 因为应用程序中没有任何更改 这可能吗 谷歌也会要求更新应用程序吗 您可以更新描述 也可以更改屏幕截图 您的应用程序将保持不变
  • 如何使用 Google 的 GithubBrowserSample 方法在片段之间共享视图模型?

    我对 Android 架构组件的使用非常陌生 因此我决定使用 GithubBrowserSample 来构建我的应用程序来实现我的许多用例 但我有一个问题 我不知道使用这种方法在片段之间共享视图模型的正确方法是什么 我想共享视图模型 因为我
  • Android L,使用 joda.time 库的异常

    该应用程序适用于所有设备 包括 nexus 5 和 nexus 7 在 Android L 预览版上运行相同的应用程序时 应用程序崩溃了 我一直在调试 并且调用 DateTime 构造函数发现了异常 public static String
  • 在光标所在行强制关闭!

    嘿 我正在尝试创建一个应用程序来查找存储在 SQlite 数据库中的 GPS 数据 但我面临一个问题 我构建了一个 DbAdapter 类来创建数据库 现在我尝试使用以下函数从另一个类获取所有数据上的光标 public Cursor fet
  • 如何在android中的谷歌地图上聚焦标记

    我只是想知道我们是否可以关注 Android 应用程序中添加的标记 如果是 怎么办 或者有没有其他方法可以完成这项任务 可以说我使用下面的代码添加了一个标记 map addMarker new MarkerOptions title tit
  • 如何在同一设备上运行的 Android 应用程序之间传输文件?

    我正在编写一个与 RESTful 服务交互的 Android 应用程序 该 Web 服务本质上是一个文件系统 并提供元数据以及对文件的 CRUD 访问 我的应用程序检索元数据 并通过ContentProvider 我需要添加与我的应用程序在
  • 双屏 Android Studio 中不显示自动补全

    我刚刚从 Eclipse 切换到 Android Studio IntelliJ 我不明白自动补全是如何工作的 我尝试了 Control Space Control Shift Space 但没有相关建议 不在 Java 文件中 也不在布局
  • 使用 Proguard 通过 Dropbox.com 库混淆 Android 应用程序

    我刚刚创建了一个需要 Dropbox com API 库的 Android 应用程序 我现在尝试在 发布 模式下构建应用程序 并希望在代码上运行混淆器以对其进行混淆 但是 每当我尝试运行 Proguard 时 都会收到以下错误 Progua
  • Android 的 Intent 和 Parcelable 对象

    为什么我需要打包我的对象 即使我只需将其发送到同一任务的另一个线程 实际上 我需要打开一个甚至可以在同一线程 主线程 上运行的活动 换句话说 为什么 Google 不提供一个 startActivity 版本 它采用通用对象广告参数而不是捆
  • Expresso 的 Android 测试首选项片段

    我在通过 Expresso 测试我的代码时遇到问题 我写了这段代码 public class SettingsActivity extends Activity Override protected void onCreate Bundle
  • Android 中 Activity 之间的 3D 动画

    How to create animation between two Activity look like As Screen shot in android 搜索jazzyviewpager 这是link https github co
  • Android计算两个日期之间的天数

    我编写了以下代码来查找两个日期之间的天数 startDateValue new Date startDate endDateValue new Date endDate long diff endDateValue getTime star
  • onPrepareOptionsMenu 复制 ActionBar 中的项目

    当我使用 onPrepareOptionsMenu 添加菜单项时 该菜单项会在操作栏中复制其自身 我正在使用片段并在主要活动的 ActionBar 中创建初始菜单 如下所示 Override public boolean onCreateO
  • Android:透明活动问题

    最近 在我们的一款生产应用程序上 透明活动已停止工作 我的意思是它变成了黑色背景而不是透明背景 当我将活动的背景颜色设置为纯色 即红色 绿色等 时 它的应用不会出现问题 该问题可能是由于迁移到 AndroidX 引起的 但我没有这方面的证据
  • 如何从DataSource.Factory获取数据

    我必须调用此方法才能获取所有人员 我根本无法修改这个方法 Query SELECT FROM PERSON TABLE ORDER BY NAME DESC abstract fun getElements DataSource Facto
  • 我想测量 ListView 的高度 (getHight() = 0)

    我无法自己决定任务将是问 我想测量 ListView 的高度 无法捕捉渲染 ListView 的时刻 rssListView getHight 0 public class RSSactivity extends Activity publ

随机推荐

  • 一招解决微博视频不能下载的问题

    首先复制所需要的下载的微博视频链接 xff0c 在浏览器中打开 xff08 我所用的浏览器是IE浏览器 xff09 xff0c 然后按下F12打开源码 xff0c 步骤如下图所示 xff1a 1 点击Network 再点击Media 2 刷
  • 快速从B站下载视频到本地(无需安装软件)

    1 复制以下链接Hotbox https www hotbox fun 进入此页面 xff0c 注意 xff1a 第一次进入需注册账号 2 然后复制你想要解析的b站视频链接 xff0c 粘贴到图片中的输入框 3 完成以上步骤后可进入以下界面
  • stm32c8t6+dht11+MQ系列环境检测模块+oled显示屏(基于物联网的家庭环境检测系统设计)

    元件清单 xff1a stm32f103c8t6 mq2 检测烟雾浓度 xff08 模拟量输出 xff09 mq7 检测一氧化碳浓度 mq135 检测空气质量 OLED屏幕 xff08 四引脚仅支持iic协议通信 xff09 dht11检测
  • 本地图片转为网络链接(URL/HTML/Markdown/BBCode...)

    你还在为将图片变为链接而烦恼吗 xff1f 不要慌 xff0c 看这里https www superbed cn signup from id 61 27240 聚合图床你值得拥有 xff01 没有广告 xff0c 没有收费机制 xff01
  • 基于RS485通信的Modbus通信协议

    通信可以分为两个方面 xff1a 硬件层 xff1a RS485解决的是数据传输问题 xff0c 也就是说如何将一个 0 或 1 传输到另外一端 xff08 保证了数据可以转移到另一端 xff09 软件层 xff1a modbus是在硬件基
  • Mysql入门——初识数据库

    初识数据库 DBMS的种类 DBMS 主要通过数据的保存格式 xff08 数据库的种类 xff09 来进行分类 xff0c 现阶段主要有以下 5 种类型 层次数据库 xff08 Hierarchical Database xff0c HDB
  • 【HTTP协议】---HTTP协议详解

    HTTP协议详解 一 HTTP简介 1 HTTP协议 xff0c 即超文本传输协议 Hypertext transfer protocol 是一种详细规定了浏览器和万维网 WWW 61 World Wide Web 服务器 之间互相通信的规
  • Windows将多个TXT文档合并

    1 终端进入多个文档目录 type txt gt gt D hebing1 txt 复制这段命令到终端
  • Linux系统编程之--文件操作

    前言 xff1a Linux系统之下皆文件 1 缓冲区文件操作 普通文件 xff08 TXT MP3 MP4 xff09 缓冲区 xff1a 文件的读写并不是直接操作文件的 xff0c 而是操作缓冲区的 xff08 RAM xff09 例如
  • Linux interfaces配置静态ip(开机自启动)

    编辑 xff1a vim etc network interfaces 基本配置如下 xff1a eth0会在系统启动时被自动配置 auto eth0 eth0接口具有一个静态 xff08 static xff09 IP配置 iface e
  • 超详细Windows10 Tomcat 9安装与配置

    文章目录 附Eclipse配置Tomcat教程一 Tomcat下载二 配置环境变量三 启动Tomcat四 测试Tomcat是否启动成功 附Eclipse配置Tomcat教程 超详细Ecilpse配置Tomcat教程 一 Tomcat下载 首
  • VS2019左侧 黄、绿线条 以及 错误波浪线 隐藏

    VS2019左侧黄线 绿线 选项 gt 文本编译器 gt 常规 gt 跟踪更改 xff08 T xff09 选中后在代码左侧会出现黄绿线条 错误波浪线 选项 gt 文本编译器 gt 常规 gt 显示错误波形曲线 xff08 E xff09
  • Zemax光学设计(十)——变焦镜头设计

    变焦镜头原理 在基础光学理论中像面大小 视场和焦距三者有 如下关系 xff1a 变焦镜头的变焦倍数为长焦距和短焦距比值 xff0c 也称为倍率 在变焦过程中镜头的相对孔径保持不变 xff0c 但对于实际的高变倍比系统 xff0c 由于外形尺
  • Spring Boot注解的运行原理

    Spring Boot 是一个基于 Spring Framework 的开源框架 xff0c 通过简化配置和开发过程 xff0c 使 Spring 应用程序的开发变得更加快速和便捷 在 Spring Boot 中 xff0c 注解是非常重要
  • 在Ubuntu 18.04上安装Git

    步骤1 首先 xff0c 通过运行以下命令确保您的系统和apt包列表完全更新 xff1a apt get update y apt get upgrade y 第2步 在Ubuntu 18 04上安装Git 现在让我们安装git xff1a
  • python中‘‘‘ ‘‘‘ 的作用

    在python中 39 有下面两个作用 xff1a 1 保留原样输出 代码块就是 email message span class token operator 61 span span class token triple quoted
  • 1.4 配置通过FTP进行文件操作

  • Python编程——列表输入字典再转为DataFrame

    导入依赖库 import pandas as pd 设置两个列表 alpha list 61 1 2 3 4 5 beta list 61 2 3 4 5 6 some dict 61 设置空字典 some dict 39 a 39 61
  • 【毕设】基于SpringBoot的医院管理系统的设计和实现

    毕设 基于SpringBoot的医院管理系统的设计和实现 xff1a 本次毕设是基于SpringBoot的前后端分离医院管理系统 xff0c 毕设中包括开题任务书 开题报告 项目系统 毕设论文 相应的答辩PPT 项目演示基本业务操作流程 毕
  • Android S GTS 常见的 fail 项

    此文章只是一篇总结 xff0c 针对 MTK 平台近期的 GTS 做个简单的整理回顾 xff0c 后期不断扩展 GTS GtsJniUncompressHostTestCases com google android gts jniunco