[发明专利]插件SDK生成方法、装置、计算机设备和存储介质在审
申请号: | 202011231744.6 | 申请日: | 2020-11-06 |
公开(公告)号: | CN112486569A | 公开(公告)日: | 2021-03-12 |
发明(设计)人: | 陶学诚;张国祥;朱晓鑫 | 申请(专利权)人: | 广州三七网络科技有限公司 |
主分类号: | G06F8/76 | 分类号: | G06F8/76;G06F11/36 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 刘艳丽 |
地址: | 510655 广东省广州市天河*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 插件 sdk 生成 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种插件SDK生成方法、装置、计算机设备和存储介质,所述方法包括:获取非插件版的SDK代码;获取非插件版的SDK代码中系统类的第一代码以及第一对外接口类的第一名称;将第一代码转换为非组件基类的第二代码,将第一名称转换为预设的第二名称,以使得名称转换后第一对外接口类的名称和宿主中与第一对外接口类对应的第二对外接口类的名称不同,得到待转换代码;根据待转换代码生成插件版的插件SDK,插件SDK通过宿主的第二对外接口类对外通信。上述方法能够减少SDK代码的生成量以降低资源浪费并减少人工维护游戏app代码的维护成本。
技术领域
本申请涉及代码处理技术领域,特别是涉及一种插件SDK生成方法、装置、计算机设备和存储介质。
背景技术
SDK(Software Development Kit,软件开发工具包)是指辅助开发某一特定的app(Application,应用软件)时提供的相关文档、范例和开发工具的集合,包括用于调试和其他用途的实用工具。它可以简单的为某个程序设计语言提供应用程序接口api(Application Programming Interface,应用程序接口)的一些文件,也可能包括能与某种嵌入式系统通讯的复杂的硬件,还可能包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
游戏app发行中,涉及到研发SDK代码、发行方SDK代码以及渠道方SDK代码这三方代码的结合。因此实现插件化时需要考虑当多方方案冲突时的回退方案。比如渠道方SDK使用了插件化技术,发行方在提供游戏app代码时也使用了插件化技术,则技术实现上存在冲突,需要发行方将插件SDK回退为非插件的方式。反之,发行方对外提供插件SDK。在此情况下,发行方实现一套插件版本和一套非插件版本的SDK在后续维护上,成本将会很高。同时需要提供一套插件版本的SDK和一套非插件版本的SDK,以便于匹配两种方案。因此研发需要生成两套SDK代码,不仅造成资源浪费并且需要耗费的人工量大。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少SDK代码的生成量以降低资源浪费并减少人工维护游戏app代码的维护成本的插件SDK生成方法、装置、计算机设备和存储介质。
一种插件SDK生成方法,该方法包括:获取非插件版的SDK代码;查询非插件版的SDK代码中系统类的第一代码以及第一对外接口类的第一名称;将第一代码转换为非组件基类的第二代码,将第一名称转换为预设的第二名称,以使得名称转换后第一对外接口类的名称和宿主中与第一对外接口类对应的第二对外接口类的名称不同,得到待转换代码;根据待转换代码生成插件版的插件SDK,插件SDK通过宿主的第二对外接口类对外通信。
在其中一个实施例中,系统类包括Activity组件的类、Service组件的类、ContentProvider组件的类、BroadcastReceiver组件的类和Application类中的一个或多个,将第一代码转换为非组件基类的第二代码,包括:在gradle插件的transform环节中,将Activity组件的类的代码或Service组件的类的代码或ContentProvider组件的类的代码或BroadcastReceiver组件的类的代码或Application类的代码转换为非组件基类的第二代码。
优选地,将第一名称转换为预设的第二名称,包括:在gradle插件的transform环节中,采用javassist的修改java字节码技术将第一名称转换为预先的第二名称。
在其中一个实施例中,一种插件SDK生成方法还包括:生成宿主的宿主代码,宿主代码中第二对外接口类的名称与非插件版的SDK代码中第三对外接口类的名称相同,非插件版的SDK代码通过第三对外接口类对外通信。
在其中一个实施例中,一种插件SDK生成方法还包括:获取插件SDK中的类的标识信息;获取宿主代码中与插件SDK中的类对应的代理类;将插件SDK中的类的标识信息和代理类关联,以使得代理类通过标识信息加载插件SDK中的类。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州三七网络科技有限公司,未经广州三七网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011231744.6/2.html,转载请声明来源钻瓜专利网。