教你快速高效接入SDK——打包工具的实现(反编译资源动态整合打渠道包)
原文地址:http://www.uustory.com/?p=1472
整套u8sdk的核心思想,就是让我们的SDK接入成本,能够控制在1,而不是N。啥意思呢?就是,我开发第一款游戏的时候,我接了这些SDK,当我开发第二款,第三款游戏的时候,这套SDK可以尽可能的复用,而不是每开发一款游戏,又从头去接各个渠道sdk。所有的游戏都能够使用同一套SDK接入框架,来快速完成SDK的接入工作。那么,在U8SDK里,我们怎么做到呢?请看我们总体的思路:
游戏A,游戏B,游戏C是三款不同的游戏,对于他们来说,他们只需要调用U8SDK抽象层提供的接口,就完成了所有SDK的接入工作。这个时间,也就是个把小时的时间吧。
但是,我们知道,各个渠道SDK针对不同的游戏,都有不同的APPID,APPKEY等配置信息。所以,我们需要将这些配置信息也放在配置文件中。打包的时候,不同的游戏根据不同的配置,通过打包工具得到各个SDK的渠道包。 那么,像UC,当乐这些SDK是怎么接入的呢? 其实很简单,每个SDK接入,都是单独建立一个工程,引入SDK抽象层的jar包,然后,实现SDK抽象层中的插件接口。然后接好之后,会将SDK需要的资源,classes.dex,以及libs等需要的资源和代码,放在打包工具对应的SDK配置目录中。比如,UC的SDK,会在打包工具config/uc目录下,放置接好之后的SDK资源和代码。 同时,我们还需要两个配置文件。一个是config.xml。我们用他来配置,该渠道的参数配置信息。比如APPID, APPKEY等。同时也配置下,需要将哪些目录拷贝到apk里面的哪些目录中。同时,各个SDK接入都需要在AndroidManifest.xml中配置一些activity,service,permission等。我们把这些信息,放在SDK_Manifest.xml中。然后打包的时候,将这个文件的信息合并到母包的AndroidManifest.xml中。 我们再来看打包工具。你可能会奇怪,打包工具是怎么将只接入了抽象层的游戏母包输出为各个SDK的渠道包。这里,我们就要来看看打包工具所做的工作:
每个游戏,都有一个全局配置,里面配置了当前需要打包的渠道。这样,打包工具首先会读取该配置,然后按照上面的打包流程,对各个渠道进行打包。最终在输出目录下生成各个渠道对应的渠道包。
至此,我相信你对U8SDK里的打包工具有了一个比较全面的了解。但是,这还不够完善。比如,我们可以将参数从配置中脱离出来,采用界面化的管理方法。这样,你就可以将这套工具给运营或者策划去使用,程序开发人员,就不再需要负责打包的工作了。 打包的效率和速度上,也可以继续不断地进行优化。删除不必要的文件操作,减少不必要的流程等。 打包工具的源码三天三夜都说不完,所以建议,大家对着源码来看,根据上面所说的,慢慢熟悉打包工具,最后能够彻底掌握他,随心所欲完善修改他。本文作者:小黑 更多文章欢迎访问小黑的博客:http://www.uustory.com
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: 教你快速高效接入SDK——SDK接入抽象层的设计
- 下一篇:没有了