0

モバイル アプリ (Android および iOS プラットフォーム用の Cordova および AngularJS で開発) を移行しようとしていますが、API 29 から API 30 にいくつかの問題があります。アプリでは、REST サービスから分離された写真を含む JSON カタログをダウンロードします (JPG形式) をデータ ディレクトリ (cordova.file.dataDirectory) に保存します。API が 29 に設定されたアプリ ビルドでは、アプリは正常に動作し、画像をダウンロードして HTML ページ (AngularJS で更新) に表示します。しかし、API を 30 に設定してビルドしようとすると、アプリは引き続き動作します (データ ディレクトリに json ファイルと jpg ファイルを正しくダウンロードします) が、そのディレクトリに保存されている画像は表示されません。また、更新されたすべてのコンポーネント (Cordova 10.0.0、Android プラットフォーム 10.0.0、プラグインなど) を使用して新しいシンプルなモバイル アプリを作成しようとしましたが、同じ動作が得られ、この問題を解決できません。

API 29 を使用した情報アプリのビルド

コルドバ v8.1.2
Android プラットフォーム v8.0.0

API 30 を使用した情報アプリのビルド

コルドバ 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 「Compat」
cordova-plugin-datepicker 0.9.3 「DatePicker」
cordova-plugin- device 2.0.3 "Device"
cordova-plugin-dialogs 2.0.2 "Notification"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-file-hash 0.4.1 "FileHash"
cordova-plugin-filepath 1.5.8 "cordova-plugin-filepath"
cordova-plugin-geolocation 4.0.2 "Geolocation"
cordova-plugin-globalization 1.11.0 "Globalization"
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 "Splashscreen"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-whitelist 1.3.4 "Whitelist"
cordova-plugin-wkwebview-engine 1.2.1 "Cordova WKWebView Engine"
cordova- plugin-wkwebview-file-xhr 2.1.4 「Cordova WKWebView ファイル XHR プラグイン」
cordova-sqlite-storage 5.0.0 「Cordova s​​qlite ストレージ プラグイン - cordova-sqlite-storage プラグイン バージョン」
ionic-plugin-keyboard 2.2.1 「キーボード」
phonegap-plugin-mobile-accessibility 1.0.5-dev "モバイル アクセシビリティ"

4

2 に答える 2

0

Eric が提案した設定はうまくいくかもしれませんが、お勧めしません。新しい cordova-android バージョンでは、WebViewAssetLoader という API を使用して、file: ではなく適切な http(s) スキームでアプリをロードします。データのダウンロード中に CORS の問題が発生したと思われます。

Cordova の WebViewAssetLoader について詳しくは、https: //cordova.apache.org/announcements/2021/07/20/cordova-android-10.0.0.htmlをご覧ください。

より良い方法は、適切な CORS を見つけ出し、安全でない設定を使用しないことです。CORS に関するリソースはたくさんあります。助けが必要な場合は返信してください。

于 2021-10-08T10:21:17.393 に答える