CN107943484A - 执行业务功能的方法和装置 - Google Patents
执行业务功能的方法和装置 Download PDFInfo
- Publication number
- CN107943484A CN107943484A CN201711236272.1A CN201711236272A CN107943484A CN 107943484 A CN107943484 A CN 107943484A CN 201711236272 A CN201711236272 A CN 201711236272A CN 107943484 A CN107943484 A CN 107943484A
- Authority
- CN
- China
- Prior art keywords
- base class
- class interface
- executable file
- sdk
- operation code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种执行业务功能的方法和装置,属于计算机技术领域。所述方法包括:当检测到目标应用程序执行目标业务功能时,从软件开发包SDK中获取所述目标业务功能对应的基类接口;基于所述基类接口和所述SDK,进行编译,生成可执行文件;基于所述可执行文件,获取所述目标应用程序中所述基类接口对应的运行代码;运行获取到的运行代码。采用本发明,SDK的通用性会比较好。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种执行业务功能的方法和装置。
背景技术
在开发应用程序时,为了加快应用程序的开发速度,部分通用功能的代码往往会被封装为SDK(Software Development Kit,软件开发包),SDK可以提供多个功能接口,供应用程序调用。
SDK一般是供多个应用程序使用,不同的应用程序调用同一个功能接口,实现相同的功能。但是在实际使用过程中,往往不同的应用程序在实现基础功能的情况下,还想实现自己特有的功能,例如,基础功能是显示页面的功能,对于A应用程序,在显示页面的功能上增加手势返回的功能,对于B应用程序,在显示页面的功能上增加双击返回的功能。这样,如果应用程序要使用SDK,实现自己特有的功能,不同的应用程序需要使用不同的SDK,会使SDK的通用性比较差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种执行业务功能的方法和装置。所述技术方案如下:
第一方面,提供了一种执行业务功能的方法,所述方法包括:
当检测到目标应用程序执行目标业务功能时,从软件开发包SDK中获取所述目标业务功能对应的基类接口;
基于所述基类接口和所述SDK,进行编译,生成可执行文件;
基于所述可执行文件,获取所述目标应用程序中所述基类接口对应的运行代码;
运行获取到的运行代码。
可选的,所述基于所述可执行文件,获取所述目标应用程序中所述基类接口对应的运行代码,包括:
基于所述可执行文件中的基类接口,从所述目标应用程序中,获取所述基类接口对应的运行代码。
可选的,所述基于所述基类接口和所述SDK,进行编译,生成可执行文件,包括:
基于所述SDK中所述基类接口对应的运行代码,进行编译,生成可执行文件;
在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码,并将所述目标应用程序中所述基类接口对应的运行代码添加至所述可执行文件。
可选的,所述在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码,包括:
基于预设的关键字,在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码。
可选的,所述可执行文件为apk文件或ipa文件。
第二方面,提供了一种执行业务功能的装置,所述装置包括:
获取模块,用于当检测到目标应用程序执行目标业务功能时,从软件开发包SDK中获取所述目标业务功能对应的基类接口;
编译模块,用于基于所述基类接口和所述SDK,进行编译,生成可执行文件;
所述获取模块,还用于基于所述可执行文件,获取所述目标应用程序中所述基类接口对应的运行代码;
运行模块,用于运行获取到的运行代码。
可选的,所述获取模块,还用于:
基于所述可执行文件中的基类接口,从所述目标应用程序中,获取所述基类接口对应的运行代码。
可选的,所述编译模块,用于:
基于所述SDK中所述基类接口对应的运行代码,进行编译,生成可执行文件;
在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码,并将所述目标应用程序中所述基类接口对应的运行代码添加至所述可执行文件。
可选的,所述编译模块,用于:
基于预设的关键字,在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码。
可选的,所述可执行文件为apk文件或ipa文件。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,当检测到目标应用程序执行目标业务功能时,从软件开发包SDK中获取目标业务功能对应的基类接口,基于基类接口和SDK,进行编译,生成可执行文件,基于可执行文件,获取目标应用程序中基类接口对应的运行代码,运行获取到的运行代码。这样,由于在编译时使用SDK中的基类接口,进行编译,会使编译通过,在实际运行代码时,使用的是应用程序中的运行代码,所以不同的应用程序,在使用同一SDK时,还可以实现自己特有的功能,会使SDK的通用性比较高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种SDK的结构示意图;
图2是本发明实施例提供的一种执行业务功能的方法流程图;
图3是本发明实施例提供的一种执行业务功能的装置的结构示意图;
图4是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种执行业务功能的方法,该方法的执行主体为终端。其中,终端可以是手机、平板电脑等。终端中可以设置有处理器、存储器、收发器等,处理器可以用于进行执行业务功能的过程的处理,存储器可以用于存储执行业务功能过程中需要的数据以及产生的数据,收发器可以用于接收以及发送数据,终端中还可以设置有屏幕等输入输出设备等,屏幕可以用于显示操作界面、运行结果等,屏幕可以是触控式屏幕。
本实施例中以终端为手机为例进行方案的详细描述,其它情况与之类似,本实施例不再累述。
在进行实施前,首先介绍本发明实施例中涉及到的SDK和应用程序中的基类接口:
在开发应用程序时,技术人员可以获取SDK,如图1所示,SDK包括基类接口库和SDK库,基类接口库中存储有至少一个基类接口的接口函数,SDK库中存储有基类接口库中每个基类接口对应的运行代码。
技术人员在开发应用程序时,对于某个业务,SDK中有基础功能,如果A应用程序除了要实现基础功能,还要实现自己特有的功能,可以在A应用程序中,设置基类接口与SDK中的基础功能对应的基类接口相同,并且在A应用程序中存储基类接口对应的运行代码,该运行代码在被运行后,可以实现自己特有的功能。如果B应用程序除了要实现基础功能,还要实现自己特有的功能,可以在B应用程序中,设置基类接口与SDK中的基础功能对应的基类接口相同,并且在B应用程序中存储基类接口对应的运行代码,该运行代码在被运行后,可以实现自己特有的功能。例如,基础功能是显示页面的功能,对于A应用程序,在显示页面的功能上增加手势返回的功能,对于B应用程序,在显示页面的功能上增加双击返回的功能,如果实现基础功能的基类接口为a,那么A应用程序和B应用程序中实现自己特有的功能的基类接口也为a。这样,虽然SDK、A应用程序和B应用程序中都存储有相同的基类接口,但是对应的运行代码是不相同的,SDK中基类接口对应的运行代码用于实现基础功能,A应用程序中基类接口对应的运行代码用于实现自己特有的功能,B应用程序中基类接口对应的运行代码用于实现自己特有的功能。
以上A应用程序和B应用程序都是在实现基础功能的基础上,还要实现自己特有的功能的应用程序,后面提到的目标应用程序是这类应用程序中的任一应用程序。
如图2所示,该方法的处理流程可以包括如下的步骤:
步骤201,当检测到目标应用程序执行目标业务功能时,从SDK中获取目标业务功能对应的基类接口。
其中,目标应用程序是终端上可以安装的任一应用程序,例如,通信类应用程序、购物类应用程序等。目标应用程序在实现基础功能的基础上,还要实现自己特有的功能,目标应用程序可以是ios系统下的应用程序,或者是安卓系统下的应用程序,目标业务功能是目标应用程序特有的功能。
在实施中,技术人员开发好目标应用程序的执行目标业务功能的代码后,想要执行目标业务功能,可以将目标应用程序安装在终端,然后触发执行目标业务功能,终端检测到执行目标业务功能时,可以使用目标业务功能的标识,从SDK中的基类接口库获取目标业务功能对应的基类接口。
步骤202,基于基类接口和SDK,进行编译,生成可执行文件。
在实施中,终端在获取到目标业务功能对应的基类接口后,可以使用基类接口和SDK的SDK库,如果目标应用程序是ios系统下的应用程序,可以使用基类接口在SDK中查找基类接口至运行代码的链接信息,生成可执行文件,在可执行文件中包括基类接口、以及基类接口至SDK库中的运行代码的链接信息。这是由于ios系统的编写语言是objective-c,是动态语言,使用的是动态库。如果目标应用程序是安卓系统下的应用程序,步骤202的处理可以如下:
基于SDK中基类接口对应的运行代码,进行编译,生成可执行文件,在可执行文件中删除SDK中基类接口对应的运行代码,并将目标应用程序中基类接口对应的运行代码添加至可执行文件。
在实施中,终端可以使用基类接口,在SDK库中找到基类接口对应的运行代码,然后使用该运行代码,进行编译处理,生成可执行文件。在可执行文件中删除SDK中基类接口对应的运行代码,然后使用基类接口,在目标应用程序中,查找目标应用程序中基类接口对应的运行代码,然后将目标应用程序中基类接口对应的运行代码,添加至可执行文件中,这样,生成的可执行文件中,仅有目标应用程序中基类接口对应的运行代码,在后续运行过程中,运行的是目标应用程序中基类接口对应的运行代码。
可选的,删除SDK中基类接口对应的运行代码的方法可以如下:
基于预设的关键字,在可执行文件中删除SDK中基类接口对应的运行代码。
其中,预设的关键字可以由技术人员进行预设,并且存储终端中,例如,预设的关键字可以是“exclude”等。
在实施中,在生成可执行文件后,终端可以使用预设的关键字,如果SDK中基类接口对应的运行代码中包括预设的关键字,终端可以从可执行文件中,删除SDK中基类接口对应的运行代码。这样,终端最后运行的运行代码就不会是SDK中基类接口对应的运行代码。
可选的,可执行文件为apk文件或ipa文件。
在实施中,apk文件是安卓系统下的安装包文件,ipa文件是ios系统下的安装包文件,所以本发明实施例既可以用于安卓系统,也可以用于ios系统。
步骤203,基于可执行文件,获取目标应用程序中基类接口对应的运行代码。
在实施中,终端生成可执行文件后,如果目标应用程序是安卓系统下的应用程序,在可执行文件中有基类接口对应的运行代码,所以可以在可执行文件中,使用基类接口,查找基类接口对应的运行代码。如果目标应用程序是ios系统下的应用程序,步骤203的处理可以如下:
基于可执行文件中的基类接口,从目标应用程序中,获取基类接口对应的运行代码。
在实施中,终端可以从可执行文件中,获取到可执行文件中的基类接口,然后从目标应用程序对应的动态库中,查找到基类接口对应的运行代码。这样,在实际运行之前,终端获取到的是目标应用程序中基类接口对应的运行代码,而不会去获取可执行文件中SDK的基类接口对应的运行代码,在后续运行过程中,运行的是目标应用程序中基类接口对应的运行代码。
步骤204,运行获取到的运行代码。
在实施中,终端获取到目标应用程序中基类接口对应的运行代码后,可以运行获取到的运行代码。这样,由于目标应用程序中的运行代码与基类接口对应,基类接口与目标业务功能对应,所以运行该运行代码,则可以执行目标业务功能。
本发明实施例中,当检测到目标应用程序执行目标业务功能时,从软件开发包SDK中获取目标业务功能对应的基类接口,基于基类接口和SDK,进行编译,生成可执行文件,基于可执行文件,获取目标应用程序中基类接口对应的运行代码,运行获取到的运行代码。这样,由于在编译时使用SDK中的基类接口,进行编译,会使编译通过,在实际运行代码时,使用的是应用程序中的运行代码,所以不同的应用程序,在使用同一SDK时,还可以实现自己特有的功能,会使SDK的通用性比较高。
基于相同的技术构思,本发明实施例还提供了一种执行业务功能的装置,该装置可以为上述实施例中的终端,如图3所示,该装置包括:
获取模块310,用于当检测到目标应用程序执行目标业务功能时,从软件开发包SDK中获取所述目标业务功能对应的基类接口;
编译模块320,用于基于所述基类接口和所述SDK,进行编译,生成可执行文件;
所述获取模块310,还用于基于所述可执行文件,获取所述目标应用程序中所述基类接口对应的运行代码;
运行模块330,用于运行获取到的运行代码。
可选的,所述获取模块310,还用于:
基于所述可执行文件中的基类接口,从所述目标应用程序中,获取所述基类接口对应的运行代码。
可选的,所述编译模块320,用于:
基于所述SDK中所述基类接口对应的运行代码,进行编译,生成可执行文件;
在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码,并将所述目标应用程序中所述基类接口对应的运行代码添加至所述可执行文件。
可选的,所述编译模块320,用于:
基于预设的关键字,在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码。
可选的,所述可执行文件为apk文件或ipa文件。
本发明实施例中,当检测到目标应用程序执行目标业务功能时,从软件开发包SDK中获取目标业务功能对应的基类接口,基于基类接口和SDK,进行编译,生成可执行文件,基于可执行文件,获取目标应用程序中基类接口对应的运行代码,运行获取到的运行代码。这样,由于在编译时使用SDK中的基类接口,进行编译,会使编译通过,在实际运行代码时,使用的是应用程序中的运行代码,所以不同的应用程序,在使用同一SDK时,还可以实现自己特有的功能,会使SDK的通用性比较高。
需要说明的是:上述实施例提供的执行业务功能的装置在执行业务功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的执行业务功能的装置与执行业务功能的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4示出了本发明一个示例性实施例提供的终端400的结构框图。该终端400可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端400包括有:处理器401和存储器402。
处理器401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器401所执行以实现本申请中方法实施例提供的执行业务功能的方法。
在一些实施例中,终端400还可选包括有:外围设备接口403和至少一个外围设备。处理器401、存储器402和外围设备接口403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口403相连。具体地,外围设备包括:射频电路404、触摸显示屏405、摄像头406、音频电路407、定位组件408和电源409中的至少一种。
外围设备接口403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器401和存储器402。在一些实施例中,处理器401、存储器402和外围设备接口403被集成在同一芯片或电路板上;在一些其他实施例中,处理器401、存储器402和外围设备接口403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路404包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏405是触摸显示屏时,显示屏405还具有采集在显示屏405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器401进行处理。此时,显示屏405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏405可以为一个,设置终端400的前面板;在另一些实施例中,显示屏405可以为至少两个,分别设置在终端400的不同表面或呈折叠设计;在再一些实施例中,显示屏405可以是柔性显示屏,设置在终端400的弯曲表面上或折叠面上。甚至,显示屏405还可以设置成非矩形的不规则图形,也即异形屏。显示屏405可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件406用于采集图像或视频。可选地,摄像头组件406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器401进行处理,或者输入至射频电路404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器401或射频电路404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路407还可以包括耳机插孔。
定位组件408用于定位终端400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件408可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源409用于为终端400中的各个组件进行供电。电源409可以是交流电、直流电、一次性电池或可充电电池。当电源409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端400还包括有一个或多个传感器410。该一个或多个传感器410包括但不限于:加速度传感器411、陀螺仪传感器412、压力传感器413、指纹传感器414、光学传感器415以及接近传感器416。
加速度传感器411可以检测以终端400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器411可以用于检测重力加速度在三个坐标轴上的分量。处理器401可以根据加速度传感器411采集的重力加速度信号,控制触摸显示屏405以横向视图或纵向视图进行用户界面的显示。加速度传感器411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器412可以检测终端400的机体方向及转动角度,陀螺仪传感器412可以与加速度传感器411协同采集用户对终端400的3D动作。处理器401根据陀螺仪传感器412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器413可以设置在终端400的侧边框和/或触摸显示屏405的下层。当压力传感器413设置在终端400的侧边框时,可以检测用户对终端400的握持信号,由处理器401根据压力传感器413采集的握持信号进行左右手识别或快捷操作。当压力传感器413设置在触摸显示屏405的下层时,由处理器401根据用户对触摸显示屏405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器414用于采集用户的指纹,由处理器401根据指纹传感器414采集到的指纹识别用户的身份,或者,由指纹传感器414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器414可以被设置终端400的正面、背面或侧面。当终端400上设置有物理按键或厂商Logo时,指纹传感器414可以与物理按键或厂商Logo集成在一起。
光学传感器415用于采集环境光强度。在一个实施例中,处理器401可以根据光学传感器415采集的环境光强度,控制触摸显示屏405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏405的显示亮度;当环境光强度较低时,调低触摸显示屏405的显示亮度。在另一个实施例中,处理器401还可以根据光学传感器415采集的环境光强度,动态调整摄像头组件406的拍摄参数。
接近传感器416,也称距离传感器,通常设置在终端400的前面板。接近传感器416用于采集用户与终端400的正面之间的距离。在一个实施例中,当接近传感器416检测到用户与终端400的正面之间的距离逐渐变小时,由处理器401控制触摸显示屏405从亮屏状态切换为息屏状态;当接近传感器416检测到用户与终端400的正面之间的距离逐渐变大时,由处理器401控制触摸显示屏405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图4中示出的结构并不构成对终端400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种执行业务功能的方法,其特征在于,所述方法包括:
当检测到目标应用程序执行目标业务功能时,从软件开发包SDK中获取所述目标业务功能对应的基类接口;
基于所述基类接口和所述SDK,进行编译,生成可执行文件;
基于所述可执行文件,获取所述目标应用程序中所述基类接口对应的运行代码;
运行获取到的运行代码。
2.根据权利要求1所述的方法,其特征在于,所述基于所述可执行文件,获取所述目标应用程序中所述基类接口对应的运行代码,包括:
基于所述可执行文件中的基类接口,从所述目标应用程序中,获取所述基类接口对应的运行代码。
3.根据权利要求1所述的方法,其特征在于,所述基于所述基类接口和所述SDK,进行编译,生成可执行文件,包括:
基于所述SDK中所述基类接口对应的运行代码,进行编译,生成可执行文件;
在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码,并将所述目标应用程序中所述基类接口对应的运行代码添加至所述可执行文件。
4.根据权利要求3所述的方法,其特征在于,所述在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码,包括:
基于预设的关键字,在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码。
5.根据权利要求1所述的方法,其特征在于,所述可执行文件为apk文件或ipa文件。
6.一种执行业务功能的装置,其特征在于,所述装置包括:
获取模块,用于当检测到目标应用程序执行目标业务功能时,从软件开发包SDK中获取所述目标业务功能对应的基类接口;
编译模块,用于基于所述基类接口和所述SDK,进行编译,生成可执行文件;
所述获取模块,还用于基于所述可执行文件,获取所述目标应用程序中所述基类接口对应的运行代码;
运行模块,用于运行获取到的运行代码。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,还用于:
基于所述可执行文件中的基类接口,从所述目标应用程序中,获取所述基类接口对应的运行代码。
8.根据权利要求6所述的装置,其特征在于,所述编译模块,用于:
基于所述SDK中所述基类接口对应的运行代码,进行编译,生成可执行文件;
在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码,并将所述目标应用程序中所述基类接口对应的运行代码添加至所述可执行文件。
9.根据权利要求8所述的装置,其特征在于,所述编译模块,用于:
基于预设的关键字,在所述可执行文件中删除所述SDK中所述基类接口对应的运行代码。
10.根据权利要求6所述的装置,其特征在于,所述可执行文件为apk文件或ipa文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711236272.1A CN107943484B (zh) | 2017-11-30 | 2017-11-30 | 执行业务功能的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711236272.1A CN107943484B (zh) | 2017-11-30 | 2017-11-30 | 执行业务功能的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107943484A true CN107943484A (zh) | 2018-04-20 |
CN107943484B CN107943484B (zh) | 2021-04-06 |
Family
ID=61947966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711236272.1A Active CN107943484B (zh) | 2017-11-30 | 2017-11-30 | 执行业务功能的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107943484B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032358A (zh) * | 2019-01-03 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种应用程序生成方法、装置、设备及系统 |
CN111338633A (zh) * | 2020-02-10 | 2020-06-26 | Oppo(重庆)智能科技有限公司 | 免安装文件生成方法、装置及电子设备 |
CN111580892A (zh) * | 2019-02-19 | 2020-08-25 | 杭州海康威视系统技术有限公司 | 一种业务组件调用的方法、装置、终端和存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931603A (zh) * | 2009-06-26 | 2010-12-29 | 上海市上海中学 | 一种在手持智能终端上实现远程调用的方法 |
CN103269408A (zh) * | 2013-05-20 | 2013-08-28 | 四川智行电子科技有限公司 | 一种融合通信系统 |
US20130298106A1 (en) * | 2012-05-01 | 2013-11-07 | Oracle International Corporation | Indicators for resources with idempotent close methods in software programs |
CN103746746A (zh) * | 2013-12-11 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | 一种网络设备的业务系统 |
CN106529218A (zh) * | 2016-10-28 | 2017-03-22 | 杭州华三通信技术有限公司 | 一种应用校验方法和装置 |
CN106775793A (zh) * | 2015-11-23 | 2017-05-31 | 卓望数码技术(深圳)有限公司 | 一种安卓应用免安装启动的方法、装置及终端 |
CN106874034A (zh) * | 2017-01-09 | 2017-06-20 | 深圳市联谛信息无障碍有限责任公司 | 一种在Android平台无障碍阅读自定义对话框的方法 |
CN106980504A (zh) * | 2017-03-28 | 2017-07-25 | 腾讯科技(深圳)有限公司 | 一种应用程序开发方法及其工具、设备 |
US9755858B2 (en) * | 2014-04-15 | 2017-09-05 | Cisco Technology, Inc. | Programmable infrastructure gateway for enabling hybrid cloud services in a network environment |
US20170255943A1 (en) * | 2015-05-22 | 2017-09-07 | Paypal, Inc. | Hosted sensitive data form fields for compliance with security standards |
CN107193628A (zh) * | 2017-04-07 | 2017-09-22 | 万达百汇科技(深圳)有限公司 | 支付终端应用仿真方法和装置 |
CN107346284A (zh) * | 2016-05-05 | 2017-11-14 | 腾讯科技(深圳)有限公司 | 一种应用程序的检测方法及检测装置 |
-
2017
- 2017-11-30 CN CN201711236272.1A patent/CN107943484B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931603A (zh) * | 2009-06-26 | 2010-12-29 | 上海市上海中学 | 一种在手持智能终端上实现远程调用的方法 |
US20130298106A1 (en) * | 2012-05-01 | 2013-11-07 | Oracle International Corporation | Indicators for resources with idempotent close methods in software programs |
CN103269408A (zh) * | 2013-05-20 | 2013-08-28 | 四川智行电子科技有限公司 | 一种融合通信系统 |
CN103746746A (zh) * | 2013-12-11 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | 一种网络设备的业务系统 |
US9755858B2 (en) * | 2014-04-15 | 2017-09-05 | Cisco Technology, Inc. | Programmable infrastructure gateway for enabling hybrid cloud services in a network environment |
US20170255943A1 (en) * | 2015-05-22 | 2017-09-07 | Paypal, Inc. | Hosted sensitive data form fields for compliance with security standards |
CN106775793A (zh) * | 2015-11-23 | 2017-05-31 | 卓望数码技术(深圳)有限公司 | 一种安卓应用免安装启动的方法、装置及终端 |
CN107346284A (zh) * | 2016-05-05 | 2017-11-14 | 腾讯科技(深圳)有限公司 | 一种应用程序的检测方法及检测装置 |
CN106529218A (zh) * | 2016-10-28 | 2017-03-22 | 杭州华三通信技术有限公司 | 一种应用校验方法和装置 |
CN106874034A (zh) * | 2017-01-09 | 2017-06-20 | 深圳市联谛信息无障碍有限责任公司 | 一种在Android平台无障碍阅读自定义对话框的方法 |
CN106980504A (zh) * | 2017-03-28 | 2017-07-25 | 腾讯科技(深圳)有限公司 | 一种应用程序开发方法及其工具、设备 |
CN107193628A (zh) * | 2017-04-07 | 2017-09-22 | 万达百汇科技(深圳)有限公司 | 支付终端应用仿真方法和装置 |
Non-Patent Citations (1)
Title |
---|
ITEYE_11495: ""使用QQ互联Android SDK 实现本地图片的QQ定向分享"", 《HTTPS://BLOG.CSDN.NET/ITEYE_11495/ARTICLE/DETAILS/82523895》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032358A (zh) * | 2019-01-03 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种应用程序生成方法、装置、设备及系统 |
CN111580892A (zh) * | 2019-02-19 | 2020-08-25 | 杭州海康威视系统技术有限公司 | 一种业务组件调用的方法、装置、终端和存储介质 |
CN111580892B (zh) * | 2019-02-19 | 2023-09-19 | 杭州海康威视系统技术有限公司 | 一种业务组件调用的方法、装置、终端和存储介质 |
CN111338633A (zh) * | 2020-02-10 | 2020-06-26 | Oppo(重庆)智能科技有限公司 | 免安装文件生成方法、装置及电子设备 |
CN111338633B (zh) * | 2020-02-10 | 2023-08-15 | Oppo(重庆)智能科技有限公司 | 免安装文件生成方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107943484B (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102336368B1 (ko) | 오디오 데이터를 재생하기 위한 방법 및 장치 | |
US11574009B2 (en) | Method, apparatus and computer device for searching audio, and storage medium | |
CN107888968A (zh) | 直播视频的播放方法、装置及计算机存储介质 | |
US11315534B2 (en) | Method, apparatus, terminal and storage medium for mixing audio | |
CN109491924A (zh) | 代码检测方法、装置、终端及存储介质 | |
CN108132790A (zh) | 检测无用代码的方法、装置及计算机存储介质 | |
CN108093307A (zh) | 获取播放文件的方法和系统 | |
CN110288689A (zh) | 对电子地图进行渲染的方法和装置 | |
CN109688461A (zh) | 视频播放方法及装置 | |
CN109068008A (zh) | 铃声设置方法、装置、终端及存储介质 | |
CN110515688A (zh) | 页面显示方法、装置、终端及存储介质 | |
CN110032702A (zh) | 网页显示方法、装置、设备及存储介质 | |
CN107943484A (zh) | 执行业务功能的方法和装置 | |
CN109218751A (zh) | 推荐音频的方法、装置及系统 | |
CN109102811A (zh) | 音频指纹的生成方法、装置及存储介质 | |
CN108806670A (zh) | 语音识别方法、装置及存储介质 | |
CN108734662A (zh) | 显示图标的方法和装置 | |
CN110244999A (zh) | 控制目标应用程序运行的方法、装置、设备及存储介质 | |
CN110275655A (zh) | 歌词显示方法、装置、设备及存储介质 | |
CN109800003A (zh) | 应用下载方法、装置、终端及存储介质 | |
CN109547847A (zh) | 添加视频信息的方法、装置及计算机可读存储介质 | |
CN109299319A (zh) | 音频信息的显示方法、装置、终端及存储介质 | |
CN108966026A (zh) | 制作视频文件的方法和装置 | |
CN110309348A (zh) | 歌曲播放方法、装置及系统 | |
CN109451168A (zh) | 生成铃声文件的方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |