CN109614107B - 一种软件开发工具包的集成方法和装置 - Google Patents

一种软件开发工具包的集成方法和装置 Download PDF

Info

Publication number
CN109614107B
CN109614107B CN201811297445.5A CN201811297445A CN109614107B CN 109614107 B CN109614107 B CN 109614107B CN 201811297445 A CN201811297445 A CN 201811297445A CN 109614107 B CN109614107 B CN 109614107B
Authority
CN
China
Prior art keywords
application
development kit
software development
integration
determining
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.)
Active
Application number
CN201811297445.5A
Other languages
English (en)
Other versions
CN109614107A (zh
Inventor
谢开兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongdun Holdings Co Ltd
Original Assignee
Tongdun Holdings Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tongdun Holdings Co Ltd filed Critical Tongdun Holdings Co Ltd
Priority to CN201811297445.5A priority Critical patent/CN109614107B/zh
Publication of CN109614107A publication Critical patent/CN109614107A/zh
Application granted granted Critical
Publication of CN109614107B publication Critical patent/CN109614107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种软件开发工具包的集成方法和装置,该软件开发工具包的集成方法,包括:获取第一应用程序的安装系统的安装包;对安装包进行反编译,以确定安装包对应的第一Smali语言文件;在第一Smali语言文件中确定用于集成Smali语言格式的第一软件工具开发包的集成位置;利用预设的应用程序集成工具,根据所述集成位置,确定第一集成应用,所述第一集成应用是在所述第一应用程序中集成了所述第一软件工具开发包的应用。因此,能够在进行SDK集成时,简化集成操作,优化测试过程。

Description

一种软件开发工具包的集成方法和装置
技术领域
本申请涉及编程技术领域,特别是涉及一种软件开发工具包的集成方法和装置。
背景技术
随着移动互联网的发展,在开发SDK(中文:软件开发工具包;英文:SoftwareDevelopment Kit)的时候,需要进行大量的全面的测试,尽可能多的使用APP(中文:应用程序;英文:Application)进行集成测试,利用尽可能多的APP源码,进行编译集成,由于整个测试过程非常繁琐,在没有充足的源码的情况下,会导致集成工作量是非常大。现有技术中,在测试SDK时,一般采用开源的APP进行集成,以减少进行APP反编译的操作;但如果APP的功能不能和SDK的场景吻合,会无法达到预期的测试效果。
发明内容
鉴于上述问题,本申请实施例提供一种软件开发工具包的集成方法,能够解决现有技术中对于SDK集成复杂不易实现的问题。
相应的,本申请实施例还提供了一种软件开发工具包的集成装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种软件开发工具包的集成方法,所述方法包括:
获取第一应用程序的安卓系统的安装包;
对所述安装包进行反编译,以确定所述安装包对应的第一Smali语言文件;
在所述第一Smali语言文件中确定用于集成Smali语言格式的第一软件工具开发包的集成位置;
利用预设的应用程序集成工具,根据所述集成位置,确定第一集成应用,所述第一集成应用是在所述第一应用程序中集成了所述第一软件工具开发包的应用。
相应的,本申请实施例还公开了一种软件开发工具包的集成装置,所述装置包括:
获取模块,用于获取第一应用程序的安卓系统的安装包;
反编译模块,用于对所述安装包进行反编译,以确定所述安装包对应的第一Smali语言文件;
位置确定模块,用于在所述第一Smali语言文件中确定用于集成Smali语言格式的第一软件工具开发包的集成位置;
应用确定模块,用于利用预设的应用程序集成工具,根据所述集成位置,确定第一集成应用,所述第一集成应用是在所述第一应用程序中集成了所述第一软件工具开发包的应用。
本申请实施例还提供一种装置,包括处理器以及存储器,其中,
所述处理器执行所述存储器所存放的计算机程序代码,以实现本申请所述的软件开发工具包的集成方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现本申请所述的软件开发工具包的集成方法的步骤。
本申请实施例包括以下优点:
本申请实施例通过获取第一应用程序的安卓系统的安装包;对所述安装包进行反编译,以确定所述安装包对应的第一Smali语言文件;在所述第一Smali语言文件中确定用于集成Smali语言格式的第一软件工具开发包的集成位置;利用预设的应用程序集成工具,根据所述集成位置,确定第一集成应用,所述第一集成应用是在所述第一应用程序中集成了所述第一软件工具开发包的应用。因此,能够在进行SDK集成时,简化集成操作,优化测试过程。
附图说明
图1是本申请的一种软件开发工具包的集成方法实施例的步骤流程图;
图2是本申请的一种软件开发工具包的集成方法可选实施例的步骤流程图;
图3是本申请的一种软件开发工具包的集成方法可选实施例的步骤流程图;
图4是本申请的另一种软件开发工具包的集成方法实施例的步骤流程图;
图5是本申请的又一种软件开发工具包的集成方法实施例的步骤流程图;
图6是本申请的一种软件开发工具包的集成装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种软件开发工具包的集成方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取第一应用程序的安卓系统的安装包。
在基于安卓系统进行SDK的集成测试时,需要APK(中文:安卓系统安装包,英文:Android Package代码)的源码,而APK的dex文件可以理解为java类(.java文件)的集合,这个dex文件会在dalvik或者art虚拟机上加载运行,因此将SDK集成到APK的源码中,再进行打包APK,最后安装到手机上测试效果。由于能找到的APK开源的源码非常有限,而且不同的开源代码的功能并不一定符合所要集成的SDK对应的场景,同时能够找到的开源的源码可能仍需要进行IDE(中文:集成开发环境,英文:Integrated Development Environment)的转换,或者一些BUG修复,才能让该APK运行起来。因此,为了更加便捷有效的进行SDK的集成,优选地,获取到符合集成条件的第一应用程序进行本申请的操作,其中集成条件是指并未加固且能够正常运行的应用程序,能够对应需要集成的第一软件开发包的应用场景的APP,进而提升对该SDK调试的效果。
步骤102,对安装包进行反编译,以确定安装包对应的第一Smali语言文件。
示例地,Smali语言是APK通过反编译工具例如,apktool反编译后里面的Smali文件夹中以.smali结尾的文件的展示语言,安卓系统利用自身的虚拟机,对应用程序的安装包进行编译时,均采用Smali语言的代码,也就是说如果反编译APK得到的Smali代码可以正确的理解原应用程序的逻辑,dex文件在本地的情况下,可以将其转换为Smali汇编代码,本申请提出的技术方案就基于Smali语言,将需要进行集成的第一软件工具开发包转换成的Smali代码插入到第一应用程序对应的第一Smali语言文件中的集成位置,进而再进行封装打包,之后就可以进行SDK的测试。因此,首先对第一应用程序的安装包进行反编译,以确定第一应用程序对应的第一Smali语言文件,便于之后步骤在该文件内确定集成位置。
步骤103,在第一Smali语言文件中确定用于集成Smali语言格式的第一软件工具开发包的集成位置。
示例地,通过在第一Smali语言文件中找到第一应用程序用于描述该应用程序安装包中暴露的所有组件的AndroidManifest.xml文件,即入口文件,并再其中查找确定AndroidManifest.xml文件中对应的应用程序入口,也就是Application标签入口,在该标签下声明了应用程序的每一个组件和对应属性,并且其中包括onCreate()函数,是应用程序启动时,最先启动的部分,将SDK的Smali代码插入在此位置,能够确保该SDK充分集成在第一应用程序中,以便对其进行测试。
步骤104,利用预设的应用程序集成工具,根据集成位置,确定第一集成应用。
其中,第一集成应用是在第一应用程序中集成了第一软件工具开发包的应用。
示例地,在根据上面步骤确定的集成位置处插入该第一软件工具开发包的Smali代码后,再通过apktool对所有代码进行打包封装,重新编译成APK,也就是dex格式,进而能够对新的APK进行运行测试。
此外,本申请提出的技术方案还可以包括日志系统,用于在进行安全测试的过程中,查看第一软件工具开发包的Smali代码是否成功注入到第三方应用中;以及崩溃统计,以对插入了第一软件工具开发包的Smali代码后的应用程序在运行过程中因为一些BUG导致崩溃的事件进行统计,以确定错误堆栈信息。同时,利用本申请提出的技术方案对SDK进行有针对性的集成,在通过apktool重新编译成APK后完成签名认证,能够更有效的测试SDK的集成效果。
需要说明的是,对于进行加固和/或带有签名认证的应用程序,也可以对应用程序APK进行解包处理,以获取到Smali文件,即可进行本申请提出的SDK集成方法的步骤,且利用本申请的技术方案能够快速(例如,1分钟)实现对SDK在第三方应用程序上的集成,无需在集成前根据传统的集成方法,对开源的APP进行代码的测试和消除BUG,将本申请的技术方案作为预设的脚本,进而自动化实现SDK集成。
综上所述,本申请实施例提供的软件开发工具包的集成方法,获取第一应用程序的安卓系统的安装包;对安装包进行反编译,以确定安装包对应的第一Smali语言文件;在第一Smali语言文件中确定用于集成Smali语言格式的第一软件工具开发包的集成位置;利用预设的应用程序集成工具,根据集成位置,确定第一集成应用,该第一集成应用是在第一应用程序中集成了第一软件工具开发包的应用。因此,能够在进行SDK集成时,简化集成操作,优化测试过程。
参照图2,示出了本申请的一种软件开发工具包的集成方法可选实施例的步骤流程图,步骤103所述的在第一Smali语言文件中确定用于集成Smali语言格式的第一软件工具开发包的集成位置,可以包括如下步骤:
步骤1031,在第一Smali语言文件中确定第一应用程序的入口文件。
示例地,将第一Smali语言文件中的AndroidManifest.xml文件,作为入口文件。
步骤1032,查找入口文件中的第一应用程序的组件定义部分。
示例地,在该AndroidManifest.xml文件中查找到组件定义部分,也就是Application的标签下的部分,在该标签下声明了每一个应用程序的组件及其属性。
步骤1033,在组件定义部分查找目标函数所在位置。
在Application的标签下的onCreate()作为目标函数,查找其所在位置,示例地,可以通过字符串的特征查询,确定onCreate()所在位置。
步骤1034,将目标函数所在位置确定为集成位置。
由于onCreate()作为应用程序的入口位置,每次启动应用程序的时候,首先会运行该部分,将SDK集成在入口位置,能够确保SDK随应用程序的启动而运行,以实现SDK的集成效果。
参照图3,示出了本申请的一种软件开发工具包的集成方法可选实施例的步骤流程图,步骤104所述的利用预设的应用程序集成工具,根据集成位置,确定第一集成应用,包括如下步骤:
步骤1041,获取Smali语言格式的第一软件工具开发包。
步骤1042,在集成位置处插入Smali语言格式的第一软件工具开发包。
步骤1043,利用应用程序集成工具,对插入Smali语言格式的第一软件工具开发包的第一Smali语言文件进行打包处理,以确定第一集成应用。
示例地,根据步骤103确定的集成位置,将Smali语言格式的第一软件工具开发包插入在该位置,之后再利用apktool对集成后的Smali语言重新打包处理,封装成为新的APK。
参照图4,示出了本申请的另一种软件开发工具包的集成方法实施例的步骤流程图,该方法还包括如下步骤:
步骤105,利用预设的编译工具,对第一软件工具开发包进行编译,以确定Smali语言格式的第一软件工具开发包。
示例地,利用dex2jar将第一软件工具开发包转换为Smali代码格式,以便于之后进行插入。
参照图5,示出了本申请的又一种软件开发工具包的集成方法实施例的步骤流程图,该方法还包括如下步骤:
步骤106,根据对第一集成应用的调试,生成第一集成应用的系统日志。
步骤107,根据系统日志,确定第一软件开发包是否成功集成在第一应用程序中。
示例地,在确定第一集成应用之后,对其进行调试以确定该SDK在第一应用程序中的集成效果,并将调试过程记录在日志系统中,生成可查看的系统日志,之后开发者可以根据系统日志中的内容,确定该SDK是否集成成功,以及在不成功时,根据系统日志分析确定存在的问题。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图6,示出了本申请的一种软件开发工具包的集成装置实施例的结构框图,具体可以包括如下模块:
获取模块610,用于获取符合集成条件的第一应用程序。
反编译模块620,用于对安装包进行反编译,以确定安装包对应的第一Smali语言文件。
位置确定模块630,用于在在第一Smali语言文件中确定用于集成Smali语言格式的第一软件工具开发包的集成位置。
应用确定模块640,用于利用预设的应用程序集成工具,根据集成位置,确定第一集成应用,第一集成应用是在第一应用程序中集成了第一软件工具开发包的应用。
在本申请的一个可选实施例中,位置确定模块630,包括如下子模块:
文件确定子模块,用于在第一Smali语言文件中确定第一应用程序的入口文件。
组件查找子模块,用于查找入口文件中的第一应用程序的组件定义部分。
位置查找子模块,用于在组件定义部分查找目标函数所在位置。
位置确定子模块,用于将目标函数所在位置确定为集成位置。
在本申请的一个可选实施例中,应用确定模块640,包括如下子模块:
开发包获取子模块,用于获取Smali语言格式的第一软件工具开发包。
插入子模块,用于在集成位置处插入Smali语言格式的第一软件工具开发包。
打包处理子模块,用于利用应用程序集成工具,对插入Smali语言格式的第一软件工具开发包的第一Smali语言文件进行打包处理,以确定第一集成应用。
可选的,本申请实施例所示的装置600还包括:
反编译模块,用于利用预设的编译工具,对第一软件工具开发包进行编译,以确定Smali语言格式的第一软件工具开发包。
日志生成模块,用于根据对第一集成应用的调试,生成第一集成应用的系统日志。
确定模块,用于根据系统日志,确定第一软件开发包是否成功集成在第一应用程序中。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中各方法步骤的指令(instructions)。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (6)

1.一种软件开发工具包的集成方法,其特征在于,所述方法包括:
获取第一应用程序的安卓系统的安装包;
对所述安装包进行反编译,以确定所述安装包对应的第一Smali语言文件;
在所述第一Smali语言文件中确定用于集成Smali语言格式的第一软件开发工具包的集成位置,包括:在所述第一Smali语言文件中确定所述第一应用程序的入口文件;查找所述入口文件中的所述第一应用程序的组件定义部分;在所述组件定义部分查找目标函数所在位置;将所述目标函数所在位置确定为所述集成位置,其中,所述Smali语言格式的第一软件开发工具包是第一软件开发工具包转换成Smali代码所得;
利用预设的应用程序集成工具,根据所述集成位置,确定第一集成应用,所述第一集成应用是在所述第一应用程序中集成了所述第一软件开发工具包的应用;
所述利用预设的应用程序集成工具,根据所述集成位置,确定第一集成应用,包括:获取所述Smali语言格式的第一软件开发工具包;在所述集成位置处插入所述Smali语言格式的第一软件开发工具包;利用所述应用程序集成工具,对插入所述Smali语言格式的第一软件开发工具包的第一Smali语言文件进行打包处理,以确定所述第一集成应用。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
利用预设的编译工具,对所述第一软件开发工具包进行编译,以确定所述Smali语言格式的第一软件开发工具包。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据对所述第一集成应用的调试,生成所述第一集成应用的系统日志;
根据所述系统日志,确定所述第一软件开发工具包是否成功集成在所述第一应用程序中。
4.一种软件开发工具包的集成装置,其特征在于,所述装置包括:
获取模块,用于获取第一应用程序的安卓系统的安装包;
反编译模块,用于对所述安装包进行反编译,以确定所述安装包对应的第一Smali语言文件;
位置确定模块,用于在所述第一Smali语言文件中确定用于集成Smali语言格式的第一软件开发工具包的集成位置,其中,所述Smali语言格式的第一软件开发工具包是第一软件开发工具包转换成Smali代码所得;所述位置确定模块,包括:文件确定子模块,用于在所述第一Smali语言文件中确定所述第一应用程序的入口文件;组件查找子模块,用于查找所述入口文件中的所述第一应用程序的组件定义部分;位置查找子模块,用于在所述组件定义部分查找目标函数所在位置;位置确定子模块,用于将所述目标函数所在位置确定为所述集成位置;
应用确定模块,用于利用预设的应用程序集成工具,根据所述集成位置,确定第一集成应用,所述第一集成应用是在所述第一应用程序中集成了所述第一软件开发工具包的应用;
所述应用确定模块,包括:开发包获取子模块,用于获取所述Smali语言格式的第一软件开发工具包;插入子模块,用于在所述集成位置处插入所述Smali语言格式的第一软件开发工具包;打包处理子模块,用于利用所述应用程序集成工具,对插入所述Smali语言格式的第一软件开发工具包的第一Smali语言文件进行打包处理,以确定所述第一集成应用。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
反编译模块,用于利用预设的编译工具,对所述第一软件开发工具包进行编译,以确定所述Smali语言格式的第一软件开发工具包。
6.根据权利要求4所述的装置,其特征在于,所述装置还包括:
日志生成模块,用于根据对所述第一集成应用的调试,生成所述第一集成应用的系统日志;
确定模块,用于根据所述系统日志,确定所述第一软件开发工具包是否成功集成在所述第一应用程序中。
CN201811297445.5A 2018-11-01 2018-11-01 一种软件开发工具包的集成方法和装置 Active CN109614107B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811297445.5A CN109614107B (zh) 2018-11-01 2018-11-01 一种软件开发工具包的集成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811297445.5A CN109614107B (zh) 2018-11-01 2018-11-01 一种软件开发工具包的集成方法和装置

Publications (2)

Publication Number Publication Date
CN109614107A CN109614107A (zh) 2019-04-12
CN109614107B true CN109614107B (zh) 2022-09-16

Family

ID=66002989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811297445.5A Active CN109614107B (zh) 2018-11-01 2018-11-01 一种软件开发工具包的集成方法和装置

Country Status (1)

Country Link
CN (1) CN109614107B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111524018B (zh) * 2020-04-10 2022-09-09 深圳新致软件有限公司 保险行业智能机器人应用程序能力集成方法以及系统
CN111427603B (zh) * 2020-04-15 2023-07-14 浙江大华技术股份有限公司 应用程序的升级方法及装置
CN111897711B (zh) * 2020-06-15 2023-05-26 建信金融科技有限责任公司 代码中bug的定位方法、装置、电子设备及可读存储介质
CN114675840A (zh) * 2020-12-24 2022-06-28 花瓣云科技有限公司 生成应用程序的安装包的方法与电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015192637A1 (zh) * 2014-06-17 2015-12-23 北京奇虎科技有限公司 软件安装包的加固保护方法和装置
CN107526605A (zh) * 2016-06-20 2017-12-29 腾讯科技(深圳)有限公司 实现应用程序加载服务组件的方法和装置
CN108595187A (zh) * 2018-03-27 2018-09-28 北京美好人生伙伴信息技术有限公司 安卓安装包集成软件开发工具包的法、装置及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484585A (zh) * 2014-11-26 2015-04-01 北京奇虎科技有限公司 一种应用程序安装包的处理方法、装置及移动设备
CN106155717A (zh) * 2015-04-01 2016-11-23 北京蓝海讯通科技有限公司 一种将sdk集成到第三方apk的方法和装置
CN106528069B (zh) * 2015-09-15 2019-06-07 阿里巴巴集团控股有限公司 Sdk集成方法和装置
US20170178193A1 (en) * 2015-12-17 2017-06-22 Tube Incorporated Methods and systems of a sponsored mobile data usage platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015192637A1 (zh) * 2014-06-17 2015-12-23 北京奇虎科技有限公司 软件安装包的加固保护方法和装置
CN107526605A (zh) * 2016-06-20 2017-12-29 腾讯科技(深圳)有限公司 实现应用程序加载服务组件的方法和装置
CN108595187A (zh) * 2018-03-27 2018-09-28 北京美好人生伙伴信息技术有限公司 安卓安装包集成软件开发工具包的法、装置及存储介质

Also Published As

Publication number Publication date
CN109614107A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
CN109614107B (zh) 一种软件开发工具包的集成方法和装置
US8510717B2 (en) Method and system for testing application modules using static tests from a test suite
CN106020873B (zh) 补丁包加载方法及装置
US9645912B2 (en) In-place function modification
US20130167123A1 (en) Application debugging
US10338907B2 (en) Cloud service framework for toolkit deployment
US20160357530A1 (en) Method and apparatus for intermediate representation of applications
US10049031B2 (en) Correlation of violating change sets in regression testing of computer software
CN106776338B (zh) 一种测试方法、装置及服务器
CN110543423B (zh) 一种软件依赖包能力检测方法、系统及介质
CN107329889B (zh) 一种c编译器自动化测试的方法
US20130179867A1 (en) Program Code Analysis System
JP6142705B2 (ja) オブジェクト指向言語のための記号テストドライバの反復生成
Sun et al. {KSG}: Augmenting kernel fuzzing with system call specification generation
KR20140088963A (ko) 애플리케이션 개발을 위한 런타임 에러 테스팅 시스템 및 방법
WO2017039588A1 (en) Software patch fix based on checksums
CN115809076A (zh) Ecu软件自动化集成方法及系统
US11740895B2 (en) Generation of software program repair explanations
CN115391230A (zh) 一种测试脚本生成、渗透测试方法、装置、设备及介质
CN110096888B (zh) 一种加快验证及分析smm安全隐患的方法及系统
CN107341403B (zh) 一种文件转换方法和装置
CN106897622A (zh) 验证应用漏洞的方法和装置
Schütte et al. lios: Lifting ios apps for fun and profit
Calvagna et al. Assessing the correctness of JVM implementations
Bleier et al. Of Ahead Time: Evaluating Disassembly of Android Apps Compiled to Binary OATs Through the ART

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