问题描述
我在Flutter项目中使用image_picker。它说:“ API 将android:requestLegacyExternalStorage =“ true”作为属性添加到AndroidManifest.xml中的标签。在针对Android Q的应用程序中,默认情况下该属性为false。”
在build.gradle
中,它在compileSdkVersion 28
下有android
,在minSdkVersion 16
下有targetSdkVersion 28
和defaultConfig
。我对此并不熟悉,但是我认为它们符合API<29
条件。所以我添加了属性。
然后,我的项目将不再编译,并显示错误消息“ AAPT:错误:找不到属性android:requestLegacyExternalStorage”。如果删除android:requestLegacyExternalStorage="true"
,它将编译。但是,由于它明确要求添加此属性,因此我想弄清楚这一点,以避免出现任何潜在问题,例如在iOS上由于权限相关的问题而被拒绝。
添加属性后,我的AndroidManifest.xml
如下所示:
该怎么办?谢谢!
解决方法
要解决该问题,请在“ build.gradle(项目)”中将“ compileSdkVersion”,“ buildToolsVersion”和“ targetSdkVersion”设置为29,如下所示:
buildToolsVersion = “29.0.0”
minSdkVersion = 21
compileSdkVersion = 29
targetSdkVersion = 29
supportLibVersion = “28.0.0”