簡體   English   中英

Cordova【安卓平台】從API 29遷移到API 30

[英]Cordova [Android platform] migration from API 29 to API 30

I'm trying to migrate my mobile app (developed with Cordova and AngularJS for Android and iOS platforms) and I have some issues from API 29 to API 30. In my app I download from a REST service a JSON catalogue with separated pictures (JPG格式)存儲在數據目錄(cordova.file.dataDirectory)中。 將 API 設置為 29 的應用程序構建應用程序運行正常,下載圖片並在 HTML 頁面(使用 AngularJS 更新)中顯示它們。 但是,如果我嘗試將 API 設置為 30 來構建它,該應用程序將繼續運行(它會正確下載 json 和數據目錄中的 jpg 文件),但不會顯示存儲在該目錄中的圖片。 我還嘗試使用所有更新的組件(Cordova 10.0.0、Android 平台 10.0.0、插件等)創建一個新的簡單移動應用程序,但我得到了相同的行為,我無法解決這個問題。 你能幫我或者你知道如何解決它嗎?

使用 API 構建的 Info App 29

Cordova v8.1.2
Android 平台 v8.0.0

使用 API 30 構建信息應用程序

Cordova v10.0.0
Android 平台 v10.0.0

插件列表

cordova-plugin-android-permissions 1.0.2“權限”
cordova-plugin-camera 4.1.0“相機”
cordova-plugin-compat 1.2.0“兼容”
cordova-plugin-datepicker 0.9.3“DatePicker”
cordova-plugin-device 2.0.3“設備”
cordova-plugin-dialogs 2.0.2“通知”
cordova-plugin-file 6.0.2“文件”
cordova-plugin-file-hash 0.4.1“FileHash”
cordova-plugin-filepath 1.5.8 “cordova-plugin-filepath”
cordova-plugin-geolocation 4.0.2“地理定位”
cordova-plugin-globalization 1.11.0 “全球化”
cordova-plugin-inappbrowser 3.2.0“InAppBrowser”
cordova-plugin.network-information 2.0.2“網絡信息”
cordova-plugin-sign-in-with-apple 0.1.2“cordova-plugin-sign-in-with-apple”
cordova-plugin-splashscreen 5.0.3“啟動畫面”
cordova-plugin-statusbar 2.4.3“狀態欄”
cordova-plugin-whitelist 1.3.4 “白名單”
cordova-plugin-wkwebview-engine 1.2.1 “Cordova WKWebView 引擎”
cordova-plugin-wkwebview-file-xhr 2.1.4 “Cordova WKWebView 文件 XHR 插件”
cordova-sqlite-storage 5.0.0 《Cordova sqlite 存儲插件-cordova-sqlite-storage 插件版》
ionic-plugin-keyboard 2.2.1“鍵盤”
phonegap-plugin-mobile-accessibility 1.0.5-dev“移動輔助功能”

嘗試添加到您的配置

 <preference name="AndroidInsecureFileModeEnabled" value="true" />

Eric 建議的設置可能適合您,但不推薦這樣做。 新的 cordova-android 版本使用一個名為 WebViewAssetLoader 的 API 來加載您的應用程序到正確的 http(s) 方案而不是文件:。 我懷疑您在下載數據時遇到 CORS 問題。

在 Cordova 中閱讀有關 WebViewAssetLoader 的更多信息: https://cordova.apache.org/announcements/2021/07/20/cordova-android-10.0.0.html

更好的方法是找出一個正確的 CORS 並且不要使用不安全的設置。 你應該找到很多關於 CORS 的資源。如果你需要幫助,請回復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM