/PackageApkTool

PackageApkTool 为手游SDK联运系统打包系统核心模块,用于快速便捷的帮助游戏包打入渠道SDK资源生成游戏-渠道包,快速上架渠道上线

Primary LanguagePython

PackageApkTool

项目介绍

PackageApkTool 为手游SDK联运系统打包系统核心模块,用于快速便捷的帮助游戏包打入渠道SDK资源生成游戏-渠道包,快速上架渠道上线。

致敬易接打包工具!!!

项目前提

使用该项目的前提条件是,游戏包体已经接入手游SDK框架Demo的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:

image text

WorkSpace为工作目录,UIMain.exe为可执行文件

PackageResource:内置打包示例资源

image text

GameSDKFrame.apk 为模拟已接入测试渠道SDK的游戏母包

lexiang_1_1.0.0.zip 为渠道资源包,格式为:渠道名_渠道ID_渠道版本。 内置为渠道资源目录

启动UIMain.exe后依次选择资源。然后打包运行。

image text

配置参数说明:

不同的渠道配置可通过参数配置栏填写,包括动态修改游戏的minSdk、TargetSdk、包名等配置。配置完毕后会写到对应的配置文件里, 编译过程用到的参数都可以在这里配置对应的Key_Value值。

目前只适配十多常用渠道适配修改,如有额外渠道适配或当前适配参数Key不满足需求时,需要修改渠道适配代码代码地址还有UI配置项代码地址。如果有拓展,可自行添加代码修改,也可以贡献代码上传到该库

渠道资源包说明:

格式为:渠道名_渠道ID_渠道版本。 内置为渠道资源目录 image text

  • assets 为渠道assets资源目录,与游戏assets目录合并
  • config 为配置文件资源目录,可根据需求拓展
  • icon 为渠道角标资源目录,与游戏自有Icon合并
  • libs 为渠道.jar和.so文件资源目录,与游戏lib目录合并
  • res 为渠道res资源目录,与游戏res资源目录合并
  • splash 为渠道闪屏资源目录,打包时,拷贝到assets对应目录下
  • wxcallback 为渠道处理微信登录、支付特殊处理的类文件,打包时会编译成jar文件,最终打包到游戏包内
  • AndroidManifest.xml 为渠道配置文件,与游戏AndroidManifest.xml合并

项目打包成exe文件

首先需要安装pyinstaller模块,可自行搜索安装。 然后进入到项目的根目录,在当前目录下找到UIMain.spec文件,修改pathex=['项目根目录路径']为当前项目目录根路径,执行pyinstaller -F UIMain.spec即可

项目资料参考

项目适配H5游戏打包

打包项目适配H5游戏打包,可参考资源实现