【技术实现步骤摘要】
第三方代码片段的替换方法、装置、终端及存储介质
本申请涉及计算机
,尤其涉及一种第三方代码片段的替换方法、装置、终端及存储介质。
技术介绍
在安卓(Android)编程过程中,写入大量的布局或点击事件时,越来越多的用户会采用黄油刀(butterknife)等第三方库的方式,利用第三方库中对应的注解来简化代码,提升开发效率。目前,采用butterknife等第三方库的方式,会增加Android代码的包大小,减缓Android主站代码的打包编译速度,因而需要对第三方库的注解替换为原生代码逻辑,现有的替换方式,是利用人工操作,依次对Android主站代码指定文件目录下的文件进行判断,确定与第三方库的注解相关的类文件,并在判断该文件中定义的类使用了注解之后,手动对该文件中的类中的注解进行替换,将注解修改为与该注解对应的原生代码逻辑。但是,在目前的方案中,由于替换第三方库代码的过程是利用人工进行的,同时,由于存在海量的类文件需要人工进行判断其中是否存在与注解相关的内容,并需要手动将注解替换为能实现注解逻辑功能的原 ...
【技术保护点】
1.一种第三方代码片段的替换方法,其特征在于,所述方法包括:/n从文件目录包括的所有文件中选取类文件;/n将所述类文件中具有预设的第三方标识标签的代码片段,确定为第三方代码片段,所述第三方代码片段用于从第三方库中调用与所述第三方代码片段对应的目标文件;/n根据预设的第三方代码片段与原生代码片段之间的对应关系,确定与所述第三方代码片段对应的目标原生代码片段,所述目标原生代码片段中至少定义了所述目标文件所包含的逻辑规则;/n将所述类文件中的第三方代码片段替换为所述目标原生代码片段。/n
【技术特征摘要】
1.一种第三方代码片段的替换方法,其特征在于,所述方法包括:
从文件目录包括的所有文件中选取类文件;
将所述类文件中具有预设的第三方标识标签的代码片段,确定为第三方代码片段,所述第三方代码片段用于从第三方库中调用与所述第三方代码片段对应的目标文件;
根据预设的第三方代码片段与原生代码片段之间的对应关系,确定与所述第三方代码片段对应的目标原生代码片段,所述目标原生代码片段中至少定义了所述目标文件所包含的逻辑规则;
将所述类文件中的第三方代码片段替换为所述目标原生代码片段。
2.根据权利要求1所述的方法,其特征在于,所述第三方代码片段包括:声明代码片段和方法代码片段,所述目标原生代码片段包括原生方法代码片段;
所述根据预设的第三方代码片段与原生代码片段之间的对应关系,确定与所述第三方代码片段对应的目标原生代码片段的步骤,具体包括:
根据预设的声明代码片段、方法代码片段与原生方法代码片段之间的对应关系,确定与所述声明代码片段和所述方法代码片段对应的原生方法代码片段;
将所述原生方法代码片段进行封装,并为封装后的原生方法代码片段添加继承接口;
所述将所述类文件中的第三方代码片段替换为所述目标原生代码片段的步骤,具体包括:
将所述声明代码片段和所述方法代码片段删除,并将所述继承接口以及与所述继承接口对应的封装后的原生方法代码片段添加至所述类文件中。
3.根据权利要求2所述的方法,其特征在于,所述第三方代码片段还包括:第三方绑定代码片段,所述目标原生代码片段还包括:原生绑定代码片段;
所述根据预设的第三方代码片段与原生代码片段之间的对应关系,确定与所述第三方代码片段对应的目标原生代码片段的步骤,具体包括:
根据所述封装后的原生方法代码片段,确定所述原生绑定代码片段;
所述将所述类文件中的第三方代码片段替换为所述目标原生代码片段的步骤,具体包括:
将所述第三方绑定代码片段替换为所述原生绑定代码片段。
4.根据权利要求2所述方法,其特征在于,所述第三方代码片段还包括:第三方引用代码片段,所述目标原生代码片段还包括:原生引用代码片段;
在所述将所述声明代码片段和所述方法代码片段替换为包含所述封装后的原生方法代码片段的继承接口的步骤之后,所述方法还包括:
遍历所述类文件,确定与所述类文件中的代码相关的引用库,并根据所述引用库,生成所述原生引用代码片段;
将所述第三方引用代码片段替换为所述原生引用代码片段。
5.根据权利要求1所述方法,其特征在于,在所述将所述类文件中具有预设的第三方标识标签的代码片段,确定为第三方代码片段的步骤之前,所述方法还包括:
根据预设的检测规则,在所述类文件的代码中检测出非常规代码片段;
根据预设的修正规则,对所述非常规...
【专利技术属性】
技术研发人员:王鹏,沈冠初,
申请(专利权)人:北京达佳互联信息技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。