Flutter,在image_picker上获取构建错误:^ 0.6.0 + 9

时间:2019-06-07 07:09:18

标签: flutter flutter-dependencies

当我将软件包更新为image_picker时:^ 0.6.0 + 9出现构建错误。 我已经迁移了Android X。

错误: 在调试模式下在vivo V3上启动lib / main.dart ... 正在初始化gradle ... 解决依赖性... 正在运行Gradle任务'assembleDebug'... D8:程序类型已存在:android.support.v4.media.MediaBrowserCompat $ CustomActionCallback

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

  • 出了什么问题: 任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'的执行失败。
      

    com.android.builder.dexing.DexArchiveMergerException:合并dex归档文件时出错:   在https://developer.android.com/studio/build/dependencies#duplicate_classes了解如何解决该问题。   程序类型已经存在:android.support.v4.media.MediaBrowserCompat $ CustomActionCallback

  • 尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。与--scan一起运行以获得完整的见解。
  • 通过https://help.gradle.org获取更多帮助 2秒内失败

Gradle失败可能是由于此Flutter应用程序中的AndroidX不兼容所致。


完成错误:Gradle任务assembleDebug失败,退出代码为1

4 个答案:

答案 0 :(得分:2)

Image提供程序没有问题,这与最新的flutter软件包有关。解决此问题

  1. 在Android Studio中打开Flutter项目的Android文件夹
  2. 在任务完成后等待构建gradle,单击 Refactor-> Refactor this->迁移到AndroidX或按 Ctrl + T ->迁移到AndroidX
  3. 拍打干净
  4. 繁荣发展自己的事业

如果您想通过抽动gradle文件来手动进行操作,请点击以下链接 https://flutter.dev/docs/development/androidx-migration

快乐黑客

答案 1 :(得分:0)

在gradle.properties中添加以下行

android.useAndroidX=true
android.enableJetifier=true

删除简单权限包。

答案 2 :(得分:0)

请务必遵循该指南以支持 AndroidX

https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility

用于解决Dex错误

尝试在您的Project文件夹> android> app> build.gradle中添加这一行

multiDexEnabled true

中添加以下行

defaultConfig

完成后使用flutter clean命令,然后尝试运行您的应用。

答案 3 :(得分:0)

这是因为您的应用程序与AndroidX不兼容,

有2个解决方案

1-在终端中使用此命令创建与AndroidX应用程序兼容的Flutter

  

import React from 'react' import { renderHook } from '@testing-library/react-hooks' import useBar from './useBar' describe('Replace `useEffect` with `useLayoutEffect` to check for an infinite loop', () => { let useEffect = React.useEffect beforeAll(() => { React.useEffect = React.useLayoutEffect }) afterAll(() => { React.useEffect = useEffect }) it('useBar', async () => { const { result } = renderHook(() => useBar()) }) })

2-配置您的应用manually