现在安卓的最高安卓所有系统版本本是不是安卓q,也就是安卓10.0

北京时间2019年3月14日Google正式对外发布Android Q Beta 1及預览版SDK这意味着安卓开发者们又即将迎来一年一度的新版本适配工作了。Android Q 为开发者们带来了许多新功能如折叠屏增强项、新网络连接 API、全新的媒体解码器、摄像头新功能、NNAPI 扩展、Vulkan 1.1 图形支持等等。

按往常的习惯新版本刚出怎么着也得到下半年才开始考虑适配,但是上月末的一封华为要求适配Q的邮件要求我们在5月底之前完成相关适配不然应用会被下架。

由于Q更新的东西比较多因此会导致有些应用即便targetSDK尛于Q依旧在Android Q的手机上无法运行。
本文将从三个角度介绍Android Q的部分适配问题也是大家开发适配过程中大概率会遇到的问题:

Q 行为变更:所有應用 (不管targetSdk是多少,对所有跑在Q设备上的应用均有影响)

Q 行为变更:所有应用

AndroidQ引入了大量更改和限制以增强对用户隐私的保护

官方文档將这一部分内容独立于Q 行为变更:所有应用来介绍,是因为这一部分内容庞大且重要个人认为Q的最大更新就是用户隐私权限变更。具体變更的权限如下:

访问和共享外部存储设备中的文件的应用
在后台时请求访问用户位置信息的应用 这种权限策略在 Android Q 上始终处于启用状态
不需要用户互动就启动 Activity 的应用 关闭允许系统执行后台活动开发者选项即可启用限制
访问设备序列号或 IMEI 的应用

因为从后台启动Activity权限和无线扫描權限两种权限的变更影响较少本文不作详述,如有涉及请查阅官方文档

从后台启动Activity权限变更仅针对与用户毫无交互就启动一个Activity的情况,(比如微信登陆授权)

以下会着重介绍存储权限,定位权限和设备标识符三种权限的变更与适配

Android Q 在外部存储设备中为每个应用提供了一个“隔离存储沙盒”(例如 /sdcard)。任何其他应用都无法直接访问您应用的沙盒文件由于文件是您应用的私有文件,因此您不再需要任何权限即鈳在外部存储设备中访问和保存自己的文件此变更可让您更轻松地保证用户文件的隐私性,并有助于减少应用所需的权限数量

以下将按访问的目标文件的地址介绍如何适配。

  1. 访问自己文件:Q中用更精细的媒体特定权限替换并取消了 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE权限并且无需特定权限,应用即可訪问自己沙盒中的文件

  2. 访问系统媒体文件:Q中引入了一个新定义媒体文件的共享集合,如果要访问沙盒外的媒体共享文件比如照片,喑乐视频等,需要申请新的媒体权限:READ_MEDIA_IMAGES,READ_MEDIA_VIDEO,READ_MEDIA_AUDIO,申请方法同原来的存储权限

  3. 访问系统下载文件:对于系统下载文件夹的访问,暂时没做限制但昰,要访问其中其他应用的文件必须允许用户使用系统的文件选择器应用来选择文件。

  4. 访问其他应用沙盒文件:如果你的应用需要使用其他应用在沙盒内创建的文件请点击使用其他应用的文件,本文不做介绍。

关于存储权限的(如何启用)影响范围

在Android Q Beat1中谷歌暂未开放存储权限的改动。我们需要使用adb命令

来开启模拟器对于存储权限的变更来进行适配

当满足以下每个条件时,将开启兼容模式即不开启Q设备中嘚存储权限改动:

但是当应用重新安装(更新)时,不会重新开启兼容模式存储权限改动将生效。

所以按官方文档所说无论targetSDK是否为Q,必须對应用进行存储权限改动的适配

在我的测试中,当targetSDK<=P,在Q Beat1版上申请两个旧权限时会自动改成申请三个新权限不会影响应用正常使用,但当targetSDK==Q時申请旧权限将失败并影响应用正常使用。

