0%

聚合SDK-设计

聚合工程

1.用作客户端接入部分的统一框架 SDK_Client

2.用作服务端统一的逻辑转发和处理中心 SDK_Server

3.用作打包功能的逻辑和多线程的任务调度 SDK_Package

4.用户可视化操作界面和功能配置界面 SDK_Manager

SDK_Package

打包工具

1、打包工具的输入,就是需要打包的 apk 包,也叫母包。游戏里面引入 sdk 抽象层的 jar 包,调用抽象层的接口。完成接入,然后打成 apk。

2、打包工具会首先用 apktool -d 对母包进行反编译。反编译到该渠道对应的临时工作目录中
3、重命名包名。我们知道在 AndroidManifet.xml 中的 package 就是包名,为了防止后面我们重新生成 R 文件导致冲突,我们对每个渠道都设置一个后缀。比如 UC,后缀叫.uc。当乐,后缀.dl 等等。如果渠道 SDK 有明确要求,使用他们提供的后缀,那就使用他们提供的后缀。如果没有,就自己设置一个。
4、拷贝 SDK 资源。将该渠道对应的 SDK 资源,从对应的 SDK 配置目录中,拷贝到反编译后的临时工作目录中。
1)拷贝 SDK 的 assets 目录,libs 目录,res 目录等
2)将 classes.dex 也反编译成 smali 格式,拷贝到反编译临时工作目录中
3)和 SDK_Manifest.xml 中的内容合并到游戏目录的 AndroidManifest.xml 中

5、生成游戏中需要使用的配置。
1)对于之前 SDK 目录中 config.xml 中配置的 APPID,APPKEY 等信息,根据需要,对于需要添加到 AndroidManifest.xml 中的,我们就将他添加到 AndroidManifest.xml 中的 meta-data 中。对于其他参数,我们会在 assets 目录下生成一个 develop_config.properties 文件。
2)对于 SDK 目录下 config.xml 中配置的插件信息,我们会在 assets 目录下,生成一个 plugin_info.xml 文件。这样 SDK 抽象层会读取这个配置来实例化对应的插件。
6、重新生成 R 文件。部分渠道需要支持他们的闪屏画面。根据我们的闪屏解决方案(后面会专门来说),我们需要重新生成 R 文件,来索引我们的闪屏资源图片等信息。
7、重新打包,采用 apktool -b 重新将合并之后的资源和代码,进行打包
8、签名和优化。部分渠道要求使用他们提供的签名文件,所以,我们对签名文件也采用了配置。可以根据不同的渠道来配置不同的签名文件。
9、经过以上步骤,一个渠道包就生成了

渠道配置

静态检测

动态检测

渠道包配置
1.闪屏,ICON
2.日志系统
3.参数
4.渠道sdk版本
5.包名
6.签名方式 v1,v2
7.热更 插件化 需要区分国区/海外
8.可选配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
可选配置--第三方组件
1 统计
2 分享
3 推送
4 打点
5 买量 头条,广点通

6加密
6.1.验签
smail+服务端验签
代码配置
6.2.混淆
java
native
7.安全