Android 10(Q)GMS(cts/vts/gts)认证总结

本文主要介绍android10的GMS认证相关的内容,包括新特性、新要求、特殊问题以及失败项等。

1)android10的新特性新要求

1、Project Mainline :谷歌将能够直接向终端用户提供安全更新,GMS认证要求必须合入Project Mainline的代码。

https://support.google.com/androidpartners_gms/answer/9358977?hl=en&ref_topic=9353615
主要有以下模块:
GoogleDocumentsUIPrebuilt \ GoogleExtServicesPrebuilt \ ModuleMetadataGooglePrebuilt \ GooglePermissionControllerPrebuilt GoogleExtServicesConfigOverlay \ GooglePermissionControllerOverlay \ GooglePermissionControllerFrameworkOverlay

2、开机logo有新的要求,请查看google释放的文档
3、Core apps的变化:对非go的设备来说,youtube music替换了google music
4、Core Services的变化:删除了GoogleBackupTransport;GoogleExtServices加入了Mainline;增加了TrichromeLibrary、GoogleLocationHistory、AndroidAutoStub
5、chrome/webview:需要预置Chrome.apk、WebviewGoogle.apk、TrichromeLibrary.apk
6、所有客户内置的apk的api level必须为28或者更高
7、如果是运营商设备,需要检查 carrier client-id是否符合要求
8、Android 10 必须包含以下七个必选模块:[DocumentsUI]、[ExtServices]、[Media Codecs]、[Media Extractors + MediaPlayer2]、[Module metadata]、[Permission Controller]、[Time Zone Data],参考第一条。

2)电脑和手机配置要求

1、电脑配置:ubuntu14.04及以上,内存大于8G:内存如果低于8G,可能会导致报告保存出错,或者其他异常。
2、adb要更新最新版本,否则执行fastboot reboot fastboot会出现unknown command的错误
3、fastboot也要更新到最新版本,否则执行fastboot reboot fastboot会出现unknown command的错误
4、Android 10 CTS-on-GSI测试手机端配置

1、刷user版本并开机
2、打开Settings -> System -> Developer options -> OEM unlocking
3、连接电脑,执行adb reboot bootloader;或者长按进入fastboot模式
4、执行命令:fastboot flashing unlock ,出现选择界面后,按
5、执行命令:fastboot reboot fastboot,请不要做任何操作,在进行下一步之前
6、执行命令:fastboot flash system system.img (使用google签名的 system.img)
7、执行命令:fastboot reboot bootloader
8、执行命令:fastboot flashing lock
9、执行命令:fastboot reboot
备注: 如果是A/B load special,使用fastboot flash system_a system.img / fastboot flash system_b system.img 替换步骤6

5、Android 10 VTS测试手机端配置

1、刷user版本并开机
2、打开Settings -> System -> Developer options -> OEM unlocking
3、连接电脑,执行adb reboot bootloader;或者长按进入fastboot模式
4、执行命令:fastboot flashing unlock ,出现选择界面后,按
5、执行命令:fastboot flash boot boot-debug.img,boot-debug.img来out目录
6、执行命令:fastboot reboot fastboot,请不要做任何操作,在进行下一步之前
7、执行命令:fastboot flash system system.img (使用google签名的 system.img)
8、执行命令:fastboot reboot
备注: 如果是A/B load special,使用fastboot flash system_a system.img / fastboot flash system_b system.img 替换步骤7

3)检查项以及特殊问题

1、Android 10版本CTS Verifier无法导出测试报告

adb shell appops set com.android.cts.verifier android:read_device_identifiers allow

2、对于Google issue:推荐使用最新的Google daily build tool去验证,如果可以pass,直接上传daily build tool跑出的pass report 到APFE即可。

https://partnerdash.google.com/partnerdash/u/0/d/partnerandroidbuild#p:id=home

3、不同版本跑测要求

目前,送测版本包括:New device或 MR、EEA Express Plus Device、Russia Device、RSA Device、SMR Device;各个版本都有不同的需求,请注意检查

4、跑测前手机需要完成的操作

为了更容易通过测试,跑测前最好写入以下内容:
Serial Number
Wifi Mac Address
BT Mac Address
IMEI
Google Key

5、部分测试项测试前关闭MoMs

4)常见失败项总结

