PackageApkTool 为手游SDK联运系统打包系统核心模块,用于快速便捷的帮助游戏包打入渠道SDK资源生成游戏-渠道包,快速上架渠道上线。
致敬易接打包工具!!!
使用该项目的前提条件是,游戏包体已经接入手游SDK框架Demo的SDK接口及申请好了对应的渠道参数信息。
- 手游SDK — 第一篇(序言)
- 手游SDK — 第二篇(SDK架构设计篇)
- 手游SDK — 第三篇(SDK架构设计代码实现篇(上)- 基础库)
- 手游SDK — 第四篇(SDK架构设计代码实现篇(下)- 项目需求开发)
及开源项目地址: 手游SDK框架Demo
另外还需要安装好java和python环境。注意,当前项目时基于python2.7编写的,如果需要在python3环境中运行,需要自行修改适配部分代码
- 实现游戏和渠道assets/libs/res/AndroidManifest.xml资源的动态合并
- 实现整体UI界面的可视化配置。
- 实现渠道资源的服务器下载功能。(注意:当前下载资源只是用于模拟下载功能,没有实际用途,需开发者自行配置)
- 支持渠道参数可视化差异性配置,及支持多种类型解析及修改,如xml/text/ini/pro/json等类型文件
- 支持游戏Icon和角标的可视化配置,及Icon和角标的合并
- 支持游戏闪屏可视化配置,及游戏闪屏和渠道闪屏逻辑兼容处理
- 支持游戏的包体输出路径,签名信息的可视化配置。
- 支持动态修改游戏的minSdk、TargetSdk、包名等配置
- 支持游戏第三方库多包名R文件资源引用配置,在渠道参数栏填写 R_package为字符数组["a","b"] 即可。
- 支持打包过程的日志信息显示及日志输出
首先下载PackageApkTool项目中的DeskDemo.zip和PackageResource.zip两个压缩包,解压后,目录结构如下:
DeskDemo:
WorkSpace为工作目录,UIMain.exe为可执行文件
PackageResource:内置打包示例资源
GameSDKFrame.apk 为模拟已接入测试渠道SDK的游戏母包
lexiang_1_1.0.0.zip 为渠道资源包,格式为:渠道名_渠道ID_渠道版本。 内置为渠道资源目录
启动UIMain.exe后依次选择资源。然后打包运行。
不同的渠道配置可通过参数配置栏填写,包括动态修改游戏的minSdk、TargetSdk、包名等配置。配置完毕后会写到对应的配置文件里, 编译过程用到的参数都可以在这里配置对应的Key_Value值。
目前只适配十多常用渠道适配修改,如有额外渠道适配或当前适配参数Key不满足需求时,需要修改渠道适配代码代码地址还有UI配置项代码地址。如果有拓展,可自行添加代码修改,也可以贡献代码上传到该库
- assets 为渠道assets资源目录,与游戏assets目录合并
- config 为配置文件资源目录,可根据需求拓展
- icon 为渠道角标资源目录,与游戏自有Icon合并
- libs 为渠道.jar和.so文件资源目录,与游戏lib目录合并
- res 为渠道res资源目录,与游戏res资源目录合并
- splash 为渠道闪屏资源目录,打包时,拷贝到assets对应目录下
- wxcallback 为渠道处理微信登录、支付特殊处理的类文件,打包时会编译成jar文件,最终打包到游戏包内
- AndroidManifest.xml 为渠道配置文件,与游戏AndroidManifest.xml合并
首先需要安装pyinstaller模块,可自行搜索安装。 然后进入到项目的根目录,在当前目录下找到UIMain.spec文件,修改pathex=['项目根目录路径']为当前项目目录根路径,执行pyinstaller -F UIMain.spec即可
- 手游SDK — 第五篇(游戏打包篇(上)- 打包系统设计)
- 手游SDK — 第六篇(游戏打包篇(中)- 自动化打包)
- 手游SDK — 第七篇(游戏打包篇(下)- 自动化打包踩坑记录)
- 手游SDK — 第八篇(游戏打包番外篇- 桌面UI设计)
打包项目适配H5游戏打包,可参考资源实现