应用市场出新规,国内千款应用TargetSdkVersion调查分析
近期,谷歌针对Google Play上架应用发布强制性适配Android 8.0公告,要求自2018 年 8 月 1 日起,所有向 Google Play 首次提交的新应用都必须基于 Android 8.0 (API 等级 26) 完成开发;11 月 1 日起,所有 Google Play 的现有应用也必须基于 Android 8.0完成更新。
同时为响应工信部《移动应用软件高API等级预置与分发自律公约》的要求,截止到2019 年 5月,所有新上架和预置应用都必须针对 Android 8.0 (API 等级 26) 开发;到2019 年 8 月 ,所有现有应用更新要基于 Android 8.0。
近日,华为终端开放实验室针对国内Top1000主流应用的TargetSdkVersion展开调查。
什么是TargetSdkVersion
TargetSdkVersion对开发者来说,指的是应用在开发阶段能够支持到的目标系统版本。
应用在运行时,系统会检查其TargetSdkVersion配置,如果当前系统版本低于或等于此项配置,表示应用开发者已经在当前系统上进行了全面的测试,无需做任何兼容性处理。如果当前系统版本高于此项配置,表示此应用开发时没有在当前系统版本上进行测试,这时系统就会执行一系列的兼容性策略。
华为终端实验室建议开发者将TargetSdkVersion 配置成26,这会显著提升应用安全性以及性能并全面改善用户体验。
测试环境
硬件环境:P20
软件版本:Android 8.1
测试范围
本次测试选取了各大应用市场Top1000主流应用,类型涉及:便捷生活、购物比价、社交通讯、新闻阅读、影音娱乐、出行导航、拍摄美化、实用工具、教育、美食、汽车、旅游住宿、商务、儿童、金融理财、运动健康、主题个性和游戏。
数据来源
Top1000应用的TargetSdkVersion的扫描结果。
数据分析
首先我们来看一下TargetSdkVersion的等级与Android版本的对应关系
下面是国内各大应用市场综合排名Top1000应用 TargetSdkVersion 属性的分布情况
由图看出,TargetSdkVersion在26以上的仅占比为12%,不符合Google要求的占比88%,虽然Android版本一直在提高安全和性能,但应用的兼容版本达到Android 8.0的还是很少。在不符合Android 8.0 开发的要求中TargetSdkVersion 23以下占比高达52%,应引起关注。TargetSdkVersion 23是开发者常用的一个版本,Google在此版本上有较大的权限变更。TargetSdkVersion 24、25 占比 14% ,Google在此版本为了延长电池寿命增加了低耗电模式,并且增加了私有目录访问权限。
Top1000的各分类应用的TargetSdkVersion 分布对比分析
除了拍摄美化,其他分类的TargetSdkVersion 26及以上的占比均未达到50%,现状严峻。其中主题个性26及以上占比甚至为0%,对此开发者需重点关注。
将TargetSdkVersion 配置成26及以上,会显著提升应用安全性及性能,改善用户体验。但通过对国内Top1000应用TargetSdkVersion的数据分析结果显示,大部分应用都不符合Google Play的开发要求,同样不满足《移动应用软件高API等级预置与分发自律公约》对国内各应用的要求。
对开发者的建议
华为终端实验室建议您将应用目标 API 等级设置为最新版本,确保用户能够享用这些改进项目,同时允许应用在 Android 低版本仍旧可以运行。适配新目标等级后,应用可以利用 Android 平台最新功能给用户创造更美好的体验。
如果您有更好的解决方法与见解,欢迎在文章下方留言交流。
华为终端开放实验室后期将持续发布各类别应用的评测报告,为用户选择最佳体验的应用提供参考,敬请关注!
如有疑问,可发送邮件至deveco@huawei.com。
*本报告最终解释权归华为所有。
华为终端开放实验室
2018年8月3日
DevEco 云测平台已开放能力概览
云测试:
兼容性测试——全自动化验证,保证应用无兼容性死角
稳定性测试——基于控件识别技术的随机遍历测试
性能测试——深入分析应用性能薄弱点
功耗测试——检测影响手机应用功耗的各项关键指标
安全测试——进行广告拦截、病毒扫描、安全漏洞分析和隐私泄露分析
云调试:
远程真机——华为全机型+谷歌原生真机,7*24小时在线
功能测试:
录制回放——解决应用功能逻辑测试诉求
*以上内容都已面向安卓绿色联盟会员免费开放,可登录deveco.huawei.com使用体验。
应用市场出新规,国内千款应用TargetSdkVersion调查分析的更多相关文章
- 千亿VR市场 将被国内厂商玩坏多少?
将被国内厂商玩坏多少?" title="千亿VR市场 将被国内厂商玩坏多少?"> 智能硬件行业在不断寻求新的突破口,当智能手机.平板.电视.家电等都司空见惯之后,能 ...
- 从Google Play下载应用并不安全,上千款监视软件伪装其中
如果你认为在官方应用市场里下载app就觉得安全的话,小编可以负责任的回答你:"too young too simple,sometimes native" 今年4月,BankBot ...
- 国内首款 FPGA 云服务器,性能是通用 CPU 服务器 30 倍以上
版权声明:本文由薛梁原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/628340001485134638 来源:腾云阁 ht ...
- 【百度地图API】——国内首款团购网站的地图插件
原文:[百度地图API]--国内首款团购网站的地图插件 摘要: 本文介绍了一款应用在团购网站上的地图插件,适用于目前非常流行的团购网站.使用这款地图插件,无需任何编程技术,你就把商家的位置轻松地标注在 ...
- 国内首款开源的互联网支付系统roncoo-pay
roncoo-pay是国内首款开源的互联网支付系统,其核心目标是汇聚所有主流支付渠道,打造一款轻量.便捷.易用,且集支付.资金对账.资金清结算于一体的支付系统,满足互联网业务系统的收款和业务资金管理需 ...
- 【曝】苹果应用商店逾千款iOS应用存安全漏洞
据国外网站Ibtimes报道,知名网络安全公司FireEye日前警告称,由于一款名为“JSPatch”.可帮助开发者修改应用程序的软件上存在安全漏洞,导致苹果应用商店内1000多款使用了该框架的iOS ...
- 苹果应用商店逾千款iOS应用存安全漏洞
据国外网站Ibtimes报道,知名网络安全公司FireEye日前警告称,由于一款名为“JSPatch”.可帮助开发者修改应用程序的软件上存在安全漏洞,导致苹果应用商店内1000多款使用了该框架的iOS ...
- 国内5款优秀的WEB前端框架
1. JX(腾讯) 官网地址:http://alloyteam.github.io/JX/#home JX 是一个类似 Google Closure Library 的 Web 前端开发框架,服务于 ...
- 使用Python爬取淘宝两千款套套
各位同学们,好久没写原创技术文章了,最近有些忙,所以进度很慢,给大家道个歉. 警告:本教程仅用作学习交流,请勿用作商业盈利,违者后果自负!如本文有侵犯任何组织集团公司的隐私或利益,请告知联系猪哥删除! ...
随机推荐
- HTML-DEV-ToolLink(常用的在线字符串编解码、代码压缩、美化、JSON格式化、正则表达式、时间转换工具、二维码生成与解码等工具,支持在线搜索和Chrome插件。)
HTML-DEV-ToolLink:https://github.com/easonjim/HTML-DEV-ToolLink 常用的在线字符串编解码.代码压缩.美化.JSON格式化.正则表达式.时间 ...
- Error: Top-level design entity "demo" is undefined
原因:顶层模块的module名没有和工程名同名 解决方法:把顶层模块 module名改成和工程名同名 最近在玩QUARTUS 11遇到此问题! 问题补充:本人用的时VERILOG HDL硬件描述语言! ...
- js时间小总结
1.js获取时间 var myDate = new Date(); 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear(); //获取完整的年份 ...
- AJAX && JSON之讲解
Ajax技术的核心是XMLHttpRequest对象(简称XHR),可以通过使用XHR对象获取到服务器的数据,然后再通过DOM将数据插入到页面中呈现.虽然名字中包含XML,但Ajax通讯与数据格式无关 ...
- fl2440 platform总线button字符设备驱动
驱动程序: #include "s3c_driver.h" #define DRV_DESC "S3C24XX button driver" /* Driver ...
- (如何理解gamma校准)GAMMA测试方法及分析
http://wenku.baidu.com/link?url=Wz5oXJsFQ-TVe3qxm9Zd4pp207cQ4jmjuBnwmWAvD1ibgoI2U8y7KCFhaR9xWtu9cGLE ...
- Java虚拟机中的栈和堆的定义和区别
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配. 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配 ...
- 时光轴二之RecyclerView版时光轴效果
由于如今RecyclerView是support-v7包中的新组件,是一个强大的滑动组件.与经典的ListView相比,相同拥有item回收复用的功能,可是直接把viewholder的实现封装起来,用 ...
- Mycat探索之旅(4)----Mycat的自增长主键和返回生成主键ID的实现
说明:MyCAT自增长主键和返回生成主键ID的实现 1) mysql本身对非自增长主键,使用last_insert_id()是不会返回结果的,只会返回0:这里做一个简单的测试 创建测试表 ------ ...
- Flex开发实战(一)--Flex的具体介绍
背景 因为近期要维护公司的项目,项目里面用到了Flex技术,所以近期一直在恶补.这篇博文就将近期的学习内容,进行一下简单的总结. 不管是做web还是桌面应用.相信大家对于界面的要求已经越来越高.界面趋 ...