首页 > 其他分享 >flutter编译安卓/ios命令

flutter编译安卓/ios命令

时间:2023-09-29 17:22:33浏览次数:38  
标签:-- 安卓 ios 编译 build versionCode android flutter

一、flutter打包编译命令

1、编译安卓 apk

flutter build apk --debug --flavor beta --build-number=123 --build-name=1.2.3 
 --target-platform android-arm --split-per-abi --dart-define=APP_CHANNEL=vivo --dart-define=APP_NAME=TestApp

 

2、编译安卓 AppBundle

 

3、编译IOS ipa

 

二、flutter打包编译命令配合jenkins使用

 

三、编译问题处理

1、处理build apk时安卓应用版本versionCode自动加1000问题

1、编译的结果

编译命令为:flutter build apk --debug --flavor beta --build-number=1 --build-name=0.1.0

编译出来的结果为:

 发现versionCode加了1000。

2、原因分析

经过分析flutter编译脚本 android/app/build.gradle,发现引入了下面的代码

apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle

编译任务对versionCode做了处理,

google官方解释:https://developer.android.com/studio/build/configure-apk-splits?hl=zh-cn

其他参考文档:https://zhuanlan.zhihu.com/p/393037208?utm_id=0

 

3、编处理方案

在android/app/build.gradle文件中,android 层级下,添加如下内容

 

android {
...
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.versionCodeOverride = variant.versionCode
            println "> versionCode: ${versionCode},flutterVersionCode: ${flutterVersionCode},versionCodeOverride:${output.versionCodeOverride}"
        }
    }
...
}

 

标签:--,安卓,ios,编译,build,versionCode,android,flutter
From: https://www.cnblogs.com/larack/p/17737120.html

相关文章

  • 安卓Windows协同
    由于我一直不愿意在自己的电脑上安装微信,但一些联系又离不开,所以只能使用手机日常使用。为了方便电脑操作,因此笔者考虑多屏协作。恰好笔者使用的是红米手机,之前看过MIUI+Beta,所以笔者首先考虑使用该工具。然而经过笔者的使用对比后最后选择QtScrcpy。MIUI+MIUI+没有直接在页......
  • Flutter/Dart第03天:Dart可迭代集合
    Dart官网代码实验室:https://dart.dev/codelabs/iterables重要说明:本博客基于Dart官网代码实验室,但并不是简单的对官网文章进行翻译,我会根据个人研发经验,在覆盖官网文章核心内容情况下,加入自己的一些扩展问题和问题演示和总结,包括名称解释、使用场景说明、代码样例覆盖等。可迭代......
  • MT8791安卓核心板|联发科MTK8791核心板5G模组
    MT8791核心板是一款采用八核CPU架构设计的芯片,但在性能上升级到了旗舰级的ArmCortex-A78核心,其中2个大核的主频最高可达2.4GHz。而搭载的ArmMali-G68GPU则借鉴了Mali-G88的先进技术,使得图形处理性能有了显著提升。从基带和制程来看,MT8791核心板采用台积电的6nm工艺制......
  • Flutter开发中的一些Tips
    学习Flutter也有一阵子了。闲着没事,用了公司一个已经凉凉的App设计图来练手。当然了接口不可能用的了,所以都是些死数据,实现效果可以说是很完美了(得到了设计的认可。。。)。当然自己也是边查边写,也借鉴了许多Github上优秀的Flutter项目。现在开源出来(附带设计图),供大家交流学习。希望......
  • 怎么保护苹果手机移动应用程序ios ipa文件中的代码?
    ​目录              前言          代码混淆步骤1.选择要混淆保护的ipa文件2.选择要混淆的类名称3.选择要混淆保护的函数,方法4.配置签名证书5.混淆和测试运行 前言在当今移动应用市场竞争激烈的环境中,代码保护功......
  • 在Flutter中制作指纹认证应用程序
    本文主要展示如何在Flutter中为android应用程序实现指纹认证系统现在许多手机都配备了指纹传感器,这使得用户登录和本地身份验证更容易,而且比使用密码更安全。设置我们的项目在我们开始编写应用程序之前,我们需要先设置一些东西。我们需要做的第一件事是在我们的pubspec.yaml文......
  • Python sanic AsyncIOScheduler 的单例模式
    sanic是个异步框架。可以配置多个worker,执行定时任务时,也会执行多遍。期望通过单例模式,确保只运行一次。解决思路。AsyncIOScheduler函数有没有自带的单例模式,答案无。网上有没有相关做法,搜集半天,没有太好的办法。试过全局变量,协程共享变量等,均无效。试着用进程的共享变量来解......
  • iOS UWB——NI框架部分类介绍
    前文介绍iOS中NI框架的实现流程以及简单的应用示例,本文中针对NI框架中的部分类以及相关会话生命周期管理函数进行了简单的介绍。NI框架关键类ClassNISessionclassNISession:NSObject概述NISession类是整个NearbyInteraction类的核心,所有会话的生成都需要先实例化一个NISession......
  • 戴尔OptiPlex 3020升级BIOS刷入NVME驱动
    前提:戴尔OptiPlex3020的主板是H81的,DELL官网的bios是不支持nvme启动的。我也是在外网找的,然后根据自己的情况刷的。目前电脑刷了后是可以直接选择nvme的ssd启动的。外网链接如下:https://www.tachytelic.net/2021/12/dell-optiplex-7020-nvme-ssd/简单的说下步骤:1、先从DELL官......
  • Flutter:桌面应用程序开发的新格局
    桌面应用开发的现状在过去,桌面应用程序的开发通常需要使用特定于操作系统的工具和语言,如C++、C#、Java等。这导致了高昂的开发成本和维护困难。尽管有一些跨平台桌面开发工具,如Electron和Qt,但它们在性能、用户体验和开发效率方面存在一些限制。Flutter的出现改变了这一格局,为桌面应......