Flutter中使用Gradle4.0版本打包出错

本文介绍了在升级Gradle插件后遇到的release打包失败问题,错误表现为libs.jar文件缺失。解决方案包括运行特定命令来生成libs.jar,如`flutter run --profile`或`flutter run --debug`。对于设置渠道的项目,需要指定flavor,如`flutter run --flavor huawei --profile`。此外,还讲解了如何通过命令行指定程序入口。

一、前言

在把Gradle插件升级到4.0以上版本时候会出现release版本打包失败的问题。由于新建项目时候会默认为最新的版本,所以这时候可能会默认出现该错误,错误如下:

Transform’s input file does not exist: E:\flutterWorkSpace\flutter_dq_app\build\app\intermediates\flutter\huaweiDebug\libs.jar. (See https://issuetracker.google.com/issues/158753935)

有的错误则是如下:

Transform’s input file does not exist: E:\flutterWorkSpace\flutter_dq_app\build\app\intermediates\flutter\huaweiProfile\libs.jar. (See https://issuetracker.google.com/issues/158753935)

截图如下:

在这里插入图片描述

这个错误是使用Android Studio的打包工具时候出的错误,如果是使用Flutter build apk(该命令全写为 flutter build apk --release)则会出现以下错误:

在这里插入图片描述

上述错误主要的区分是:

Debug路径和Profile路径缺少libs文件

对于这个问题使用以下方式进行解决:

倘若是Profile缺少libs文件,先在命令行执行以下命令:

flutter run --profile

倘若是Debug缺少libs文件,先在命令行执行以下命令:

flutter run 或者 flutter run --debug

然后再进行正式签名打包

二、flavor渠道错误

如果Android设置了渠道,那么在执行flutter run --profile时候会出现以下错误:

Exception: Gradle build failed to produce an .apk file.
 It's likely that this file was generated under E:\flutterWorkSpace\flutter_dq_app\build,
 but the tool couldn't find it.

对于该错误只需要在执行的时候添加上渠道就好,假如我们的渠道是这样写的:

    //渠道
    productFlavors {
        huawei{
            dimension 'HuaWeiAndroid'
        }
    }

那么新的命令则如下:

flutter run --flavor huawei --profile

三、指定程序入口

因为程序的入口是main函数,所以如果选择不同的文件入口时候,可以使用以下方式:

flutter run -t lib/test_main.dart

四、参考链接:

  1. https://stackoverflow.com/questions/62154149/generate-signed-apk-fails-with-build-app-intermediates-flutter-profile-libs-jar
  2. https://github.com/flutter/flutter/issues/58247
  3. https://stackoverflow.com/questions/59732883/flutter-gradle-build-failed-to-produce-an-apk-file-its-likely-that-this-file
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值