【发布时间】:2020-12-21 04:27:51
【问题描述】:
我在我的颤振项目中使用image_picker。它说“API 将 android:requestLegacyExternalStorage="true" 作为属性添加到 AndroidManifest.xml 中的标记。在针对 Android Q 的应用上,该属性默认为 false。”
在build.gradle 中,在android 下有compileSdkVersion 28,在defaultConfig 下有minSdkVersion 16 和targetSdkVersion 28。我对此并不熟悉,但我认为这些符合API<29 条件。所以我添加了属性。
然后我的项目将不再编译,并出现错误提示“AAPT:错误:属性 android:requestLegacyExternalStorage 未找到。”如果我删除android:requestLegacyExternalStorage="true",它将编译。但是,由于它特别要求添加此属性,因此我想弄清楚这一点以避免任何潜在问题,例如在 iOS 上因权限相关问题而被拒绝。
添加属性后,我的AndroidManifest.xml 看起来像:
我该怎么办?谢谢!
【问题讨论】:
-
"如果我删除 android:requestLegacyExternalStorage="true"" 就可以编译了,这意味着没有问题了吗?
-
是的,但它特别要求添加此属性。我想避免任何潜在问题,例如在 iOS 上因权限相关问题而被拒绝。
-
我猜它不会影响IOS,因为你添加了
AndroidManifest.xml。或许用IOS设备测试? -
我的意思是避免出现类似于 iOS 上 App Store 被拒绝的问题。如果我不添加此属性,不确定谷歌会做什么。
-
将 android:requestLegacyExternalStorage="true" 添加到清单文件仅对 sdk 版本 29 有意义。对于运行 Android Q/10 的设备。那个文档是错误的。
标签: android flutter android-permissions