一种应用程序生成方法、装置、设备及存储介质与流程

文档序号:34265751发布日期:2023-05-25 07:01阅读:41来源:国知局
一种应用程序生成方法、装置、设备及存储介质与流程

本申请涉及软件生成,具体而言,涉及一种应用程序生成方法、装置、设备及存储介质。


背景技术:

1、埋点是指在应用程序的特定流程添加埋点代码,从而达到对应用程序中的一些信息进行收集的目的,收集到的信息可以被用来跟踪应用程序的使用情况,方便用来进一步优化应用程序,或者提供运营的数据支撑。

2、但在现有的跨平台应用程序生成方法中,由于受到了跨平台应用程序开发软件的限制,现有的埋点方法只能为手动创建埋点,因此,无法做到自动采集需要的埋点信息,浪费了大量人力物力,且由于人为误差,不能准确识别待添加埋点的位置。


技术实现思路

1、本申请的目的在于,针对上述现有技术中的不足,提供一种应用程序生成方法、装置、设备及存储介质,以便解决现有技术中存在的技术问题。

2、为实现上述目的,本申请实施例采用的技术方案如下:

3、第一方面,本申请实施例提供了一种应用程序生成方法,包括:

4、获取预设跨平台应用程序的源代码文件;

5、对所述源代码文件进行编译,生成编译代码文件;

6、根据目标函数的标识,从所述编译代码文件中确定所述目标函数所在的目标函数库;

7、采用所述目标函数对应的埋点方式,将预设统计代码添加至所述目标函数库中,生成目标编译代码文件;

8、根据所述目标编译代码文件,链接生成所述预设跨平台应用程序的可执行文件。

9、在可能的实现示例中,所述根据目标函数的标识,从所述编译代码文件中确定所述目标函数所在的目标函数库,包括:

10、生成所述编译代码文件的抽象语法树;

11、根据所述目标函数的标识,在所述抽象语法树中的各个函数库进行搜索,确定所述目标函数所在的所述目标函数库。

12、在可能的实现示例中,所述根据所述目标函数的标识,在所述编译代码文件中的组成文件中的各个函数库进行搜索,确定所述目标函数所在的所述目标函数库,包括:

13、根据多个所述目标函数的标识,逐个在所述编译代码文件中的组成文件中的各个函数库进行搜索,确定多个所述目标函数所在的所述目标函数库;

14、所述采用所述目标函数对应的埋点方式,将预设统计代码添加至所述目标函数库中,生成目标编译代码文件,包括:

15、分别采用多个所述目标函数对应的埋点方式,将所述预设统计代码添加至多个所述目标函数库中,生成所述目标编译代码文件。

16、在可能的实现实例中,多个所述目标函数包括:多个页面跳转函数;

17、根据多个所述目标函数的标识,逐个在所述抽象语法树中的各个函数库进行搜索,确定多个所述目标函数所在的所述目标函数库,包括:

18、根据所述多个页面跳转函数的标识,逐个在所述抽象语法树中的各个函数库进行搜索,确定所述多个页面跳转函数所在的所述目标函数库。

19、在可能的实现实例中,所述多个页面跳转函数至少包括:进入页面函数、退出页面函数、移除页面函数、替换页面函数;

20、根据所述多个页面跳转函数的标识,逐个在所述抽象语法树中的各个函数库进行搜索,确定所述多个页面跳转函数所在的所述目标函数库,包括:

21、根据所述进入页面函数的标识,在所述抽象语法树中的各个函数库进行搜索,确定所述进入页面函数所在的所述目标函数库;

22、根据所述退出页面函数的标识,在所述抽象语法树中的各个函数库进行搜索,确定所述退出页面函数所在的所述目标函数库;

23、根据所述移除页面函数的标识,在所述抽象语法树中的各个函数库进行搜索,确定所述移除页面函数所在的所述目标函数库;

24、根据所述替换页面函数的标识,在所述抽象语法树中的各个函数库进行搜索,确定所述替换页面函数所在的所述目标函数库。

25、在可能的实现实例中,多个所述目标函数还包括:多个点击事件函数;

