对于这个最新的系统,谷歌强调,Android Oreo 拥有更好的安全性,同时8.1系统中还新增画中画、桌面角标、通知分组等功能。另外,Android 8.1续航还进行了特别的优化,谷歌加入了后台程序强力监控,提升了整体续航能力。
Android 8.1适配规范
1. 兼容性适配
- 安装、卸载正常
- 应用核心功能无卡死、停止运行、闪退、无响应等异常现象
- UI显示正常
- 登录账号正常(含第三方登录)
2. 卡顿、耗电适配
- 功耗:
待机功耗 <= 8mA
运行场景功耗 <= 400mA - 性能:
应用启动速度 <= 1500ms
资源加载速度 <= 4000ms
FPS帧率 >= 25帧且不得连续丢3帧
Android 8.1常见问题及处理方式
1. 三方加固
- 问题描述: 由于android 8.1在art部分的变动, 导致很多三方加固出现兼容性问题。
- 快速定位: 目前已知问题的错误都有比较明显的对应so报错, 此外如果您发现ClassNotFoundException等异常堆栈, 也很有可能是脱壳异常造成的问题。
- 解决方案: 使用最新三方加固的应用, 请务必更新到最新的加固版本。
2. 联通付费sdk
-
问题描述: 部分应用厂商接入了联通付费sdk在android 8.1上会导致crash。
-
快速定位: 可以在log中定位到Attempt to invoke virtual method 'void android.app.Application.onCreate()' on a null object reference这类崩溃信息。
-
解决办法: 需要升级到最新470版本。
3. 证书校验异常无法安装
-
问题描述: 由于jdk版本切换, 导致部分应用证书签名校验失败无法安装。
-
快速定位: 可以在log中找到Caused by: java.security.SignatureException: InvalidKey此类的安装异常。
-
解决办法: 基于android O重新打包签名。
4. altas框架
- 问题描述: 使用atlas框架较低版本的用户, 在android 8.1上存在兼容性问题, 会导致应用100%崩溃。
- 快速定位: libdexinterpret.so会报出地址异常。
- 解决方案: 目前atlas开发者已经更新兼容android 8.1的libdexinterpret.so, 请及时更新。
5. registerContentObserver使用
- 问题描述: 在您的版本升级到8.1及以上, 如果您使用的registerContentObserver无法在系统中指- 定到对应provider, 将会造成程序崩溃。
- 快速定位: 该问题发生会打印出java.lang.SecurityException: Failed to find provider***的异常堆栈。
- 解决方案: 在应用版本升级到android 8.1以上后, 请务必保证您使用的registerContentObserver能指向有效的provider。
6. notification channel
- 问题描述: android O新特性, 开发者将应用升级到8.1后, 使用notification时, 需要自行定义notification channel, 否则你的notificaiton将不会生效。
- 快速定位: 能在log找到No Channel found for ***的相关提示log。
- 解决方案: 仔细阅读谷歌的官方文档, 参照其修改即可。
7. DexPathList类
- 问题描述: 部分应用反射使用此类, 调用makePathElements这类内部接口, 在android 8.1可能会造成您的程序异常。
- 解决方案: 请修改您的程序, 不要再尝试使用此方法调用谷歌已经弃用的接口
8. 后台执行限制
应用在两个方面受到限制:
- 后台服务限制: 处于后台空闲状态时,应用可以使用的后台服务存在限制。限制包括应用后台服务会被stop,后台应用创建不了后台服务等。
- 广播限制: 除了有限的例外情况,应用无法在AndroidManifest.xml清单中为隐式广播注册广播接收器,但可以在运行时注册这些广播,并且可以使用清单注册专门针对它们的显式广播。
网友评论