簡體   English   中英

將 sdk 版本從 28 升級到 29 時遇到錯誤

[英]faced error when upgrade sdk version from 28 to 29

將文件從內部存儲或 SD 卡復制到應用程序數據目錄時,我遇到了權限被拒絕的問題。 從內部存儲或 SD 卡上傳時會發生同樣的問題。

我嘗試在 android 目標 sdk 28 中構建相同的源代碼,一切正常,但該功能在 android 目標 sdk 29 中不起作用。我還嘗試在設備中安裝目標 sdk 28 並重新安裝目標 sdk 29 而無需卸載目標 sdk 28。我的應用程序在這種情況下運行良好。

有沒有人可以指導我,我如何修改我的配置以防止權限被拒絕問題?

    <content src="index.html" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <preference name="ScrollEnabled" value="false" />
    <preference name="BackupWebStorage" value="none" />
    <preference name="SplashMaintainAspectRatio" value="true" />
    <preference name="FadeSplashScreenDuration" value="300" />
    <preference name="SplashShowOnlyFirstTime" value="false" />
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="3000" />
    <preference name="android-minSdkVersion" value="22" />
    <preference name="android-targetSdkVersion" value="29" />
    <preference name="AndroidPersistentFileLocation" value="Compatibility" />
    <platform name="android">
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
            <application android:networkSecurityConfig="@xml/network_security_config" />
        </edit-config>
        <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
        <allow-intent href="market:*" />
        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
    </platform>
  1. 為 android X 安裝cordova插件

https://www.npmjs.com/package/cordova-plugin-androidx離子cordova插件添加cordova-plugin-androidx npm i cordova-plugin-androidx

https://www.npmjs.com/package/cordova-plugin-androidx-adapter離子cordova插件添加cordova-plugin-androidx-adapter npm i cordova-plugin-androidx-adapter

  1. 為 sdk 編輯 config.xml
 <preference name="android-buildToolsVersion" value="29.0.0" /> <preference name="android-minSdkVersion" value="22" /> <preference name="android-compileSdkVersion" value="29" /> <preference name="android-targetSdkVersion" value="29" /> <preference name="android-supportLibVersion" value="28.0.0" /> <preference name="android-googlePlayServicesAuthVersion" value="16.0.1" />
  1. 刪除現有的android平台,添加添加android平台9.0.0 +

  2. 在 AndroidManifest.xml 中編輯應用程序標簽,在下面添加屬性

android:requestLegacyExternalStorage="true"

暫無
暫無

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

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