在使用flutter开发的过程中,需要根据不同的环境,不同的包名来打包

根据根据多渠道的打包配置,使用命令 flutter build apk --flavor dev 打包。报错如下

FAILURE: Build failed with an exception.                                
* What went wrong:                                                      
Execution failed for task ':app:lintVitalDevRelease'.                   
> Could not resolve all artifacts for configuration ':app:productionReleaseRuntimeClasspath'.
   > 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/xushun/project/flutter_xmps_provider/flutter_xmps/build/app/intermediates/flutter/productionRelease/libs.jar.
         > Transform's input file does not exist: /Users/xushun/project/flutter_xmps_provider/flutter_xmps/build/app/intermediates/flutter/productionRelease/libs.jar. (See https://issuetracker.google.com/issues/158753935)

解决办法 在build.gradle中增加如下配置

 lintOptions {
        checkReleaseBuilds false
                                    由于android端应用商店和推广渠道较多,为了市场和运营的数据统计和推广,我们就需要对apk包根据渠道加以区分。因此往往一次版本迭代,可能都需要构建多个甚至十多个apk包,不仅费时费力,还容易搞错渠道。而使用命令和脚本的方式,打包就可以全自动完成啦,启动脚本后,喝杯咖啡也打包好了。
                                    flutter开发实战-实现多渠道打包及友盟统计(亲测有效)最近开发过程中,需要引入友盟进行统计服务。友盟统计还需要区分不同渠道的打开应用的情况,所以需要处理多渠道打包问题。
                                    1.Android Studio 4.0 以上打包编译报错;
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
多渠道打包介绍
多渠道打包的主要作用是满足产品的运营需求,统计渠道和活动效果。在之前原生(Android、iOS)开发 App 有各种工具来辅助我们完成多渠道打包。在我们开发过程中也需要为渠道功能负责,原生的开发工具就基本满足我们调试渠道包内容,但是在 Flutter 上需要更多的配置才可以完成,下文将一一介绍从配置=>调试=>打包的全部流程和细节。
多渠道配.
                                    问题描述:mybatis不到mapper
问题分析:在mybatis配置文件中用的resource,但是写成了dao.BookMapper,应该写mapper.xml文件的全限定路径。
解决方法:
mybatis中的mapper使用方法:
<!-- 使用相对于类路径的资源引用 -->
<mappers>
  <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
  <mapper resource
由于最开始是用脚本一个个打包,一直想解决打包过慢的问题,但是网上大多教程是基于命令行参数或flavor,实质上并没有根本解决打包效率的问题。直到发现了文章的主角 walle。
应用解决方案
walle
walle是美团开源的一个打包插件,这里就不做介绍了,传送门。
flutter插件
由于源码Android端的,就想着写一个Flutter插件吧。
                                    输入flutterrun--dart-define=MODE=test,回车(其中flutterrun表示运行flutter程序,--dart-define=是固定写法,NODE=test对应于config.dart下的EnvName类中的envKey="MODE"和test="test")输入flutterrun--dart-define=MODE=release--no-sound-null-safety回车。//根据不同环境返回对应的环境配置。//环境value。...