部落格 RSS Feed

檔案外掛程式 8.0.0 發布!
作者:Bryan Ellis
2023 年 7 月 11 日

我們很高興地宣布,我們剛剛發布了 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_IMAGESREAD_MEDIA_VIDEOREAD_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 要求