Flutter file_picker 插件无法构建项目

Flutter file_picker plugin can't build project

将 file_picker: ^1.13.3 添加到我的依赖项后,项目无法构建并出现此错误

失败:构建失败,出现异常。

A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade File 'com.android.builder.files.ZipCentralDirectory@7dfb72cd' was deleted, but previous version not found in cache

1 米 8 秒后构建失败 异常:Gradle 任务 assembleDebug 失败,退出代码为 1

但每次我删除它时项目都会成功构建,请帮忙我已经尝试了建议的各种版本但都无济于事

这是请求的 android 清单

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.app.www.app">
   <application
        android:name="io.flutter.app.FlutterApplication"
        android:label="finosellapp"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
          
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/NormalTheme"
              />
          
            <meta-data
              android:name="io.flutter.embedding.android.SplashScreenDrawable"
              android:resource="@drawable/launch_background"
              />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
</manifest>

因为 file_picker 目前不支持分区存储,您需要在 AndroidManifest.xml 文件中设置 android:requestLegacyExternalStorage="true",位于 :

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.app.www.app">
    <application
        android:name="io.flutter.app.FlutterApplication"
        android:label="finosellapp"
        android:requestLegacyExternalStorage="true"
        android:icon="@mipmap/ic_launcher">
       
        <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">

            <meta-data
                android:name="io.flutter.embedding.android.NormalTheme"
                android:resource="@style/NormalTheme"
                />

            <meta-data
                android:name="io.flutter.embedding.android.SplashScreenDrawable"
                android:resource="@drawable/launch_background"
                />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
</manifest>

添加: android:requestLegacyExternalStorage="true" 在你的 AndroidManifest.xml

添加: android -> build.gradle

中的类路径 'com.android.tools.build:gradle:3.6.3'
ebuildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.3'
    }
}

添加: distributionUrl=https://services.gradle.org/distributions/gradle-6.1.1-all.zip 在你的 gradle-wrapper.properties

创建一个文件'proguard-rules.pro'并写入: -keep class androidx.lifecycle.** { *; }

在您的 android -> 应用程序 -> build.gradle 添加:

android{
    buildTypes {
       release{
          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
       }
    }
}

``

将此添加到您的 Android 清单文件

android:requestLegacyExternalStorage="true" 

并在 filepicker build.gradle 文件中将应用程序 compileSdkVersion 更改为 28。要获取此文件,您要求在右上角的 andriod 文件夹中打开 MainActivity.class 文件 打开以进行编辑 android studio 单击它作为新 android 项目打开。然后 select file filepicker build.gradle file.

希望对您有所帮助。

过去 5 天我一直在为这个问题苦苦挣扎,现在只有我自己解决了。