flutter 1.9.1 + hotfix.2-构建appbundle失败,但实际上产生了一个appbundle

时间:2019-09-15 13:03:00

标签: android gradle flutter

自从将flutter 1.9.1 + hotfix.2升级到我运行flutter build appbundle时,flutter结束并显示错误:

Initializing gradle...                                              0,9s
Resolving dependencies...                                           3,6s
Running Gradle task 'bundleRelease'...
Running Gradle task 'bundleRelease'... Done                       114,5s
Gradle build failed to produce an Android bundle package.

但是实际上它确实产生了有效的附件,flutter build appbundle -v的结尾为:

[   +2 ms] 161 actionable tasks: 5 executed, 156 up-to-date
[ +361 ms] Running Gradle task 'bundleRelease'... (completed in 75,1s)
[   +7 ms] "flutter appbundle" took 80.137ms.
Gradle build failed to produce an Android bundle package.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
#1      _buildGradleProjectV2 (package:flutter_tools/src/android/gradle.dart:780:7)
#2      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:71:64)
#3      _rootRunUnary (dart:async/zone.dart:1132:38)
#4      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#5      _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
#6      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
#7      Future._propagateToListeners (dart:async/future_impl.dart:707:32)
#8      Future._completeWithValue (dart:async/future_impl.dart:522:5)
#9      _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:30:15)
#10     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:288:13)

完成捆绑包后,似乎gradle崩溃了。任何人都有相同的问题或想法吗?

我的Flutter医生: Flutter版本1.9.1 + hotfix.2,位于C:\ src \ flutter      •Framework版本2d2a1ffec9(8天前),2019-09-06 18:39:49 -0700      •引擎修订版b863200c37      •Dart 2.5.0版

[√] Android工具链-为Android设备开发(Android SDK  版本29.0.2)      •Android SDK位于C:\ Users \ dirkb \ AppData \ Local \ Android \ sdk      •未配置Android NDK位置(可选;对本机性能分析支持很有用)      •平台android-29,构建工具29.0.2      •Java二进制文件位于:C:\ Program Files \ Android \ Android Studio \ jre \ bin \ java      •Java版本OpenJDK运行时环境(内部版本1.8.0_202-发行-1483-b03)      •接受所有Android许可。

[√] Android Studio(3.5版)      •位于C:\ Program Files \ Android \ Android Studio的Android Studio      •Flutter插件版本39.0.3      •Dart插件版本191.8423      •Java版本OpenJDK运行时环境(内部版本1.8.0_202-release-1483-b03)

4 个答案:

答案 0 :(得分:2)

这并不奇怪,它是一个错误。即使一切顺利,gradle也会显示一条错误消息。

解决方案

编辑您的build.gradle并更改

classpath 'com.android.tools.build:gradle:3.5.0'

至:

classpath 'com.android.tools.build:gradle:3.4.2'

详细信息

我在使用 tools.build:gradle:3.5.0 时遇到了两个错误:

首先,local.properties每次编译时都会重新构建(不要签入!)

a)和 gradle ,使用flutter build appbundle --release -v的结果是sdk.dir=C:\\....\\AppData\\Local\\Android\\Sdk(无论哪个工具版本)

具有 IntelliJ

b)是sdk.dir=C:/..../AppData/Local/Android/Sdk

不幸的是,tools.build:gradle:3.5.0在读取他们创建的tools.build:gradle:3.4.2工作路径时失败。

我要使用v3.5.0工具执行此操作:

set ANDROID_HOME=C:/Users/msc/AppData/Local/Android/Sdk (在Windows上为斜杠,而不是反斜杠!)

之后, gradle 完成了构建并完成了 Gradle构建无法生成Android捆绑包。 这很奇怪,因为 gradle 实际上完成了全部工作。文件在那里:\build\app\outputs\bundle\release\app-release.aab

那么,错误消息没有错误吗?

显然gradle.tools v3.5.0的路径名存在问题,至少在Windows上如此。

然后...另一个提示:检查您的android\key.properties文件,并确保storeFile=设置正确。

key.properties storeFile=c:/pathToMyKeyStore.jks

注意:您应该在路径中使用/,而不是\

答案 1 :(得分:1)

我也遇到了这个问题。您目前无法快速创建应用程序捆绑包,创建aab时文件命名存在错误。只需使用Android Studio创建aab文件即可。

Build > Build APK/Bundle > Build Bundle(s)

编辑:奖励,不问,但可能有助于了解是否有人不知道。我有一些用户无法使用我的应用程序。将以下内容添加到gradle文件中,以确保该应用程序捆绑包包含以下库。

android {
    defaultConfig {
        //add the following
        ndk {
            abiFilters "x86", "x86_64", "armeabi", "armeabi-v7a", "arm64-v8a"
        }
    }
}

答案 2 :(得分:0)

设置路径为android / app / build.gradle:

尝试以下一项: minifyEnabled false

答案 3 :(得分:0)

我遇到了这个问题,这就是我所做的:

1.删除“.idea”文件夹和“build”文件夹以及“pubspec-lock”文件。 2.然后在我的控制台中运行 flutter pub get

它应该有效