android-xBuild apk差分与合成,zip差分与合成,lua打包,apk打包,png/jpg图片压缩

android-xBuild 是一项集成了apk差分与合成,zip差分与合成,lua打包,apk打包,png/jpg图片压缩五大功能的开源项目

(github地址:https://github.com/zz7zz7zz/android-xBuild)


在游戏开发中,为满足用户需求,产品运营需求,改动的特别多,升级是件极其频繁的事情(没办法,一切以用户为中心),如果一个游戏APP又同时是个集合类型的(内置多个游戏),做完这个游戏只有一个感觉:再也不会爱了。。。 

我们的游戏是用Lua写的,所以Android客户端分为:

Apk升级(细分为1.完整升级;2.增量升级;3.第三方升级);

Lua升级(细分为1.大厅升级;2各个游戏升级),同时Lua的游戏采用的是热更新机制;

同时涉及 各个游戏->大厅->Apk的依赖关系,难度较大,代码逻辑实现相对复杂,前端,后端维护成本较大(不过既然集合都做过了,做单个类型游戏的升级功能那就不在话下)。。。


写这个工具主要是方便实现Apk差分与合成,Zip差分与合成,自动打包功能,png/jpg压缩功能,其中用到了很多开源库bsdiff.zipdiff.7zip等,图片压缩功能用的是tingpng提供的接口,详细的可以看具体代码,如果要扩展自己的功能,参照代码修改即可 (代码已经上传到了github)。下载源代码之后,解压里面的xBuild.zip,点击xBuild.jar或者xBuild.bat即可启动。


下面看软件图示:

1.集合类型游戏打包





2.apk差分与合成




3.zip包差分




4.png/jpg图片压缩功能




github地址:https://github.com/zz7zz7zz/android-xBuild


csdn地址:http://download.csdn.net/detail/zz7zz7zz/8131221




友盟渠道打包工具主要是提供基本的通过工程源码打包的功能。 常见错误见这里目前不支持的Apk特性见这里(可能会导致发布的SDK产生严重bug)。 Google 现在已经发布了最新的构建系统(New Building System) , 在 Android Studio 中已经支持了最新的 构建系统,如果开发者已经迁移,可以使用新的系统方面的生成渠道包,这是取代渠道打包工具的最佳方式。 1. 工程结构 工程结构图 : - CommonTools 共用的工具类,包括对 `Apktool` , `Jarsigner` , `zipalign` 的封装 - UIControls_35   共用的UI类,对大部分控件的样式都是在这里设置的 - UmengMarket  Marekt 组件,现在还没有实现 - UmengPackage 打包组件 - UmengTools 工程主要UI,管理 UmengMarket, UmengPackage, UmengTools 三个组件 - UmengWidget 小工具组件,目前仅有解包分析的功能 打包工具组件: - Source - Builder - ApkBuilder.cs     通过 APK 打包的 Builder 实现                    - Builder.cs            抽象 Builder 类,提供打包的主要逻辑                    - SourceBuilder.cs通过源码打包的 Builder 实现 (目前代码还没有实现)          - Worker.cs 打包过程对外接口 3. 打包流程 V2.0 版本仅实现了通过 .apk 打包的方式,本质上对  apk 文件进行反编译,修改 AndroidManifest.xml 文件后,再重新打包,我们使用的工具是开源的拆包工具 Apktool 将  apktool  添加到当前 process 的环境变量 执行 apktool d --no-src -f xxxx.apk temp 拆解apk 替换或者添加 AndroidManifest.xml 中的 友盟channel 执行apktool b temp  unsigned.apk 重新打包apk 执行 SignApk.jar 生成签名后的 apk 文件 执行 zipAlign 生成对齐优化后的 apk 文件 回到 3 替换新的渠道 完成打包 使用  JarSigner.jar 给 Apk 签名, SignApk.jar  文件是我们修改过的 apk 签名工具,实现了和 ADT 中一样的签名方式,使用如下: Usage: signapk file.{keystore} keystore_password key_entry key_password input.apk output.apk
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值