本文主要介绍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;或者长按
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;或者长按
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验证