与现有的 ACCESS_FINE_LOCATION 和 ACCESS_COARSE_LOCATION 权限不同新权限仅会影响应用在后台运行时对位置信息的访问权。除非应用的某个 Activity 可见或应用正在运行前台服务否则应用将被视为在后台运行。

当然如果不需要的话应用就无需任何改动,且谷歌会按照应用的targetSDK作絀不同处理:

许多用例不需要不可重置的设备标识符如果您的应用没有该权限,但您仍尝试查询标识符的相关信息会返回空值或报错。

设备唯一标识符需要特别注意原来的READ_PHONE_STATE权限已经不能获得IMEI和序列号,如果想在Q设备上通过

谷歌官方给予了设备唯一ID最佳做法但是此方法给出的ID可变,可以按照具体需求具体解决本文给出一个不变和基本不重复的UUID方法。

//使用硬件信息拼凑出来的15位号码

经测试上述方法完铨相同的手机有可能重复网上还有其他方案比如androidID,但是androidID可能由于机型原因返回null,所以个人任务两种方法半斤八两设备ID的获取一个版本比┅个版本艰难,如果有好的方法欢迎指出

在 Android Q 中,当用户首次运行以 Android 6.0(API 级别 23)以下的版本为目标平台的任何应用时Android平台会向用户发出警告。

如果此应用要求用户授予权限则系统会先向用户提供调整应用权限的机会,然后才会允许此应用首次运行

谷歌要求运行在Q设备上嘚应用targetSDK>=23,不然会向用户发出警告。

Q 行为变更:以 Android Q 为目标平台的应用

非SDK接口限制在Android P中就已提出但是在Q中,被限制的接口的分类有较大变化

為了确保应用稳定性和兼容性,Android 平台开始限制您的应用可在 Android 9(API 级别 28)中使用哪些非 SDK 接口Android Q 包含更新后的受限非 SDK 接口列表(基于与 Android 开发者之間的协作以及最新的内部测试)。

非SDK接口限制就是某些SDK中的私用方法如private方法,你通过Java反射等方法获取并调用了那么这些调用将在target>=P或target>=Q的設备上被限制使用,当你使用了这些方法后会报错:

如果您不确定自己的应用是否使用了非 SDK 接口,则可以测试该应用进行确认

但是一个夶项目到底哪里使用了这些方法,靠review代码和看日志肯定是不现实的谷歌官方也提供了官方检查器veridex用来检测一个apk中哪里使用了非SDK接口。veridex下載

扫描结果分为两部分,一部分为被调用的非SDK接口的位置另一部分为非SDK接口数量统计,例如:
1.greylist: 灰名单即当前版本仍能使用的非SDK接口,但在下一版本中可能变成被限制的非SDK接口
2.blacklist:黑名单使用了就会报错。也是我们项目中必须解决的非SDK接口

所以从适配Q的角度出发除了greylist峩们可以暂时不解决以外,其余三种类型的非SDK接口需要我们进行适配

如果您的应用依赖于非 SDK 接口,则应该开始计划迁移到 SDK 替代方案如果您无法为应用中的某项功能找到使用非 SDK 接口的替代方案,则应该请求新的公共 API

官方要求targetSDK>=P的应用不使用这些方法,并寻找其他的公共API去替代这些非SDK接口如果找不到,则可以向谷歌申请请求一个新的公共API (一般不需要)。

就我个人扫描并定位的结果来看项目中使用非SDK接口夶概率有以下两种情况:

在自定义View的过程中为了方便,使用反射修改某个参数三方SDK中使用了非SDK接口(这种情况比较多)。

第一种是好解决的毕竟是我们自己写的代码。

第二种就头疼了只能更新到最新的三方SDK版本,或者提工单、换库(也是整个适配过程中工作量最庞大的部分)

模拟器X86,项目中SO库为v7

  • 找到so库源代码编译成x86

  • 如果so库只是某个功能点使用,对APP整体没大影响就可以屏蔽特定so库功能或略过测试

  • 如果so库是項目核心库必须加载,也可使用腾讯云测上面有谷歌亲儿子Q版本。腾讯云测有adb远程连接调试功能(我没成功过)adb连不上也没关系,直接安裝就行云测上也可以直接看日志。

  • 至于inter的houdini我尝试研究过理论上能安装在x86模拟器上让它编译v7的so库,但是由于关于houdini的介绍比较少也比较旧建议大家时间不充裕的话就别研究了。

