依赖关系获取方法及装置制造方法及图纸

技术编号:26923739 阅读:9 留言:0更新日期:2021-01-01 22:47
本申请公开了一种依赖关系获取方法及装置,能够解决获取的依赖关系的粒度较粗,准确度较低的问题。包括:获取第一依赖关系,该第一依赖关系为第一程序文件与第二程序文件之间的依赖关系;解析该第一程序文件,得到与第一程序文件中的每个第一对象对应的N个第一信息,每个第一信息用于指示一个第一对象与至少一个第二对象的依赖关系,至少一个第二对象为该第二程序文件中的对象,N为正整数;根据该第一依赖关系和该N个第一信息,获取至少一个第二依赖关系,每个第二依赖关系为一个第一对象与该第二程序文件之间的依赖关系;其中,该第二程序文件为源文件,该第一程序文件为对该源文件编译后的文件。

【技术实现步骤摘要】
依赖关系获取方法及装置
本申请实施例涉及通信
,尤其涉及一种依赖关系获取方法及装置。
技术介绍
随着电子设备的快速发展,基于Android的应用开发逐渐从依赖较少的程序模块的单一开发模式,向依赖大量程序模块协同作用的大工程开发模式转变。而随着工程量的增加,所使用的程序模块数量也大量增加,进而程序模块与程序模块之间的依赖关系也变得更加复杂。目前,相关技术可以通过查看Gradle依赖树中的声明,获取各程序模块之间的依赖关系。但由于程序模块中通常还包括类、行等更细化的对象,因此,获取的依赖关系的粒度较粗,准确度较低。
技术实现思路
本申请实施例的目的是提供一种依赖关系获取方法及装置,能够解决获取的依赖关系的粒度较粗,准确度较低的问题。为了解决上述技术问题,本申请是这样实现的:第一方面,本申请实施例提供了一种依赖关系获取方法,该方法包括:获取第一依赖关系,该第一依赖关系为第一程序文件与第二程序文件之间的依赖关系;解析该第一程序文件,得到与该第一程序文件中的每个第一对象对应的N个第一信息,每个第一信息用于指示一个第一对象与至少一个第二对象的依赖关系,该至少一个第二对象为该第二程序文件中的对象,N为正整数;根据该第一依赖关系和该N个第一信息,获取至少一个第二依赖关系,每个第二依赖关系为一个第一对象与该第二程序文件之间的依赖关系;其中,该第二程序文件为源文件,该第一程序文件为对该源文件编译后的文件。第二方面,本申请实施例提供了一种依赖关系获取装置,该装置包括:获取模块和解析模块。获取模块,用于获取第一依赖关系,该第一依赖关系为第一程序文件与第二程序文件之间的依赖关系;解析模块,用于解析该第一程序文件,得到与该第一程序文件中的每个第一对象对应的N个第一信息,每个第一信息用于指示一个第一对象与至少一个第二对象的依赖关系,该至少一个第二对象为该第二程序文件中的对象,N为正整数;获取模块,还用于根据该第一依赖关系和该N个第一信息,获取至少一个第二依赖关系,每个第二依赖关系为一个第一对象与该第二程序文件之间的依赖关系;其中,该第二程序文件为源文件,该第一程序文件为对该源文件编译后的文件。第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面的方法的步骤。第四方面,本申请实施例提供了一种可读存储介质,该可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如第一方面的方法的步骤。第五方面,本申请实施例提供了一种芯片,该芯片包括处理器和通信接口,通信接口和处理器耦合,该处理器用于运行程序或指令,实现如第一方面的方法。在本申请实施例中,获取第一依赖关系,该第一依赖关系为第一程序文件与第二程序文件之间的依赖关系;解析该第一程序文件,得到与该第一程序文件中的每个第一对象对应的N个第一信息,每个第一信息用于指示一个第一对象与至少一个第二对象的依赖关系,该至少一个第二对象为该第二程序文件中的对象,N为正整数;根据该第一依赖关系和该N个第一信息,获取至少一个第二依赖关系,每个第二依赖关系为一个第一对象与该第二程序文件之间的依赖关系;其中,该第二程序文件为源文件,该第一程序文件为对该源文件编译后的文件。通过该方法,电子设备可以解析第一程序文件,得到更细化的类、行与第二程序文件对应的第一信息,并根据表示第一程序文件和第二程序文件的第一依赖关系,获取粒度更细,准确度更高的第二依赖关系。从而依据该第二依赖关系,从程序开发之初,即可避免程序不兼容故障的发生,进而提高程序开发效率,减少耗时。附图说明图1为本申请实施例提供的一种依赖关系获取方法的示意图之一;图2为本申请实施例提供的一种依赖关系获取方法的示意图之二;图3为本申请实施例提供的一种依赖关系获取方法的示意图之三;图4为本申请实施例提供的一种依赖关系获取方法的示意图之四;图5为本申请实施例提供的一种依赖关系获取方法的示意图之五;图6为本申请实施例提供的一种依赖关系获取装置的结构示意图之一;图7为本申请实施例提供的一种依赖关系获取装置的结构示意图之二;图8为本申请实施例提供的电子设备的硬件示意图之一;图9为本申请实施例提供的电子设备的硬件示意图之二。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的依赖关系获取方法进行详细地说明。本申请实施例中,有以下只是少一种场景,需要电子设备获取依赖关系:场景一,用户需要检测一个Android工程是否能在某厂家生产的电子设备上运行。场景二,应用商店检测新上架的应用程序能够对应使用的电子设备的型号。场景三,第三方开发者可以检测API与预设程序文件对应的API是否兼容。在本申请实施例中,获取第一依赖关系,该第一依赖关系为第一程序文件与第二程序文件之间的依赖关系;解析该第一程序文件,得到与该第一程序文件中的每个第一对象对应的N个第一信息,每个第一信息用于指示一个第一对象与至少一个第二对象的依赖关系,该至少一个第二对象为该第二程序文件中的对象,N为正整数;根据该第一依赖关系和该N个第一信息,获取至少一个第二依赖关系,每个第二依赖关系为一个第一对象与该第二程序文件之间的依赖关系;其中,该第二程序文件为源文件,该第一程序文件为对该源文件编译后的文件。通过该方法,电子设备可以解析第一程序文件,得到更细化的类、行与第二程序文件对应的第一信息,并根据表示第一程序文件和第二程序文件的第一依赖关系,获取粒度更细,准确度更高的第二依赖关系。从而依据该第二依赖关系,从程序开发之初,即可避免程序不兼容故障的发生,进而提高程序开发效率,减少耗时。如图1所示,本申请实施例提供一种依赖关系获取方法,该方法可以包括下述的步骤101至步骤103。步骤101、电子设备获取第一依赖关系。其中,上述第一依赖关系为第一程序文件与第二程序文件之间的依赖关系。可选的,本申请实施例中,第二程序文件为源文件,第一程序文件为对该源文件编译后的文件。可选的,本申请实施例本文档来自技高网...

