[发明专利]生成软件安装包的方法、装置、计算机设备及存储介质有效
申请号: | 202010099095.2 | 申请日: | 2020-02-18 |
公开(公告)号: | CN111309334B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 刘纯 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/71 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 张丽颖;李雪 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 软件 安装 方法 装置 计算机 设备 存储 介质 | ||
1.一种生成软件安装包的方法,其特征在于,包括:
确定用于生成安装包的待编译对象中含有目标静态方法的类,所述目标静态方法用于实现内部类与外部类之间相互访问私有变量或方法;
确定所述目标静态方法与所述类中的私有变量或方法之间的引用关系;
根据所述引用关系确定所述目标静态方法中的可删除静态方法;
将所述可删除静态方法从所述待编译对象中删除;
修改所述待编译对象中与所述可删除静态方法有引用关系的私有变量或方法的访问控制权限或引用指令,得到目标编译对象;
对所述目标编译对象执行编译,生成安装包文件;
其中,根据所述引用关系确定所述目标静态方法中的可删除静态方法,包括:判断所述目标静态方法是否满足第一预设条件、第二预设条件和第三预设条件中的任一条件,若所述目标静态方法均不满足所述第一预设条件、第二预设条件和第三预设条件,则确定所述目标静态方法为可删除静态方法;所述第一预设条件为目标静态方法对与其有引用关系的私有变量有写操作;所述第二预设条件为目标静态方法中字节码指令的条数大于阈值;所述第三预设条件为目标静态方法引用了从含有该目标静态方法的类的父类中继承的私有变量或方法,且含有该目标静态方法的类中不包含从父类中继承的私有变量或方法。
2.根据权利要求1所述的方法,其特征在于,确定所述目标静态方法与所述类中的私有变量或方法之间的引用关系,包括:
获取所述目标静态方法中的字节码指令,根据所述字节码指令确定所述目标静态方法引用的私有变量或方法;
遍历所述含有目标静态方法的类中的方法调用的字节码指令,根据所述字节码指令,确定引用所述目标静态方法的方法。
3.根据权利要求1所述的方法,其特征在于,修改所述待编译对象中与所述可删除静态方法有引用关系的私有变量或方法的访问控制权限,包括:
确定所述待编译对象中被可删除静态方法引用的私有变量或方法;
将被该可删除静态方法引用的私有变量或方法的访问控制权限改为包访问。
4.根据权利要求1所述的方法,其特征在于,修改所述待编译对象中与所述可删除静态方法有引用关系的私有变量或方法的引用指令,包括:
确定所述待编译对象中引用所述可删除静态方法的方法,作为目标方法;
若所述可删除静态方法引用的是私有变量,则将所述目标方法调用的字节码指令改为访问被所述可删除静态方法引用的私有变量;
若所述可删除静态方法引用的是方法,则将所述目标方法调用的字节码指令改为访问被所述可删除静态方法引用的方法。
5.一种生成软件安装包的装置,其特征在于,包括:
类确定模块,用于确定用于生成安装包的待编译对象中含有目标静态方法的类,所述目标静态方法用于实现内部类与外部类之间相互访问私有变量或方法;
引用关系确定模块,用于确定所述目标静态方法与所述类中的私有变量或方法之间的引用关系;
可删除静态方法确定模块,用于根据所述引用关系确定所述目标静态方法中的可删除静态方法;
删除模块,用于将所述可删除静态方法从所述待编译对象中删除;
修改模块,用于修改所述待编译对象中与所述可删除静态方法有引用关系的私有变量或方法的访问控制权限或引用指令,得到目标编译对象;
生成模块,用于对所述目标编译对象执行编译,生成安装包文件;
所述可删除静态方法确定模块具体用于:判断所述目标静态方法是否满足第一预设条件、第二预设条件和第三预设条件中的任一条件,若所述目标静态方法均不满足所述第一预设条件、第二预设条件和第三预设条件,则确定所述目标静态方法为可删除静态方法;所述第一预设条件为目标静态方法对与其有引用关系的私有变量有写操作;所述第二预设条件为目标静态方法中字节码指令的条数大于阈值;所述第三预设条件为目标静态方法引用了从含有该目标静态方法的类的父类中继承的私有变量或方法,且含有该目标静态方法的类中不包含从父类中继承的私有变量或方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010099095.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于城市地下排水管道用修复装置
- 下一篇:一种体温异常识别方法及装置