上架 Google Play 应用如何适配 Android 11?
在 Android 10 中,Google 首次引入了分区存储。分区存储是需要以 Android 10 为目标平台,系统默认强制执行。
如果在 AndroidManifest 中添加了 requestLegacyExternalStorage=true 标志,就可以不受此限制。但是当 target API 更新为 30 (Android 11)后,系统会忽略该配置。
平台适配
1. 引擎存储协议适配:引擎提供的存储协议 fs:// , cache://,引擎会进行适配。2. 模块适配:官方模块已完成适配。开发者模块会陆续完成适配。因大部分模块是基于引擎协议 fs:// 开发,因此需要适配的模块很少。
应用适配
1. 如果是文件管理,文档管理类应用,需要添加 manageStorage 模块,申请 “所有文件访问权限”。需要在谷歌 play 控制台描述该权限的用途。
2. 如果不是文件管理类应用,不需特殊处理,编译后进行测试,所有功能正常,即可提交应用商店。如果发现有相关功能异常,如文件保存不了,可在论坛反馈,官方会及时处理。
谷歌商店声明,自 2021 年 8 月起,新应用必须以 API 级别 30 (Android 11)为目标平台。自 2021 年 11 月起,所有应用更新必须以 API 级别 30 (Android 11)为目标平台。
如何设置 API 级别为 30
1、下载附件中的 manifest.xml,将其中的 targetSdkVersion 更新为目标值,例如 30;
2、将 manifest.xml 置于你的/项目代码/res/目录下(widget/res/manifest.xml);
3、将你的 APP 代码中所有涉及到需要动态权限的操作,参照原帖附件中的代码,改造一遍。源码链接
(例如进行拍照录制视频等需要使用摄像头,以前的缺省处理中不需要申请摄像头权限,而开启动态权限后,必须在进行拍照之前,判断是否有摄像头权限,没有则进行申请,只有用户同意了摄像头权限才能进行接下来拍照的操作);
4、提交代码;
5、云编译界面勾选 APP 所需的权限;
6、使用升级环境编译 APP 或自定义 loader 即可。
国内小米、华为等应用商店目前还未发现有针对 Android 11 的强制适配要求,如果您的 APP 无上线 Google Play 需求则不受上述影响。
评论