在 Android 10 中,Google 首次引入了分区存储。分区存储是须要以 Android 10 为指标平台,零碎默认强制执行。
如果在 AndroidManifest 中增加了 requestLegacyExternalStorage=true 标记,就能够不受此限度。然而当 target API 更新为 30 (Android 11) 后,零碎会疏忽该配置。
平台适配
- 引擎存储协定适配:引擎提供的存储协定 fs:// , cache://,引擎会进行适配。
- 模块适配:官网模块已实现适配。开发者模块会陆续实现适配。因大部分模块是基于引擎协定 fs:// 开发,因而须要适配的模块很少。
利用适配
- 如果是文件治理,文档治理类利用,须要增加 manageStorage 模块,申请“所有文件拜访权限”。须要在谷歌 play 控制台形容该权限的用处。
- 如果不是文件治理类利用,不需非凡解决,编译后进行测试,所有性能失常,即可提交利用商店。如果发现有相干性能异样,如文件保留不了,可在论坛反馈,官网会及时处理。
谷歌商店申明,自 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 需要则不受上述影响。