【错误记录】Flutter / Android 报错 ( AAPT: error: attribute android:requestLegacyExternalStorage not found )

简介: 【错误记录】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 failed
     Y:\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.org
BUILD FAILED in 3s
Exception: Gradle task assembleDebug failed with exit code 1




image.png




二、 问题分析


在 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 以上 , 也可解决该问题 ;


目录
相关文章
|
3月前
|
安全 开发工具 Android开发
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
228 0
|
7天前
|
Android开发 开发者
安卓投屏神器 Scrcpy安 报错ERROR: Could not find any ADB device
使用Scrcpy安卓投屏工具时遇到报错,问题根源是未开启开发者模式。解决步骤:进入设置,点击【关于手机】→连续点击版本号激活开发者模式,然后在【系统设置】→【开发者选项】中开启USB调试。参照此方法后可正常执行。Scrcpy软件下载链接和GitHub页面也已提供。
20 1
|
4月前
|
Dart 开发工具 Android开发
Flutter混合开发:Android中如何启动Flutter
Flutter混合开发:Android中如何启动Flutter 如果你想在你的Android应用中使用Flutter,则需要遵循以下步骤:
|
6月前
|
开发工具 Android开发 iOS开发
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
使用vs2019学习xamarin时,创建新程序。使用模拟器真机等测试都报错如下图错误: ![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231030-de8ce5fd.png?x-cos-security-token=r4KyZDEowPT0kGTL0LqE8EnwfN1Nzexadb05dcffed3939ff8d7591c528c01706nvpGSE93QwHpZM8NwhJNTZctNRQa0l3KDhEnqj8P7d8t
62 0
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
|
8月前
|
数据安全/隐私保护 Android开发
uniapp vue3版本 Android 引用 jsencrypt加密库 报错问题 “default“ is not exported by,解决方法
uniapp vue3版本 Android 引用 jsencrypt加密库 报错问题 “default“ is not exported by,解决方法
830 0
|
9月前
|
开发框架 Dart 开发工具
使用Flutter开发一套可同时运行在Android和iOS平台的代码
Flutter是一种跨平台移动应用开发框架,它允许开发者使用单一代码库构建高性能、美观且可在多个平台上运行的应用程序。本文将介绍如何使用Flutter开发一套同时适用于Android和iOS平台的代码。
|
9月前
|
前端开发 Android开发
在android studio中启动模拟器的时候报错...keeps shopping
在android studio中启动模拟器的时候报错...keeps shopping
67 0
|
10月前
|
API Android开发
Flutter导入第三方包后报错The number of method references in a .dex file cannot exceed 64K
Flutter导入第三方包后报错The number of method references in a .dex file cannot exceed 64K
Flutter的setState的使用注意事项以及报错The method ‘setState‘ isn‘t defined for the type
Flutter的setState的使用注意事项以及报错The method ‘setState‘ isn‘t defined for the type
|
10月前
|
Linux 开发者 Windows
Flutter报错Building with plugins requires symlink support的解决方法
Flutter报错Building with plugins requires symlink support的解决方法