Flutter ImagePicker错误“找不到android:requestLegacyExternalStorage属性”

问题描述

我在Flutter项目中使用image_picker。它说:“ API 将android:requestLegacyExternalStorage =“ true”作为属性添加到AndroidManifest.xml中的标签。在针对Android Q的应用程序中,认情况下该属性为false。”

build.gradle中,它在compileSdkVersion 28下有android,在minSdkVersion 16下有targetSdkVersion 28defaultConfig。我对此并不熟悉,但是我认为它们符合API<29条件。所以我添加属性

然后,我的项目将不再编译,并显示错误消息“ AAPT:错误:找不到属性android:requestLegacyExternalStorage”。如果删除android:requestLegacyExternalStorage="true",它将编译。但是,由于它明确要求添加属性,因此我想弄清楚这一点,以避免出现任何潜在问题,例如在iOS上由于权限相关的问题而被拒绝。

添加属性后,我的AndroidManifest.xml如下所示:

enter image description here

该怎么办?谢谢!

解决方法

要解决该问题,请在“ build.gradle(项目)”中将“ compileSdkVersion”,“ buildToolsVersion”和“ targetSdkVersion”设置为29,如下所示:

buildToolsVersion = “29.0.0”
minSdkVersion = 21
compileSdkVersion = 29
targetSdkVersion = 29
supportLibVersion = “28.0.0”