26、根据多个所述目标函数的标识,逐个在所述抽象语法树中的各个函数库进行搜索,确定多个所述目标函数所在的所述目标函数库,包括:

27、根据所述多个点击事件函数的标识,逐个在所述抽象语法树中的各个函数库进行搜索,确定所述多个点击事件函数所在的所述目标函数库。

28、在可能的实现实例中,多个所述点击事件函数至少包括:事件分发函数、事件回调函数;

29、所述根据所述多个点击事件函数的标识,逐个在所述抽象语法树中的各个函数库进行搜索,确定所述多个点击事件函数所在的所述目标函数库,包括:

30、根据所述事件分发函数的标识,在所述抽象语法树中的各个函数库进行搜索,确定所述事件分发函数所在的所述目标函数库;

31、根据所述事件回调函数的标识,在所述抽象语法树中的各个函数库进行搜索,确定所述事件回调函数所在的所述目标函数库。

32、第二方面,本申请实施例还提供了一种应用程序生成装置,包括:

33、获取模块,用于获取预设跨平台应用程序的源代码文件;

34、编译模块,用于对所述源代码文件进行编译,生成编译代码文件;

35、确定模块,用于根据目标函数的标识,从所述编译代码文件中确定所述目标函数所在的目标函数库;

36、添加模块,用于采用所述目标函数对应的埋点方式,将预设统计代码添加至所述目标函数库中,生成目标编译代码文件;

37、生成模块,用于根据所述目标编译代码文件,链接生成所述预设跨平台应用程序的可执行文件。

38、第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如上述实施例提供的应用程序生成方法的步骤。

39、第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述实施例提供的应用程序生成方法的步骤。

40、本申请的有益效果是:在本申请中,通过获取预设跨平台应用程序的源代码文件;对源代码文件进行编译,生成编译代码文件;根据目标函数的标识,从编译代码文件中确定目标函数所在的目标函数库;采用目标函数对应的埋点方式,将预设统计代码添加至目标函数库中,生成目标编译代码文件;根据目标编译代码文件,链接生成预设跨平台应用程序的可执行文件。采用本申请提供的方法,可以实现对目标函数的自动识别,从而可以将预设统计代码添加至目标函数对应的目标函数库中,实现了自动采集需要的埋点信息,避免了人力物力的浪费,也提高了对添加埋点的位置进行识别的准确度。



技术特征:

1.一种应用程序生成方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据目标函数的标识,从所述编译代码文件中确定所述目标函数所在的目标函数库,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述目标函数的标识,在所述抽象语法树中的各个函数库进行搜索,确定所述目标函数所在的所述目标函数库,包括:

4.根据权利要求3所述的方法,其特征在于,多个所述目标函数包括:多个页面跳转函数;

5.根据权利要求4所述的方法,其特征在于,所述多个页面跳转函数至少包括:进入页面函数、退出页面函数、移除页面函数、替换页面函数;

6.根据权利要求3所述的方法,其特征在于,多个所述目标函数还包括:多个点击事件函数;

7.根据权利要求6所述的方法,其特征在于,多个所述点击事件函数至少包括:事件分发函数、事件回调函数;

8.一种应用程序生成装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求1至7任一所述的应用程序生成方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的应用程序生成方法的步骤。


技术总结
本申请提供一种应用程序生成方法、装置、设备及存储介质,涉及软件生成技术领域。该应用程序生成方法包括:获取预设跨平台应用程序的源代码文件;对源代码文件进行编译,生成编译代码文件;根据目标函数的标识,从编译代码文件中确定目标函数所在的目标函数库;采用目标函数对应的埋点方式,将预设统计代码添加至目标函数库中,生成目标编译代码文件;根据目标编译代码文件,链接生成预设跨平台应用程序的可执行文件。采用本申请提供的方法,可以实现对目标函数的自动识别,从而可以将预设统计代码添加至目标函数对应的目标函数库中,实现了自动采集需要的埋点信息,避免了人力物力的浪费,也提高了对添加埋点的位置进行识别的准确度。

技术研发人员:任涛
受保护的技术使用者:北京汇通天下物联科技有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1