我們很高興地宣布,我們剛剛發布了 cordova-plugin-file
的更新!
升級方法
cordova plugin remove cordova-plugin-file
cordova plugin add cordova-plugin-file@8.0.0
版本重點
重大變更
-
移除
WRITE_EXTERNAL_STORAGE
權限根據 Android 11 中的儲存空間更新 官方文件,
WRITE_EXTERNAL_STORAGE
權限不再運作,並且不會授與寫入外部儲存空間的權限。如果此權限未在以
Build.VERSION_CODES.Q
(SDK 29) 之前的 API 等級為目標的應用程式中列入允許清單,則無法將此權限授予應用程式。儘管 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 工作流程與參數化基準設定同步
- GH-574 chore:更新
@cordova/eslint-config@5.0.0
並修正 - GH-556 feat(android)!:從
plugin.xml
中移除WRITE_EXTERNAL_STORAGE
權限 - GH-554 spec(android):根據測試環境修正 spec
- GH-547 fix(types):將
FileWriter.write
標示為支援ArrayBuffer
資料 - GH-535 ci:將工作流程與參數化同步
- GH-531 dep(npm):使用重建提升 package-lock v2
- GH-529 ci(android):更新
cordova-android@11
的 java 要求