1. 背景

从 Android 6.0 开始,Google 开始逐渐收紧 Android 平台的开放性,并在进一步提升应用的安全性、性能以及隐私保护方面做出了许多努力。这一点,从 Google 在之后的 Android 7.0 和 8.0 上不断作出的调整就可以看出。

但事实上,开发者在开发过程中,迫于开发及维护成本,并没有及时响应并针对 Google 的动作作出调整,使得 Google 在实现让Android 设备更安全、更高效的愿景上显得力不从心,这一点是 Google 所不愿意看到的。

于是,Google 终于按捺不住,在最近出台了新的政策,提出了开发者必须做出的三大变更,并明确了变更的时间点(也就是 deadline),可谓是强硬了一把!

2. 三大变更

下面是 Google 推出的三大变更:

  1. 从2018年下半年开始,强制要求 targetSdkVersion
  2. 2019年8月前支持64位的Android架构;
  3. 在2018年初为APK添加安全性元数据;

后两条变更对于开发者的影响还是比较小或者不那么迫切的,所以不是我今天要说得重点,感兴趣的可以前往 Google 开发者博客了解更多(详见文末链接)。

下面,我们着重看一下第一条变更,坐稳了别慌!

3. 重点解读:targetSdkVersion

按照 Google 的说法,在2018年8月以后发布的新应用,以及2018年11月以后更新的应用,必须以最新的 Android API 级别作为目标。也就是说,最晚到 2018年11月(发布新应用是8月),你在Google Play上的应用,其 targetSdkVersion 必须为 Google 发布的最新 API 级别,目前为 26(Android 8.0)。

同时,从2019年起,在每个Android版本发布后的一年内,所有新的应用程序和应用程序更新, targetSdkVersion 都必须跟上或更高

根据在读者群中收集到的反馈,大家项目中的 targetSdkVersion 普遍还停留在 22,也就是 Android 6.0以下。我们都知道,造成这一现象的主要原因是 Google 在 6.0 引入了运行时权限。

在这之后,Google 在 7.0 和 8.0 上做出的一系列安全性、隐私性和性能优化,更是让众多开发者望而却步:一方面,程序作出改动以适配新的 API 是必不可少的工作,但另一方面 ,主要是“限制”了开发者发挥的余地,不能再…(此处省略1000字)

Google 不可能坐视不管,任由开发者发挥。于是,就有了这一条强硬的政策!以试图减少应用程序生态系统中的碎片化,确保应用程序的安全性和性能。

4. 我们该怎么做?

政策我们知道了,该如何做呢?

我们可以将自 Android 6.0 开始到目前,做出的所有变更汇总起来,然后针对涉及到自己应用实际场景的变更作出调整即可。由于涉及的变更点太多了,无法一一列举,在此贴出官方文档中每一版的变更说明,你可以对照去修改。

  1. Android 6.0 变更

  2. Android 7.0 行为变更

  3. Android 8.0 行为变更

5. 总结

刚才一直围绕在 Google Play 分发有用展开的,国内市场目前确实还没有这一动向。但并不是说不在 Google Play 分发应用,你就不需要 care 了。一方面,Google 作出如此大的调整,目的也很明确,作为开发者我们有必要追随 Google 的步伐向前看;另一方面,国内各大市场是否会因此作出相应调整,我们不得而知,所谓有备无患,还是尽早准备的好(前提是你得说服老板或者Leader…)。

这一次,Google 终于拿出自己的态度,旨在构建更统一的生态,同时带领开发者拥抱新进的技术,多么令人兴奋!作为一个 Android 开发者,对于 Google 的这一政策,我表示支持,也很欣慰。我只想说:

够强硬,我喜欢!


Google 开发者博客地址

最后,欢迎关注我的公众号,有深度,有态度,更有温度~

