- 授权协议: GPLv2
- 开发语言: C# Groovy
- 操作系统: Windows
- 软件首页: https://github.com/umeng/umeng-muti-channel-build-tool
软件介绍
友盟渠道打包工具主要是提供基本的通过工程源码打包的功能。
常见错误见这里目前不支持的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
Ajax Design Patterns
Michael Mahemoff / O'Reilly Media / 2006-06-29 / USD 44.99
Ajax, or Asynchronous JavaScript and XML, exploded onto the scene in the spring of 2005 and remains the hottest story among web developers. With its rich combination of technologies, Ajax provides a s......一起来看看 《Ajax Design Patterns》 这本书的介绍吧!
