自从将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)
答案 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
(无论哪个工具版本)
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
它应该有效