Google 发布2018年Android平台新政策,终于强硬了一回!相关推荐

  1. Google 2018年Android平台新政策,终于强硬了一回!

    1. 背景 从 Android 6.0 开始,Google 开始逐渐收紧 Android 平台的开放性,并在进一步提升应用的安全性.性能以及隐私保护方面做出了许多努力.这一点,从 Google 在之后 ...

  2. Unity3D发布APK到Android平台

    目录 一.环境配置 1.必备工具 2.配置java环境.安装SDK 2.1.java 2.1.1.安装JDK 2.1.2.设置环境变量 2.1.3.个人习惯 2.1.4.java环境测试 2.2.An ...

  3. 终于搭建成功Xamarin for Android平台

    终于搭建成功Xamarin for Android平台 历尽波折终于搭建成功Xamarin for Android平台,总结一下. 1.下载运行jdk-7u71-windows-i586.exe 安装 ...

  4. 2018 Google i/O大会Android技术总结

    点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 2018 Google I/O 开发者大会已于北京时间 5 月 9 日凌晨在山景城正式启幕,一起来看一下大会第一天都有哪些与 ...

  5. android IO流_Flutter实战经验(十):打包和发布到 Android 平台

    本文适合ios开发者不清楚Android上架机制学习. 在一般的开发过程中,我们可以使用 flutter run 命令,或者 IntelliJ 工具栏中的 Run 和 Debug 来测试 app.这时 ...

  6. 在Android平台上发现新的恶意程序伪装成杀毒软件挟持设备

    Android平台恶意程序:不支付$100隐私就泄漏]6月25日消息,安全公司赛门铁克发布报告,在Android平台上发现新的恶意程序伪装成杀毒软件挟持设备,消费者支付$100才能让设备正常运作.这些 ...

  7. IoT黑板报0210:Google 发布 Android Things 开发者第二预览版

    IoT黑板报,阅尽物联网新鲜事! 关注物联网领域,寻求报道或投稿请邮件联系jiawd@csdn.net 微信联系 jiaweidi1214,备注"姓名+公司+职位"(以便更快审核通 ...

  8. Google发布Flutter 2.0正式版,支持全平台程序构建

    今天,Google发布了 Flutter 2.0的正式版本,至2018年Flutter 1.0版本发布以来,在最近的3年的时间礼,Flutter进行了大量的升级以支持更多平台的开发需求.作为 Flut ...

  9. 认识Google推荐的发布格式abb(Android App Bundle)

        对https://blog.csdn.net/qq_39420519文章的学习了解的笔记记录     Android App Bundle 是谷歌在今年3月发布的新政策,今年8月份之后TARG ...

最新文章

  1. 中科院DeepMind联手,用深度学习揭示大脑如何识别人脸|Nature子刊
  2. 名校计算机博士:拿到了五个工作机会,华为是最差的!
  3. tensorflow量化感知训练_tensorflow
  4. oracle:ORA-01940无法删除当前已连接用户的解决方案
  5. [转]javascript中style.left和offsetLeft的使用
  6. java 树面试题_java——二叉树面试题
  7. 16位调色板和32位调色板_使调色板可访问
  8. Andoid开发中生成二维码
  9. php array colum,php5.5新数组函数array_column使用
  10. should, could, would, will, be going to, may, might到底有甚麼不同,又該怎麼用?
  11. css 超过长度省略
  12. 基于R实现统计中的检验方法---方差分析
  13. 此数据库处于单用户模式,当前某个用户已与其连接。 ALTER DATABASE 语句失败。 (Microsoft SQL Server,错误: 5064)...
  14. 人体捕捉:《SMPL-X》
  15. 一键百度 一键翻译 云脉CC慧眼百度搜索版
  16. 江南,我愿变成你怀中的一枝青莲
  17. 计算机的击键方法教学教案,学习敲击L键计算机教案
  18. GP如何进行数据比对?
  19. android byte[] 清空,android byte的使用
  20. 256色图像不一定是灰度图像

热门文章

  1. Unity Time.timeScale控制播放声音放慢
  2. 东莞塑料是四大工程材料
  3. 实现ubuntu系统和windows系统进行文件共享、互传等操作**
  4. IEEE14节点求解系统潮流matlab仿真( PQ分解法)
  5. 未来 5 年的 5 大技术趋势
  6. SEO优化_网站诊断分析方法
  7. 华硕 N551 GPT分区安装win7 ghost+原版
  8. 小米化!?凡客还有多少故事可讲?
  9. 小散量化炒股记|趋势指标金叉死叉策略在震荡行情中怎么处理
  10. 数据的黑暗陷阱是什么?(二)——你想要一匹更快的马,还是一辆汽车?