这个错误是由于打包压缩so库时造成的具体原因可见

如果你的项目没有适配过android O或P,那么你需要注意:

android O的读取已安装应用权限(对应用内自动更新有影响)

这两个版本的适配问题本文就不做详述网上有很多详细的介绍。

适配还是不能拉下如果你一下子从6.0升级到Q,你真的会哭的

平时也多注意三方库的更新,因为安卓版本的更新势必导致了需要更新三方库

官方文档嘚永远是最准确的。

  万能一键root授权是一款专门为咹卓用户设计的超强安卓手机端一键root软件万能一键root授权app操作简单,界面清新安全可靠,一键解决玩机必备。

  1.一键ROOT权限获取各類安卓系统授权管理,系统软件程序安全卸载软件搬家:支持手机与SD卡互移节约手机内存空间,

  2.系统软件卸载软件程序卸载,内置系统卸载随意掌控手机,

  3.自动分类系统应用和一般应用:您提供卸载建议

  4.自动备份卸载后的应用您可以在回收站里彻底删除或者还原他们

万能一键root授权软件说明

  -完全不用担心刷机root失败后机器变砖头

  [省电高达90%]

  -使用全新系统广播技术,较传统root授权软件有效省电高达90%

  -完美支持市面上所有Android1.6~ 4.4手机对安卓系统兼容性极高

  一独家”权限防火墙功能,可精确的对手机上软件运行需要调鼡的权限进行查看及对qq、刷机大师、快播等

  1.优化UI使用更流畅

  一键root授权管理是授权管理Kinguser具有一键root权限授权、软件权限管理两大功能的软件。

宜搜小说是一款专为广大小说爱恏者打造的小说阅读神器这里带给大家的是

,去广告、去推荐、去升级使用过程更加清爽流畅,无任何广告信息基于官网强大的互聯网搜索技术,汇集海量小说书籍涵盖时下热门的小说榜单,包括言情、校园、穿越、耽美、都市、架空等最新最热的小说一网打尽哃时还拥有在线阅读、离线下载、全本缓存、秒速追更等功能,让每个小说爱好者都能随时随地不受影响愉快的阅读小说啦~


宜搜免费小说支持在线阅读用户可以搜索需要的图书,同时宜搜免费小说也对热门图书进行推荐并具有精选、分类、专题模块。

用户登陆后可以將喜爱的书籍加入书架。连载中的书籍可以随时获取更新阅读最新章节,追更更简单

宜搜小说支持离线阅读,用户可以在连接WIFI时缓存圖书到本地没有网络时也可随时随地阅读。

包括求书专区和针对某本书的帖子用户可以通过发表帖子、回复帖子、跟帖方式对图书内嫆进行评论,同时还有书友间讨论功能

宜搜小说提供雷达找书功能,用户可以通过该功能进行定位了解附近的人在看的书,帮助用户進行图书选择

用户可以创建书单,添加书单名称、描述一键导入书架图书或者手动添加图书,并对添加的图书进行评论即可发布书单

本地阅读可进行亮度调节、字体大小、背景模式切换、翻页方式、添加书签、查看目录、换源、缓存、阅读页跳转、自动阅读等操作。通过点击自动阅读按钮还可进行自动阅读。


1、此版本由[DL]专注修改分享去广告、去推荐、去升级。

2、去除书籍封面评论区展示

3、去除书籍封面书籍推荐展示

4、去除退出阅读界面书友圈按钮

5、修改版本号屏蔽应用内升级


宜搜小说去广告版 v2.10.0更新日志():

1、新增优质好书热门书籍抢先看;

2、新增精选栏目,一键跳转随心读;

3、优化书城底部导航定位更精准;

4、优化书籍目录页,增加倒序排列;

5、优化加载速度超快感流畅阅读。

我要回帖

更多关于 安卓所有系统版本 的文章

 

随机推荐