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

问题描述 投票:0回答:2

我已将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开发应用程序并在我的智能手机中运行应用程序。

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

android visual-studio-code flutter
2个回答
2
投票

我对simple_permissions有很多问题。我最终使用了permission_handler


0
投票

尝试将buildToolsVersion更改为“23.0.3”(旧的,但稳定),然后转到File > Invalidate Caches/Restart并选择Restart

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

如果两者都失败了,你可以只是enable multidex。但这是一种糟糕的方法,在正常情况下不应该这样做。

© www.soinside.com 2019 - 2024. All rights reserved.