将pubspec.yml添加依赖项后,Flutter应用程序无法在android中编译

时间:2019-02-27 17:31:02

标签: android visual-studio-code flutter

我已经将simple_permissions依赖项添加到我正在开发的Flutter应用程序中,但是添加它之后,该应用程序将无法构建并出现下一个错误:

Launching lib\main.dart on LG M700 in debug mode...
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
> com.android.build.api.transform.TransformException: Error while generating the main dex list.
* 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

我已经有了这个依赖项:

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.2
  path: ^1.6.2
  path_provider: ^0.5.0+1
  open_file: ^1.2.2+2

这可以正常编译,但是在添加simple_permissions: ^0.1.9之后,该应用将无法编译。我已经尝试了一些需要在build.gradle文件中进行更改的解决方案,但是它们都没有起作用,例如将sdk版本从27更改为28并添加以下代码:

project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "26.1.0"
            }
        }
    }
}

由于构建无法生成dex列表。

我正在使用vscode开发应用程序,并在智能手机中运行该应用程序。

如果您能帮助我,我将非常感激。

3 个答案:

答案 0 :(得分:2)

我的simple_permissions有很多问题。 我最终使用了Permission_handler

答案 1 :(得分:0)

尝试将buildToolsVersion更改为“ 23.0.3”(旧但稳定),然后转到// placeholders for prepared statement ? $sql = "INSERT INTO books(id_book, `date`) VALUES(?, ?)"; 并选择File > Invalidate Caches/Restart

如果这不起作用,请删除您的“ build”文件夹(如果存在),然后重试。

如果两者均失败,则可以enable multidex。但这是一种不好的方法,在正常情况下不应该这样做。

答案 2 :(得分:0)

就我而言,我升级了fld sdk,然后解决了这个问题...

发生这种情况是因为Flutter的某些软件包与Androidx LifeCycle发生冲突。因此,您需要升级Flutter,然后运行您的应用程序。...我想那么就应该没有像这样的错误了……

对于Flutter,请在您的终端中输入“ flutter升级” ...