【错误记录】Flutter / Android 报错 ( AAPT: error: attribute android:requestLegacyExternalStorage not found )
文章目錄
- 一、 報錯信息
- 二、 問題分析
- 三、 解決方案
一、 報錯信息
Flutter 使用 image_picker 時 , 需要進行 AndroidX 兼容 , 設置了 Android 編譯 SDK 和 目標 SDK 版本為 28 ;
image_picker 的 Android 設置要求在 AndroidManifest.xml 清單文件的 application 節點上添加 android:requestLegacyExternalStorage="true" 屬性 ;
FAILURE: Build failed with an exception.* What went wrong: Execution failed for task ':app:processDebugResources'. > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade> Android resource linking failedY:\002_WorkSpace\001_AS\flutter_photo\flutter_photo\android\app\src\main\AndroidManifest.xml:9:5-31:19: AAPT: error: attribute android:requestLegacyExternalStorage not found.* Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 3s Exception: Gradle task assembleDebug failed with exit code 1二、 問題分析
在 image_picker 插件的 Android 配置中導致上述問題 ;
【Flutter】Flutter 拍照示例 ( Flutter 插件配置 | Flutter 插件源碼示例 | iOS 應用配置 | Android 應用配置 ) 四、Android 應用配置 配置 Android 工程時 , 要求 29 版本及以上才添加 , 29 版本以下不添加
android:requestLegacyExternalStorage="true"配置 ;
這里屬于畫蛇添足了 , 該配置時 API 29 之后使用的 , 如果在之前的 API 版本使用 , 就會報上述錯誤 ;
三、 解決方案
鑒于當前的編譯版本和目標版本都是 28 , 這里刪除 AndroidManifest.xml 清單文件中的 android:requestLegacyExternalStorage="true" 配置 , 該問題解決 ; ( 測試成功 )
其它解決方案 : 將編譯 SDK 版本提高到 29 以上 , 也可解決該問題 ;
總結
以上是生活随笔為你收集整理的【错误记录】Flutter / Android 报错 ( AAPT: error: attribute android:requestLegacyExternalStorage not found )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Flutter】Flutter 拍照示
- 下一篇: 【Flutter】Flutter 拍照示