Flutter-Android正式包采坑记录

环境

Flutter 1.20.2 • channel unknown • unknown source
Framework • revision bbfbf1770c (3 months ago) • 2020-08-13 08:33:09 -0700
Engine • revision 9d5b21729f
Tools • Dart 2.9.1

问题描述:

Flutter Android-Release包出错

错误信息:

执行打包命令

flutter build apk --release

在这里插入图片描述
错误提示

* What went wrong:                                                      
Execution failed for task ':app:lintVitalRelease'.                      
> Could not resolve all artifacts for configuration ':app:debugRuntimeClasspath'.
   > Failed to transform libs.jar to match attributes {artifactType=processed-jar, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Execution failed for JetifyTransform: /Users/01400043/Documents/Project/Flutter/flutter_test_app/flutter_test_app/build/app/intermediates/flutter/debug/libs.jar.
         > Transform's input file does not exist: /Users/01400043/Documents/Project/Flutter/flutter_test_app/flutter_test_app/build/app/intermediates/flutter/debug/libs.jar. (See https://issuetracker.google.com/issues/158753935)

尝试解决问题:

Could not resolve all artifacts for configuration ':app:debugRuntimeClasspath'.

根据错误信息提示,打release包,需要debug的配置环境(:app:debugRuntimeClasspath),需要先生成一个debug安装包

flutter build apk --debug

但打了一个debug包后又会提示需要profile配置环境(:app:profileRuntimeClasspath),接着再打一个profile的安装包

flutter build apk --profile

最后再打一个Release包

flutter build apk --release

最终在build/app/outputs/flutter-apk/ 目录下,出现三个apk,其中app-release.apk就是正式包。

google查找问题:

flutter的issues中有两个相关问题记录,根据描述得知是Android Gradle plugin 版本在4.0.0+,出现的bug,截止2020.11.14,最新的插件版本也没有解决。

https://github.com/flutter/flutter/issues/58247
https://github.com/flutter/flutter/issues/70172

解决方案:

先查看/flutter_test_app/android/build.gradle的版本

classpath ‘com.android.tools.build:gradle:4.1.1’
在这里插入图片描述

方案一:执行打包三个步骤

flutter build apk --debug

flutter build apk --profile

flutter build apk --release

缺点:当多渠道打包,每个渠道的包都会执行这三步,打包时间较长

方案二:降低gradle版本到3.x

https://developer.android.com/studio/releases/gradle-plugin

在官网查看到gradle的各版本信息,找到3.x版本的最新版3.6.4,进行替换。

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

在gradle/wrapper/gradle-wrapper.properties文件中

distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

直接使用 flutter build apk --release 打正式包即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值