【技术保护点】
1.一种依赖关系获取方法,其特征在于,所述方法包括:/n获取第一依赖关系,所述第一依赖关系为第一程序文件与第二程序文件之间的依赖关系;/n解析所述第一程序文件,得到与所述第一程序文件中的每个第一对象对应的N个第一信息,每个第一信息用于指示一个第一对象与至少一个第二对象的依赖关系,所述至少一个第二对象为所述第二程序文件中的对象,N为正整数;/n根据所述第一依赖关系和所述N个第一信息,获取至少一个第二依赖关系,每个第二依赖关系为一个第一对象与所述第二程序文件之间的依赖关系;/n其中,所述第二程序文件为源文件,所述第一程序文件为对所述源文件编译后的文件。/n

【技术特征摘要】
1.一种依赖关系获取方法,其特征在于,所述方法包括:
获取第一依赖关系,所述第一依赖关系为第一程序文件与第二程序文件之间的依赖关系;
解析所述第一程序文件,得到与所述第一程序文件中的每个第一对象对应的N个第一信息,每个第一信息用于指示一个第一对象与至少一个第二对象的依赖关系,所述至少一个第二对象为所述第二程序文件中的对象,N为正整数;
根据所述第一依赖关系和所述N个第一信息,获取至少一个第二依赖关系,每个第二依赖关系为一个第一对象与所述第二程序文件之间的依赖关系;
其中,所述第二程序文件为源文件,所述第一程序文件为对所述源文件编译后的文件。


2.根据权利要求1所述的方法,其特征在于,所述获取第一依赖关系,包括:
通过检测所述第一程序文件中的应用程序接口API,获取所述第一依赖关系。


3.根据权利要求1所述的方法,其特征在于,所述每个第一信息包括对象标识和调用函数,所述对象标识用于指示第一对象在所述第一程序文件中的位置,所述调用函数用于指示第一对象与至少一个第二对象之间的依赖方式;
所述根据所述第一依赖关系和所述N个第一信息,获取至少一个第二依赖关系,包括:
根据所述第一依赖关系,以及所述每个第一信息中的对象标识和调用函数,获取所述至少一个第二依赖关系,每个第二依赖关系用于指示位于目标位置的第一对象与所述第二程序文件之间以目标依赖方式依赖;
其中,所述目标位置为一个第一信息中的对象标识指示的位置,所述目标依赖方式为所述一个第一信息中的调用函数指示的依赖方式。


4.根据权利要求1所述的方法,其特征在于,所述获取至少一个第二依赖关系之后,所述方法还包括:
根据所述至少一个第二依赖关系,确定多个API;
在所述多个API中至少有一个API与预设API不匹配的情况下,输出目标提示信息,所述目标提示信息用于提示用户所述第一程序文件与预设程序文件不兼容。


5.根据权利要求4所述的方法,其特征在于,所述根据所述至少一个第二依赖关系,确定多个API,包括:
根据所述至少一个第二依赖关系中每个第二依赖关系对应的目标依赖方式,确定所述多个API。

<...

【专利技术属性】
技术研发人员:吴越
申请(专利权)人:维沃移动通信有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1