You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter项目中file_picker插件构建失败及Android真机失效求助

Flutter file_picker插件适配问题解决方案

问题1:4.1.3版本Android真机无法打开文件选择器

Android 13(API 33+)已废弃原有的READ_EXTERNAL_STORAGE/WRITE_EXTERNAL_STORAGE权限用于文件选择场景,需替换为新的媒体权限,同时兼容低版本:

  • 修改AndroidManifest.xml权限配置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myproject">
    <!-- Android 13+ 媒体文件权限 -->
    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
    <!-- 兼容Android 12及以下版本 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
</manifest>
  • 配合permission_handler插件动态申请权限,确保运行时获取到对应权限后再调用file_picker。

问题2:升级至5.3.1版本后构建失败

报错是因为插件的Android Gradle配置与项目AGP(Android Gradle Plugin)版本不兼容,5.x版本要求AGP≥7.0.0,对应Gradle版本≥7.0:

  1. 升级项目AGP版本:
    • 修改项目根目录build.gradle中的AGP依赖:
      dependencies {
          classpath 'com.android.tools.build:gradle:7.0.4' // 或更高兼容版本
          // 其他依赖...
      }
      
    • 修改gradle/wrapper/gradle-wrapper.properties中的Gradle版本:
      distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
      
  2. 若不想升级AGP,可尝试降级至file_picker 5.1.0版本,该版本对旧AGP兼容性更好。
  3. 清理缓存后重新构建:
    flutter clean
    rm pubspec.lock
    flutter pub get
    flutter run
    

内容的提问来源于stack exchange,提问作者progranoob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 09:12:52