首页 > 解决方案 > Gradle 无法生成 android 包

问题描述

我想使用颤振在 android studio 中发布 .apk 文件。

当我运行flutter run命令时,它会运行并构建 apk 并安装到手机上。但是当我想使用flutter build apk --release这个命令释放apk文件时,它会显示一个错误。错误是Gradle is failed to produce Android Package

我将此代码用于Gradle:

buildscript {
 repositories {
    google()
    jcenter()
    maven {
        url "https://maven.google.com"
    }
}
dependencies {
    // Google Auth
    classpath 'com.android.tools.build:gradle:3.1.2'
    // Firebase Auth
    classpath 'com.google.gms:google-services:3.2.1'
}
}

使用后也显示该错误。

Initializing gradle...                                             12.4s
Resolving dependencies...                                          11.2s
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
Running Gradle task 'assembleRelease'...                                
Running Gradle task 'assembleRelease'... Done                      43.1s
Gradle build failed to produce an Android package.

它以错误结束。

标签: androidgradleflutter

解决方案


简短回答:尝试在终端/升级 dart sdk 中运行“颤振升级”。
如果不起作用,请尝试将 Gradle 从 3.5.1 降级到 3.4.2

长答案:我想构建捆绑包,而不是 apk,但我遇到了同样的问题。
在网上搜索,我发现他们在主频道上解决了这个问题(我曾经在马厩上):https ://github.com/flutter/flutter/issues/40445#issuecomment-531412497 。
如果您不熟悉频道,请查看(简短)文档:https
://github.com/flutter/flutter/wiki/Flutter-build-release-channels 我决定切换到主频道 => 我输入了' flutter build bundle' 和... => 出现了更多问题!
所以我输入了“flutter channel”,它开始下载 Dart SDK。
最后,我切换回稳定版,瞧!
我能够制作我的捆绑包!
那么我是如何解决这个问题的呢?
好吧,我只是以一种奇怪而原始的方式更新了我的工具!

[编辑]:我又遇到了这个问题,但这次我解决了它,将 Gradle 从 3.5.1 降级到 3.4.2 (android > build.gradle)。
有关更多信息,请查看此答案:https ://github.com/flutter/flutter/issues/40445#issuecomment-557614757


推荐阅读