美文网首页
shell脚本在flutter上的应用

shell脚本在flutter上的应用

作者: 海荣荣 | 来源:发表于2022-11-24 14:13 被阅读0次

        近几个月,项目在国内外应用商店屡次被拒,尤其小米GooglePlay,为符合应用商店的审核规范,每次发版都需手动更改很多文件,所以脚本在这个时候开始发挥他的作用了。

    目录:

    1:shell脚本介绍

    2:在flutter上的应用



    一、shell脚本介绍

    1:shell 的理解

    一个命令解释器,它通过接受用户输入的Shell命令来对程序的运行或对计算机系统进行控制,何为解释,个人理解就是,向操作系统解释你的输入,并且处理操作系统的输出结果。

    2:shell 结构和执行

    以#!/bin/bash开头,告诉系统命令是由解释器/bin/bash执行的。

    以#开头的行作为解释说明,除了第一行的#!/bin/bash,其余以#开头的行的内容将被认为是注释,不会被解释器执行。

    脚本的名字以.sh结尾,用于区分这是一个shell脚本

    3:shell 的简单运用

    创建test脚本:  touch test.sh

    运行test脚本:./test.sh 或者 bash/sh test.sh

    test脚本传参:$ ./test.sh 1 2 3  ./test.sh第一个参数为:1第二个参数为:2第三个参数为:3,脚本内获取参数的格式为:$nn代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

    另就是还有很多语法,比如重定向,管理文件等等,我觉得如果是想利用脚本进行 自动化办公的,基本上所有的语法的学习,最终都会落脚到对系统文件的操作上,想熟悉可以进入菜鸟学习,,谁还不是从菜鸟一点一点进阶来的呢,哈哈。


    二:在flutter上的应用

    主要是为了实现自动执行舍弃相关权限以及代码文件,自动化打包,apk命名规范。

    实现步骤大致如下:

    # 配置参数:params()

    # 管理文件:config()

    # 执行清缓存命令:flutterBuild()

    # 最终执行打包apk全部流程:apk()

    flutter 是命令式打包,先简单罗列在项目中常用的:

    //打包命令

    flutter build apk --release --flavor internal --split-per-abi -build-number 1

    --release 指定 debug 或 release

    --flavor 指定打包的生产环境

    --build-number 构建的版本号;

    --split-per-abi:表示告知需要按照我们指定的类型分别打包,如果移除则直接构建包含所有 CPU 架构的 Apk 包;

    我们也可以利用--dart-define 自定义多渠道的功能

    //定义并设置渠道参数--dart-define=APP_CHANNEL=normal//多个参数 --dart-define=APP_CHANNEL= google --dart-define=APP_CHANNEL=xiaomi


    下面是具体讲解实现步骤:

    配置参数:可以把一些打包需要的参数配置进去,比如:

    # 管理文件:比如xiaomiConfig(),通过sed命令去管理。

    # 执行打包前清缓存命令:flutterBuild()

    执行flutter clean 和 pub get 去获取最新的依赖项

    # 最终执行打包apk全部流程:apk()

    执行命令前 传入打包需要的参数 比如多渠道名称,或者后续也可以对生产环境以及版本名称,版本号一一以参数的形式传入。

    具体如何使用:

    比如创建test.sh,想打包安卓下的google 完全可以具体传参数:

    ./test.sh -o:1 -s:1

    -o:1 代表具体系统 1表示apk

    -s:1代表商店类型 1表示google

    至此一个shell 脚本在flutter上的应用demo 基本完毕,有兴趣可以根据自身公司业务进行编写。

    相关文章

      网友评论

          本文标题:shell脚本在flutter上的应用

          本文链接:https://www.haomeiwen.com/subject/dsptfdtx.html