首先,设置 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 <marcone@google.com>
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就要内置的,需要测试如下应用。
<entry key="general_core_gms_packages">
<value>com.android.chrome</value>
<value>com.android.providers.partnerbookmarks</value>
<value>com.google.android.apps.docs</value> Drive
<value>com.google.android.apps.maps</value>
<value>com.google.android.backuptransport</value>
<value>com.google.android.configupdater</value>
<value>com.google.android.feedback</value>
<value>com.google.android.gm</value>
<value>com.google.android.gms</value>
<value>com.google.android.googlequicksearchbox</value>
<value>com.google.android.gsf</value>
<value>com.google.android.music</value>
<value>com.google.android.onetimeinitializer</value>
<value>com.google.android.partnersetup</value>
<value>com.google.android.setupwizard</value>
<value>com.google.android.syncadapters.contacts</value>
<value>com.google.android.tts</value>
<value>com.google.android.videos</value>
<value>com.google.android.youtube</value>
</entry>
前段时间的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