Android Oreo 常见问题 4.0|Android 开发者 FAQ Vol. 12

随着越来越多的设备升级到 Android Oreo,我们持续收到了很多开发者发来的关于 Oreo 的问题。在前三期 Android Oreo 的 FAQ 中我们已经答复了一些。不过很显然,中国开发者们对于 Oreo 的热情并没有随着春节假期的过去而减弱,本期 FAQ 便为大家解答二月期间我们新收到的关于 Oreo 的问题。

Q 1:

Android Oreo 在安全性方面有哪些改变?

A:Google Play Protect (Verify Apps API,SafetyNet Attestation,reCAPTCHA for Android,“未知来源” 开关现在是针对每一个安装来源的权限) 。

- 硬件强化(Hardware hardening)

· 验证引导:回滚保护,硬解锁;

· 加密:FBE enhancements,key ejection,等;

· 安全锁定屏幕:防伪硬件支持;

· 权限:覆盖API更新,删除访问最持久的id,即时更新权限模型应用;

· Fighting ransomware:SYSTEM_ALERT_WINDOW;

· 隐私控制:删除访问持久的设备标识符;

· 即时更新权限模型应用;

· 沙盒和隔离:硬件隔离与第三方项目;

· SELinux 有效性;

-内核强化 (Kernel hardening)

· Seccomp: 减少内核攻击;

- App 安全性

· WebView安全:渲染器在一个孤立的进程中,安全浏览;

- 设备和用户认证

· Keystore 关键认证;

· APIs for FIDO U2F 安全密钥。

Q 2:

一些用户反馈 Android 手机在长时间使用后会出些卡顿,是什么原因导致这种现象呢?

A:卡顿的原因很大部分来源于单个应用的多服务进程,后台监控、推送等服务。而且,在用户请求权限的时候不建议所有都允许,应当酌情考虑,节省系统的资源。相同功能的 app 尽量只保留一个自己喜欢的即可。并且,对于不熟悉系统的用户,应当养成杀掉不常使用的 app 进程,来保证其他 app 有足够的内存空间可以使用的习惯。

我们在系统方面一直在改进:Dalvik -> ART,后台限制等,而且这些限制会越来越多,这都有利于用户体验。

Q 3:

Android Oreo 和以前的版本有什么不同,测试方向上需要注意些什么呢?

A:除了自适应图标等新特性之外,Android Oreo 较之以前的版本在 API 行为、系统功能等方面有所变更和进化。比如,API 方面的后台执行及位置限制。

具体细节您可以参考 Android O 的行为变更文档

Q 4:

有些开发者认为老的 Android 版本已经 “够用了”,还有必要升级到最新版吗?

A:我们建议您及时升级,以获得新系统功能和安全性提升。如果您的应用在 Google Play 上发布,请留意 Google Play 对新应用在目标 SDK 版本设置上提出的新要求:所有应用的 Target SDK Version 都必须是一年以内升级发布的新版本。

或查阅原文

Q 5:

我的 app 兼容 Android Oreo 有多大作用呢?

A:不管您的 app 是否兼容 Oreo,用户都会慢慢迁移到 Oreo 的设备上。所以为了您的用户可以获得更好的体验,我们建议您主动兼容。

Q 6:

适配了 Android Oreo,对于 Hybrid Mobile app (混合模式移动应用) 有什么好处?

A:在 Oreo 中,NDK 增加了一些安全性要求,比如,Android 版本中本机代码加载有些更改。例如,符号版本控制允许库提供更好的向后兼容性。直接从 APK 打开共享库在 API 等级 23 及以上版本中,可以直接从您的 APK 打开 .so 文件。使用 System.loadLibrary ("foo"),并在你的 AndroidManifest.xml 里设置 android:extractNativeLibs="false"。

从 Android Oreo 开始,可以通过设置与特定应用程序的完全限定名称相对应的属性来启用可调试应用程序的动态链接程序活动日志记录。

详细内容请参考官方文档

另,WebView 也有安全性的更新。

Q 7:

很多 Android 应用在退出后还是会自启占用手机内存,导致系统变慢,这种情况在 Oreo 中会有所改善吗?

A:应用的互相唤醒是导致 “自启” 频繁发生的根源,Android 系统对应用间的相互唤醒限制在变得越来越严格,“全家桶” 间的连锁自启将越来越难。

Q 8:

使用 JobScheduler 任务作业取代服务后如何能保证推送通知的实时性?

A:如果是针对国外的应用,您可以使用 FCM。

Q 9:

Android 8.0 和 8.1 的 launcher 相对 7.0 的有哪些变化和新特性?8.1 系统能否很好兼容 6.0 和 7.0 上开发的 launcher?

A:新增了自适应图标的支持。具体 launcher 的兼容性要看开发时使用了哪些系统特性,这些特性是否存在行为变更。

Q 10:

手机更新换代,如何测试多产品的兼容性?

A:您可以使用 Emulator 和云测平台。

请参考以往文章《云真机测试 | 让您的应用完美适配 Android Oreo》《Android 8.0 Oreo 国内可用测试平台上线》

本期 Android Oreo 的 FAQ 是否对您有所帮助?

如果您仍然有关于系统及兼容性等问题,欢迎在我们的平台留言,我们会继续收集有代表性的问题,请我们的工程师做出解答,并将答案尽量及时地回复给大家。同时,也请关注下一期的 “Android 开发者 FAQ” 专题文章,希望可以帮助您补充相关知识技能。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WeTest质量开放平台团队的专栏

谷歌大开“吃”戒的产物,Andriod O全球发布

2017年3月26日,谷歌默默的发布了下一代OS的第一个开发者预览版:Android O,毫无悬念这应该就是安卓8.0了!发布之后,用户纷纷表示:我7.0都没升...

892
来自专栏CSDN技术头条

Ansible 2.1支持Microsoft Azure和Docker

Ansible自动化框架的第2个版本添加了Microsoft Azure和Docker容器管理功能,从此不再只是一个Red Hat支持工具。 当年Red Hat...

2155
来自专栏

集装箱时代的分布式记录(第二部分)

欢迎回到我们的系列。在第一部分中,我们谈到了微服务和容器的最近兴起。我们介绍了这种类型的体系结构引起的日志记录问题以及可能的解决方案 - 聚合。现在我们已经完成...

1838
来自专栏顶级程序员

你必须收藏的Github技巧

来自:腾讯全端 AlloyTeam 团队 Blog 链接:www.alloyteam.com/2016/12/you-must-collect-the-git...

37612
来自专栏JAVA高级架构

为什么你要使用这么强大的分布式消息中间件——kafka

这些场景都有一个共同点: 数据是由上游模块产生,上游模块,使用上游模块的数据计算、统计、分析,这个时候就可以使用消息系统,尤其是分布式消息系统!

1674
来自专栏王亚昌的专栏

分布式消息队列浅析

一个优秀的分布式消息队列,个人分析应该具备以下的能力:高吞吐、低时延(因场景而异),传输透明,伸缩性强,有冗灾能力,一致性顺序投递,同步+异步的发送方式,完善的...

3435
来自专栏即时通讯技术

IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列

消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一。

4004
来自专栏程序你好

微服务架构入门(Micro-Architecture)

1365
来自专栏吴生的专栏

消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局

消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它...

6517
来自专栏Android群英传

震惊!我逆向了Android代码居然看见……

1351

扫码关注云+社区

领取腾讯云代金券