1、CTS失败项
  • cts跑测过程中提示DeviceRuntimeException: 'cmd: Can't find service: package
    非cts问题,软件本身有异常,需要根据具体log修改后进行跑测

  • CtsPermissionTestCases android.permission.cts.ProviderPermissionTest#testManageDocuments
    需要申请patch

  • CtsDevicePolicyManagerTestCases com.android.cts.devicepolicy.DeviceOwnerTest#testInstallUpdate
    最新的daily build tool验证

  • CtsDeqpTestCases dEQP-VK.api.device_init#create_instance_device_intentional_alloc_fail
    最新的daily build tool验证

  • CtsMediaTestCases android.media.cts.DecodeAccuracyTest#testGLViewDecodeAccuracy[48] [Error] 2560x1120 is over HW supported WxH
    修改media_codecs_mediatek_video.xml

  • CtsIncidentHostTestCases[instant] com.android.server.cts.ErrorsTest#testANR
    修改ProcessRecord.java

  • CtsSecurityTestCases[instant] android.security.cts.StagefrightTest#testStagefright_bug_68342866
    Google issue

  • CtsSkQPTestCases org.skia.skqp.SkQPRunner#gles_colorfiltershader
    Google issue

  • CtsSecureElementAccessControlTestCases1 android.omapi.accesscontrol1.cts.AccessControlTest#testAuthorizedAPDUAID40
    NXP

  • android.hardware.camera2.cts.SurfaceViewPreviewTest#testPreparePerformance
    Google issue

  • android.hardware.cts.SensorSupportTest#testSupportsPressure
    CUSTOM_HIFI_SENSORS

  • android.hardware.camera2.cts.CaptureRequestTest#testFlashTurnOff
    Google issue

  • android.hardware.camera2.cts.RecordingTest#testRecordingFramerateLowToHigh
    查看media_profiles.xml 是否有改动

  • android.appsecurity.cts.AdoptableHostTest#testEjected com.android.tradefed.device.DeviceUnresponsiveException: Attempted shell sm partition disk:7,9 public multiple times on device

kernel 4.14会出现,需要申请patch

  • android.telephony.cts.VisualVoicemailServiceTest#testGetVisualVoicemailPackageName_isSelf
    Attempt to invoke virtual method 'java.lang.String android.telephony.TelephonyManager.getVisualVoicemailPackageName()' on a null object reference

SIM卡问题,需要插入写有效SIM卡

  • CtsStagedInstallHostTestCases com.android.tests.stagedinstall.host.StagedInstallTest#testStageApkWithSameNameAsApexShould
    可申请豁免

  • CtsAppTestCases android.app.cts.ActivityManagerProcessStateTest
    可申请豁免

  • CtsAppBindingHostTestCases com.android.cts.appbinding.AppBindingHostTest#testSecondaryUser
    最新的daily build tool验证

  • CtsCameraTestCases android.hardware.camera2.cts.CaptureRequestTest#testFlashTurnOff
    最新的daily build tool验证

  • CtsActivityManagerBackgroundActivityTestCases android.server.wm.BackgroundActivityLaunchTest#testActivityBlockedWhenForegroundActivityRestartsItself
    可申请豁免

  • android.cts.security.SELinuxNeverallowRulesTest#testNeverallowRules691 failed
    最新的daily build tool验证

2、VTS失败项
  • VtsKernelNetTest#testKernelNetworking FAIL: testUpdateActiveSaMarks (xfrm_test.XfrmOutputMarkTest)
    vts工具本身的问题,需要等待google更新工具https://android.googlesource.com/kernel/tests/+/c68285f247e30bbcc6c767719a4185ad01129a8c%5E%21/net/test/xfrm_test.py

  • VtsTrebleVendorVintfTest#DeviceManifest/SingleManifestTest.InterfacesAreReleased/0_32bit [email protected]::ICCAPControl not available.
    如果不支持某些属性,需要去掉

  • VtsHalSecureElementV1_0Target VtsHalSecureElementV1_0Target#SecureElementHidlTest.transmit(SIM2)_64bit
    如果支持NFC和OMAPI,需要插入UICC白卡测试才行

  • VtsHalSensorsV2_0Target VtsHalSensorsV2_0Target#SensorsHidlTest.AccelerometerSamplingPeriodHotSwitchOperation(default)_32bit
    首先需要校准sensor,如果还是不行,需要调整精度之类的参数

  • VtsFastbootVerification VtsFastbootVerification#testFastbootReboot Unknown error: test case requested but not executed.
    将adb 和fastboot升级到最新版本

  • VtsHalRadioV1_2Target VtsHalRadioV1_2Target#RadioHidlTest_v1_2.startNetworkScan
    最新的daily build tool验证

  • VtsHalNeuralnetworksV1_2Target
    最新的daily build tool验证

  • VtsKernelNetBpfTest VtsKernelNetBpfTest#BpfRaceTest.testRaceWithoutBarrier_64bit
    最新的daily build tool验证

  • VtsHalWifiHostapdV1_1Target
    最新的daily build tool验证

  • VtsHalGraphicsComposerV2_1Target
    最新的daily build tool验证

3、CTS-V失败项
  • 手动测试项HIFI
    需要修改了MIC参数
4、GTS失败项
  • GtsAngleHostTestCases com.google.android.angle.gts.GtsAngleTest#verifyAnglePresence
    Google Issue
5、CTS-ON-GSI
  • CtsWindowManagerDeviceTestCases android.server.wm.ActivityManagerGetConfigTests#testDeviceConfig fail

最新的daily build tool验证

你可能感兴趣的:(Android 10(Q)GMS(cts/vts/gts)认证总结)