我们很高兴地宣布,我们刚刚发布了 cordova-plugin-file
的更新!
要升级
cordova plugin remove cordova-plugin-file
cordova plugin add [email protected]
发布亮点
重大更改
-
移除了
WRITE_EXTERNAL_STORAGE
权限根据 Android 11 中存储更新 的官方文档,
WRITE_EXTERNAL_STORAGE
权限不再有效,并且不会授予写入外部存储的权限。如果此权限未被允许用于目标 API 级别低于
Build.VERSION_CODES.Q
(SDK 29) 的应用,则此权限无法授予应用。尽管 Cordova 默认已从插件中删除此权限,但如果需要,您仍然可以使用项目
config.xml
文件中的config-file
标签将其添加回来。示例
<config-file target="AndroidManifest.xml" parent="/*" xmlns:android="http://schemas.android.com/apk/res/android"> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" /> </config-file>
请务必注意,您的 Cordova 项目中使用的其他插件可能仍包含
WRITE_EXTERNAL_STORAGE
权限。要验证是否其他插件添加了该权限,您可以检查合并后的AndroidManifest.xml
文件。合并后的
AndroidManifest.xml
文件可以在以下位置找到platforms/android/app/build/intermediates/merged_manifest/debug/AndroidManifest.xml
请记住,上面提供的示例文件路径特定于调试构建。对于发布构建或不同的构建变体,文件路径可能略有不同。
-
Android 13+ 支持
从 Android 13 (SDK 33) 开始,
READ_EXTERNAL_STORAGE
权限不再起任何作用。相反,此权限已被更细粒度的权限取代:READ_MEDIA_IMAGES
、READ_MEDIA_VIDEO
和READ_MEDIA_AUDIO
。为了适应这一变化,我们引入了这三个新的权限。这确保了与读取各种媒体文件相关的现有功能和行为在 Android 13 及更高版本中得到维护。
此外,为了支持新的细粒度权限和 Android 13 (SDK 33),我们将
cordova-android
的最低要求提高到12.0.0
版本。 此版本的 Cordova-Android 专门包含处理 Android 13 并使用新权限成功编译项目的必要更新。
请通过遵循 如何提交错误 指南来报告您发现的任何问题!
更新日志
- GH-534 fix(android): 修复内容
resolveLocalFileSystemURL
上的FileError
- GH-566 feat(android): 为 Android 13+ 添加
READ_MEDIA_*
权限 - GH-576 feat(android)!: 提升
cordova-android@12
要求 - GH-575 ci: 将 github 工作流与 paramedic 基本配置同步
- GH-574 chore: 使用修复更新
@cordova/[email protected]
- GH-556 feat(android)!: 从
plugin.xml
中删除WRITE_EXTERNAL_STORAGE
权限 - GH-554 spec(android): 基于测试环境修复 spec
- GH-547 fix(types): 将
FileWriter.write
标记为支持ArrayBuffer
数据 - GH-535 ci: 将工作流与 paramedic 同步
- GH-531 dep(npm): 使用重建提升 package-lock v2
- GH-529 ci(android): 更新
cordova-android@11
的 java 要求