#星计划# 浅谈OH4.0的兼容性测评 原创
背景
OpenHarmony兼容性测评主要是验证合作伙伴的设备和业务应用满足OpenHarmony开源兼容性定义的技术要求,确保运行在OpenHarmony上的设备和业务应用能稳定、正常运行,同时使用OpenHarmony的设备和业务应用有一致性的接口和业务体验。
OpenHarmony兼容性测评服务包括:产品兼容性技术规范文档与兼容性测试两部分,本文重点介绍兼容性测试。
兼容性测试包括:acts、acts-validator、hats、dcts、ssts
OpenHarmony兼容性测试需要合作伙伴获取代码和兼容性测试套,并完成自测,取得兼容性测试报告后,在测试流程上传兼容性测试报告供开放原子开源基金会团队进行审核或抽测。兼容性测试的套件范围:
acts(application compatibility test suite)应用兼容性测试套件,看护北向HAP兼容、OpenHarmony开发API兼容。
acts-validator 应用兼容性补充测试套件,需要根据引导完成手工测试。
hats(Hardware Abstraction Test Suite )硬件抽象兼容性测试套,看护HDI层接口。
dcts(Distributed Compatibility Test Suite )分布式兼容性测试套,看护分布式兼容性。
ssts(System Security Test Suite )系统安全漏洞测试套,看护已知系统安全漏洞补丁的修复情况。
测试分类 | 轻量系统 | 小型系统 | 标准系统 |
---|---|---|---|
acts | Y | Y | Y |
acts-validator | N | N | Y |
hats | N | N | Y |
dcts | N | N | Y |
ssts | N | N | Y |
以上部分是对兼容性测评的常规介绍。下面我们要讲从OpenHarmony3.2Release开始,到4.0进入设置应用的兼容性证明页面,如下图:
查看log得知
A00500/[Settings]: Settings .compatibilityAssessment -> attestResultInfo success{"authResult":-2,"softwareResult":-2,"ticket":"","softwareResultDetail":[-2,-2,-2,-2,-2]}
简单解读
这是什么?
- 这是device_attest,设备证明部件,是一个系统服务(SystemAbility), 是OpenHarmony compatibility agreement约定需要设备厂商在产品中集成的部件,用于支撑生态伙伴完成产品的兼容性测试。其基本功能是看护OpenHarmony生态设备认证结果,通过端云校验机制,支撑OpenHarmony南北向生态统一,保障用户体验。
厂商要干什么?
-
该部件用于标准系统(standard system)。 生态伙伴(即设备厂商)兼容性测试工作流程;
1、设备厂商在OpenHarmony兼容性平台注册企业账号,完成设备信息登记,将登记的设备信息写入设备,并完成依赖接口适配;
2、设备厂商启动认证测试,上传xts测试报告;
3、OpenHarmony认证云认证通过设备厂商产品信息,发放token到OpenHarmony兼容性平台;
4、设备厂商从OpenHarmony兼容性平台获取token;
5、设备厂商经三方产线将token烧录到OpenHarmony设备;
6、设备证明部件与OpenHarmony认证云通信,对设备进行激活/认证,设备从OpenHarmony认证云获取认证结果,存储到本地;
7、系统服务、系统应用等可通过设备证明部件提供的接口获取认证结果,并基于认证结果进行结果展示。、
具体原理是什么?
1、设备启动过程中,设备证明部件被init进程拉起,监控网络状态,设备联网后,读取token和系统参数,发起设备认证端云通信;
2、端云通信采用https协议,设备证明部件将token和系统参数上传到OpenHarmony认证云,并获取认证结果和新token;
3、设备证明部件将认证结果存储到沙箱目录,并更新token;
4、设备证明部件对外提供认证结果查询接口,供其他模块判定设备是否已通过认证,比如系统服务、系统应用等。
总结
- 在OpenHarmony社区的兼容性平台 -> 设备管理页面有管理软证书的页面,可以下载软证书的申请指导和工具,按照指导进行调试和配置;
- 认证通过后,生产设备需要烧录对应软证书(一机一张),然后设备联网后就能查到是否是通过测评的设备;
- 划重点,商用设备才要用软证书验证,要是开发板,模组等其他类型的不做要求;
- 为了维护OpenHarmony的生态健康发展和用户体验,厂商们要认真做好兼容性啊:),客户们则可以通过设置应用->系统->开发者选项->OpenHarmony兼容性测评进行查看。