问题:
プロジェクトはファイルストレージのデータ要件を使用しています プロジェクト内のmanifest.jsonに読み書き権限が追加されています 実機動作やクラウドパッケージ化は問題ありません ファイル内のデータは読み込めますが、オフラインパッケージ化やデータを読み込むだけです。
uniapp のオフライン パッケージ化には Android Studio が使用されます。ファイルの読み取りおよび書き込み権限はプロジェクトで使用されます。パッケージ化プロジェクト UniPlugin-Hello-AS に読み取りおよび書き込み権限を追加する必要があります。
特定の操作:ファイルを
変更すると、すべての権限設定がそのファイルに含まれます。UniPlugin-Hello-AS/app/src/main/AndroidManifest.xml
AndroidManifest
1. 読み取りおよび書き込み権限を追加します。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
2. アプリケーションを追加する (非常に重要)
android:requestLegacyExternalStorage="true"
注意:
読み取りおよび書き込み権限を追加するだけです。有効にはなりません。手順 2 の内容を追加する必要があります (最初は最初の手順の権限を追加しただけで、読み取りファイルの内容は空です。2 番目の手順を追加した後、ファイルのコンテンツの内容を読み取ることができますが、理由はわかりません)。
AndroidManifest.xml ファイルの内容:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.android.UniPlugin">
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true" />
<!-- 读写权限 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:name="io.dcloud.application.DCloudApplication"
android:allowBackup="true"
android:allowClearUserData="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:requestLegacyExternalStorage="true"
android:largeHeap="true"
android:supportsRtl="true">
<meta-data
android:name="dcloud_appkey"
android:value="替换为自己申请的Appkey" />
</application>
添付されているのは、uniapp クラウド パッケージ化によって追加されたデフォルトのアクセス許可と、Android プラットフォームのクラウド パッケージ化のアクセス許可設定です。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="com.asus.msa.SupplementaryDID.ACCESS" />
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" />
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
参考ブログ投稿: Android 10 は読み取りおよび書き込み権限を動的に適用します