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

2021-01-22  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读