兼容性是指应用在操作系统上能够稳定运行,不发生崩溃、显示异常等各类兼容性问题。兼容是应用体验最基础的保障。
软件绿色联盟邀请百度、华为、腾讯、网易、360、中国泰尔实验室等知名企业和机构的应用兼容性专家共同制定全新的应用兼容性标准,即《软件绿色联盟应用体验标准3.0_兼容性标准》(下文简称《兼容性标准3.0》)。
软件绿色联盟兼容性标准工作组成员
《兼容性标准3.0》对兼容性问题的表象进行了分类,涵盖应用安装、启动、崩溃、无响应、黑白边、系统特性支持、账号异常、UI适配、使用非SDK接口、支持64位等十大类,并依据这些表象与其典型发生的场景来制定相应的体验标准,要求应用在各使用场景下不出现兼容性问题。《兼容性标准3.0》更新了对应用的TargetSdkVersion要求,并新增了对非SDK接口调用的要求及应用兼容性建议,以提供给用户更好的使用体验。
经过理事会执行组多次评审,于今日起至11月1日正式对外公示并征求广大应用开发者意见。如果您对兼容性标准公示内容有任何意见或建议,请发送邮件至邮箱:
developer@china-sga.com(邮件主题建议为 “兼容性标准公示意见反馈 应用或公司名称”形式)。重点修订内容如下:
1、TargetSdkVersion属性
标准3.0更新了对应用的TargetSdkVersion要求,应用
TargetSdkVersion<26将无法通过绿色应用兼容性测试。具体说明如下:
标准编号 | 2.6.6 | Targetsdkversion属性 |
---|---|---|
标准描述 | 应用指定兼容的目标系统版本 | |
预置条件 | ||
测试用例 | aapt.exe工具获取APK包的targetsdk版本 | |
是否实现自动化 | 是 | |
判定标准 | TargetSdkVersion<26 测试不通过,TargetSdkVersion≥26通过。 |
2、使用非SDK接口
调用非SDK接口可能导致应用无法正常使用,因此标准3.0中新增了对应用使用非SDK接口的检测,提醒应用及时进行排查和适配,确保应用的正常使用。具体说明如下:
标准编号 | 2.9.1 | 使用非SDK接口 |
---|---|---|
标准描述 | 测试应用是否使用非SDK接口 | |
预置条件 | ||
测试用例 | 通过关键日志扫描应用是否使用非SDK接口 | |
是否实现自动化 | 是 | |
判定标准 | 应用使用了系统禁止使用的非SDK接口, 非SDK最新名单:https://android.googlesource.com/platform/prebuilts/runtime/ /master/appcompat/hiddenapi-flags.csv | |
需考虑的特殊事项 |
3、兼容性建议
64位支持和ContentURI文件分享将会成为未来的趋势,为此我们建议应用对上述两点特性尽早适配,为用户带来更超前体验。
(1)支持 64位
标准编号 | 2.10.1 | 应用支持64位 |
---|---|---|
标准描述 | 测试应用的原生代码是否提供了64位版本 | |
预置条件 | ||
测试用例 | 通过自动化工具静态扫描应用的apk文件,查找应用是否有.so文件和64位版本的.so文件 | |
是否实现自动化 | 是 | |
判定标准 | 应用的原生代码没有提供对应的64位版本,只有32位版本 | |
需考虑的特殊事项 |
(2)支持ContentURI分享和共享文件
标准编号 | 2.11.1 | 应用支持Content URI分享和共享文件 |
---|---|---|
标准描述 | 1. 文件分享方使用Content Uri共享文件,并且临时授予被分享方对应读写权限,不要直接使用File Uri共享文件 | |
2. 文件被分享方支持Content Uri的文件读取 | ||
预置条件 | ||
测试用例 | ||
是否实现自动化 | 否 | |
判定标准 | 分享方:应用使用Content Uri分享,并且授予被分享方对应权限,测试通过;使用File Uri分享,测试不通过; | |
被分享方:支持通过Content Uri读写文件,可以成功读写共享文件,测试通过;不支持通过Content Uri读写文件,测试不通过。 | ||
需考虑的特殊事项 |
·END·