flutter 1.9.1+hotfix.2 - 构建 appbundle 失败,但实际上生成了一个 appbundle
Posted
技术标签:
【中文标题】flutter 1.9.1+hotfix.2 - 构建 appbundle 失败,但实际上生成了一个 appbundle【英文标题】:flutter 1.9.1+hotfix.2 - build appbundle failing, but actually producing an appbundle 【发布时间】:2020-01-16 13:17:44 【问题描述】:自从将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.
但实际上它确实产生了一个有效的 appbundle,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)
在完成 appbundle 后,gradle 似乎崩溃了。有人有同样的问题或任何想法吗?
我的 Flutter 医生: Flutter 版本 1.9.1+hotfix.2 位于 C:\src\flutter • 框架修订 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-release-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)
【问题讨论】:
终于找到了问题,但还是没有解决。 flutter appbundle 创建 \build\app\outputs\bundle\release\app-release.aab 但 gradle 期望 \build\app\outputs\bundle\release\app.aab 这是一个已知的错误,应该已经修复,但作为颤振 v1.9.1+hotfix.5 仍然存在。 https://github.com/flutter/flutter/issues/38934 构建 appbundle 时,将其重命名为 app.aab 并再次运行相同的构建,gradle 完成没有错误。 【参考方案1】:这并不奇怪,这是一个错误。即使一切顺利,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
(无论哪个工具版本)
b) IntelliJ 是 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
注意:您应该在路径中使用 /,而不是 \
【讨论】:
【参考方案2】:我也遇到过这个问题。您目前无法在 Flutter 中创建应用程序包,创建 aab 时文件命名存在错误。只需使用 Android Studio 创建 aab 文件即可。
Build > Build APK/Bundle > Build Bundle(s)
编辑:奖金,没有被问到,但如果有人还不知道,可能会有所帮助。我有一些用户无法使用我的应用程序。将以下内容添加到您的 gradle 文件中,以确保 app bundle 包含以下库。
android
defaultConfig
//add the following
ndk
abiFilters "x86", "x86_64", "armeabi", "armeabi-v7a", "arm64-v8a"
【讨论】:
有趣的是,对我来说,Android Studio 中的 Build Bundle 是灰色的,但flutter build appbundle
会创建一个完美的 aab 文件,尽管有错误消息。它已上传到 Google Play,到目前为止我没有听说任何问题。
@dirkbo,非常奇特。你在哪个频道?我通常在 dev 上开发,但最近我的版本改为 beta 版。
我实际上是稳定的...我尝试了一些flutter clean
,但仍然存在...至少 aab 构建正常,所以我可以忍受它,但是...这很奇怪...【参考方案3】:
设置路径上是android/app/build.gradle:
试试这个: minifyEnabled 错误
【讨论】:
【参考方案4】:我遇到了这个问题,这就是我所做的:
1.删除“.idea”文件夹和“build”文件夹以及“pubspec-lock”文件。 2.然后在我的控制台中运行flutter pub get
它应该工作
【讨论】:
以上是关于flutter 1.9.1+hotfix.2 - 构建 appbundle 失败,但实际上生成了一个 appbundle的主要内容,如果未能解决你的问题,请参考以下文章
我可以使用 flutter_webview_plugin 在 appBar 中实现菜单吗?
powershell get-hotfix2正确缺少了get-hotfix cmdlet的日期(信用到http://powershell.com/cs/forums/p/12409/21917.asp