[Android GMS 认证] GTS相关问题

首先,设置 export APE_API_KEY='/home/sukha/your_ape_api_key.json'

 

问题1:GtsNmgiarcTestCases run gts -m GtsNmgiarcTestCases -t com.google.android.nmgiarc.gts.CarrierServicesTests#testAcsaPropertySetCorrectly

修改如下文件

device\qcom\msm8909go\msm8909go.mk
# GMS
PRODUCT_PROPERTY_OVERRIDES += ro.com.google.acsa=true

 

问题2:run gts -m GtsPermissionTestCases -t  com.google.android.permission.gts.InitialRuntimePermissionStateTest#testAllSystemAppsUsingRuntimePermissionsTargetMncAndAboveSdk

原因:这是由于一些apk的sdk版本过低导致的权限问题
方案:查看device.log,查找出是哪些apk,然后在对应apk下的AndroidManifest下修改下目标sdk,一般都修改为当前最新版的,有些危险权限(九组)还要在代码中添加运行时代码,不然apk会崩的。

问题3:com.google.android.gts.backup.SettingsProviderBackupHostTest#testSoftApE2EBR    fail    java.lang.AssertionError: on-device tests failed:
请确认在设置中打开backup后进行测试。一定要按照guide来,可以省一些事。

 

问题4:run gts -m GtsPackageManagerHostTestCases -t com.google.android.pm.gts.PackageManagerHostTest#testSoundPool

From 3235963830dd41b82b89c375d0147534f8c0ee12 Mon Sep 17 00:00:00 2001
From: Marco Nelissen
Date: Wed, 04 Oct 2017 16:18:27 -0700
Subject: [PATCH] Add drmserver permission for ephemeral apps

so they can use MediaExtractor too.

Bug: 67406992
Test: yes
Change-Id: Iaacadc13b1fc032fe31eea1f3ecbbbabb741470a
---

diff --git a/private/ephemeral_app.te b/private/ephemeral_app.te
index de5c53c..1693736 100644
--- a/private/ephemeral_app.te
+++ b/private/ephemeral_app.te
@@ -27,6 +27,7 @@
 allow ephemeral_app mediacodec_service:service_manager find;
 allow ephemeral_app mediametrics_service:service_manager find;
 allow ephemeral_app mediadrmserver_service:service_manager find;
+allow ephemeral_app drmserver_service:service_manager find;
 allow ephemeral_app surfaceflinger_service:service_manager find;
 allow ephemeral_app radio_service:service_manager find;
 allow ephemeral_app ephemeral_app_api_service:service_manager find; 

 

问题5:run gts -m GtsPlacementTestCases -t com.google.android.placement.gts.CoreGmsAppsPrivappPermissionsTest#testCoreGmsAppsPermissionsWhitelisted

如果想要过这个case就要内置的,需要测试如下应用。

        com.android.chrome
        com.android.providers.partnerbookmarks
        com.google.android.apps.docs        Drive
        com.google.android.apps.maps
        com.google.android.backuptransport
        com.google.android.configupdater
        com.google.android.feedback
        com.google.android.gm
        com.google.android.gms
        com.google.android.googlequicksearchbox
        com.google.android.gsf
        com.google.android.music
        com.google.android.onetimeinitializer
        com.google.android.partnersetup
        com.google.android.setupwizard
        com.google.android.syncadapters.contacts
        com.google.android.tts
        com.google.android.videos
        com.google.android.youtube
   

前段时间的go版本可以申请豁免,因为要求了一些与go预置重复的apk,现在不知道了。

问题6:

run gts -m GtsMemoryHostTestCases -t com.google.android.memory.gts.MemoryHostTest#testSystemMemoryAvailabilityPostBoot

这个除了perf那里做优化之外,

6.0 还引入了奇葩的testSystemMemoryAvailabilityPostBoot出现fail  "process crashed"
google的关于memory的6.0版本GTS测试工具在打包做dex优化时用的是dex的版本为39,。而目前高通的代码最新版本是38,而且google网站上代码也是38。所以apk安装有问题,导致测试工具无法启动。 
可以在art虚拟机中添加上最新的39版本标识通过该项测试……不过估计应该可以申请豁免。

 

 

另外,6.0的命令变了,测试重测命令如下:

run gts-suite 

run retry --retry 6 -s ABCDE0208000002
run retry --retry 9 --skip-preconditions --precondition-arg skip-media-download --ignore-business-logic-failure

你可能感兴趣的:(android,GMS,qualcomm,8909,GTS)