Android 颤振1.9.1+;hotfix.2-生成appbundle失败,但实际生成了appbundle

Android 颤振1.9.1+;hotfix.2-生成appbundle失败,但实际生成了appbundle,android,gradle,flutter,Android,Gradle,Flutter,自从将Flatter 1.9.1+修补程序.2升级到之后,当我运行Flatter build appbundle时,Flatter结束时出现一个错误: Initializing gradle... 0,9s Resolving dependencies... 3,6s Running Gradle task 'bundleR

自从将Flatter 1.9.1+修补程序.2升级到之后,当我运行
Flatter build appbundle
时,Flatter结束时出现一个错误:

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.
但实际上它确实生成了一个有效的appbundle,
flatter 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)
[+2 ms]161项可执行任务:5项已执行,156项最新
[+361毫秒]正在运行Gradle任务“bundleRelease”。。。(用75.1秒完成)
[+7毫秒]“颤振appbundle”耗时80.137毫秒。
Gradle build无法生成Android捆绑包。
#0 throwToolExit(包:颤振工具/src/base/common.dart:28:3)
#1 buildGradleProjectV2(包:颤振工具/src/android/gradle.dart:780:7)
#2\u异步包装器帮助器。(dart:async patch/async_patch.dart:71:64)
#3_rootrunary(dart:async/zone.dart:1132:38)
#4_CustomZone.runUnary(dart:async/zone.dart:1029:19)
#5\u FutureListener.handleValue(dart:async/future\u impl.dart:137:18)
#6 Future.\u PropagateTListeners.handleValueCallback(dart:async/Future\u impl.dart:678:45)
#7未来。传播到侦听器(dart:async/Future\u impl.dart:707:32)
#8 Future.\u completeWithValue(dart:async/Future\u impl.dart:522:5)
#9\u AsyncAwaitCompleter.complete(dart:async patch/async\u patch.dart:30:15)
#10_completeOnAsyncReturn(dart:async patch/async_patch.dart:288:13)
看起来gradle在完成appbundle后崩溃了。有人有同样的问题或想法吗

我的医生: 颤振版本1.9.1+热修复程序.2,位于C:\src\flatter •框架版本2D2A1FEC9(8天前),2019-09-06 18:39:49-0700 •发动机版本b863200c37 •Dart版本2.5.0

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

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

我也遇到了这个问题。您目前无法在Flatter中创建应用程序包,创建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"
        }
    }
}

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

解决方案

编辑您的
build.gradle
并更改

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

致:

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

详细信息

我在工具中遇到了两个bug。build:gradle:3.5.0:

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

a) 对于gradle,使用
flatterbuildappbundle--release-v
结果是
sdk.dir=C:\\..\\AppData\\Local\\Android\\sdk
(无论哪个工具版本)

b) 使用IntelliJ is was
sdk.dir=C://../AppData/Local/Android/sdk

不幸的是,
tools.build:gradle:3.5.0
读取它们创建的路径时失败,其中
tools.build:gradle:3.4.2
起作用

我希望您使用工具v3.5.0执行以下操作:

set ANDROID\u HOME=C:/Users/msc/AppData/Local/ANDROID/Sdk
(在Windows上是斜杠,不是反斜杠!!)

在那之后,gradle进行了构建并完成了 Gradle build无法生成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


注意:您应该在路径中使用/而不是\在设置为android/app/build.gradle的路径中使用:

试试这个:
minifyEnabled false

有趣的是,对我来说,Android Studio中的构建包是灰色的,但是
flatter Build appbundle
创建了一个非常好的aab文件,尽管有错误消息。它上传到Google Play,我到目前为止还没有听说任何问题。@dirkbo,非常奇怪。你在哪个频道?我通常是在开发,但最近在开发为我的发行版准备了测试版。事实上,我处于稳定状态…我尝试了一些
flatter clean
,但仍然保持…至少aab构建正常,所以我可以接受它,但是…很奇怪…最后我发现了问题,但仍然没有解决方案。flatter appbundle创建\build\app\outputs\bundle\release\app-release.aab,但gradle期望\build\app\app\outputs\bundle\release\app.aab这是一个已知的错误,应该已经修复,但从Flatter v1.9.1+热修复程序开始。5这仍然存在。当您构建appbundle时,将其重命名为app.aab并再次运行相同的构建,gradle将无误完成。