美文网首页
2021-01-22 美团Walle多渠道打包方案Bat批处理

2021-01-22 美团Walle多渠道打包方案Bat批处理

作者: 兣甅 | 来源:发表于2021-01-22 20:57 被阅读0次

    1.APP需要集成Walle三方库

    注:只需要集成com.meituan.android.walle:library:1.1.7

    2.下载命令行工具walle-cli-all.jar

    3.配置渠道(新建一个config.txt),每个渠道占一行

    channel1
    channel2
    channel3
    channel4
    channel5
    channel6
    channel7
    channel8
    channel9
    channel10
    

    4.编写批处理bat文件,如"多渠道批处理.bat"(运行显示乱码的话需要另存为ANSI编码)

    ::双冒号表示注释(setlocal enabledelayedexpansion是延迟变量赋值使用)
    @echo off&setlocal enabledelayedexpansion
    ::先删除文件夹,再创建文件夹
    for %%i in (*.apk) do (
      ::~ni 表示无后缀文件名
      if exist %~dp0\%%~ni (
         echo %%~ni文件夹已存在,执行清空
         del /q /s %~dp0\%%~ni
      ) else (
         echo %%~ni文件夹不存在,执行创建
         md %~dp0\%%~ni
      )
    )
    ::找到当前目录下所有apk文件
    for %%i in (*.apk) do (
      ::读取当前所有渠道
      for /f "tokens=*" %%j in (config.txt) do (
         echo 创建渠道:%%~ni_%%j.apk
         ::~fi表示文件全路径
         java -jar walle-cli-all.jar put -c %%j %%~fi %~dp0\%%~ni\%%~ni_%%j.apk
      )
    )
    pause
    

    5.打包APK,将【APK】+【config.txt】+【walle-cli-all.jar】+【多渠道批处理.bat】放到一个文件夹下

    image.png

    6.确保Windows已安装java环境,没有的话自己百度配置,运行"多渠道批处理.bat"即可批量生产对应渠道的APK

    image.png

    7.新增渠道对应键值对

    config.txt修改如下

    channel1_Baidu
    channel2_HuaWei
    channel3_Tencent
    

    多渠道批处理.bat修改如下:(count_key是键值对的Key)

    ::设置编码方式(65001 UTF-8;936 GBK;437 英语)
    chcp 65001
    
    ::双冒号表示注释(setlocal enabledelayedexpansion是延迟变量赋值使用)
    @echo off&setlocal enabledelayedexpansion
    echo ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆==Start==☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
    echo=
    ::先删除文件夹,再创建文件夹
    for %%i in (*.apk) do (
      ::~ni 表示无后缀文件名
      if exist %~dp0\%%~ni (
         echo %%~ni文件夹已存在,执行清空
         echo=
         del /q /s %~dp0\%%~ni
         echo=
      ) else (
         echo %%~ni文件夹不存在,执行创建
         echo=
         md %~dp0\%%~ni
         echo=
      )
    )
    ::找到当前目录下所有apk文件
    for %%i in (*.apk) do (
      ::读取当前所有渠道
      for /f "tokens=1,* delims=_" %%a in (config.txt) do (
         set channel=%%a
         ::去除TAB
         set channel=!channel:  =!
         if not "!channel!"=="" (
            ::去除空格
            set channel=!channel: =!
            if not "!channel!"=="" (
                set key=%%b
                ::去除TAB
                set key=!key:   =!  
                if not "!key!"=="" (  
                    ::去除空格
                    set key=!key: =!
                    if not "!key!"=="" (
                        echo 创建渠道:%%~ni_!channel!_!key!.apk
                        echo=
                        ::~fi表示文件全路径
                        java -jar walle-cli-all.jar put -c !channel! -e count_key=!key! %%~fi %~dp0\%%~ni\%%~ni_!channel!.apk
                    )   
                )                         
            )
         )
      )
    )
    echo ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆==End==☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
    pause
    

    批处理后读取如下:


    image.png

    8.演示相关资源https://github.com/khaos116/ABase/tree/master/bat_channel

    相关文章

      网友评论

          本文标题:2021-01-22 美团Walle多渠道打包方案Bat批处理

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