一种将SDK集成到第三方APK的方法和装置制造方法及图纸

技术编号:14234313 阅读:26 留言:0更新日期:2016-12-21 03:06
本发明专利技术公开一种将SDK集成到第三方APK的方法和装置,所述方法包括:将第三方APK反编译,得到若干反编译后的文件。在所述反编译后的文件中,预先确定SDK的嵌入位置。在所述SDK的嵌入位置上完成所述SDK的嵌入。将嵌有所述SDK的所述反编译后的文件进行回编译,得到集成所述SDK的第三方APK。本发明专利技术提供的将SDK集成到第三方APK的方法不是在运行环境复杂的编译期完成的。与现有技术比,本发明专利技术能够降低SDK集成到第三方APK的出错率。同时,本发明专利技术对专业要求门槛低,非技术人员也能够完成。

Method and apparatus for integrating SDK into third party APK

The invention discloses a method and a device for integrating SDK into a third party APK. The method comprises the following steps of: compiling the third party APK to obtain a plurality of anti compiled files. In the compiled file, the embedded location of SDK is determined in advance. The embedding of the SDK is performed on the embedded position of the SDK. The anti compiled files embedded in the SDK are compiled to obtain the third party SDK integrated with the APK. The method provided by the present invention to integrate SDK into a third party APK is not performed in a complex compile time of the operating environment. Compared with the prior art, the invention can reduce the error rate of the SDK integrated into the third party APK. At the same time, the present invention has low threshold for professional requirements, and can also be completed by non technical personnel.

【技术实现步骤摘要】

本专利技术涉及数据处理领域,具体涉及一种将SDK集成到第三方APK的方法及装置。
技术介绍
APK是Android Package的缩写,即Android安装包。通过将APK文件直接传到Android模拟器或Android手机中执行即可实现安装。第三方APK是一种具有第三方的完整应用功能的安装包,如微信的APK,是一个成熟应用的安装包。目前,为这类第三方APK集成具有其他功能的SDK(软件开发工具包)是一项复杂且专业性较强的工作。现有的将具有一定功能的SDK集成到第三方APK的方法中,由于SDK集成的过程是在编译期完成的,所以需要预先为不同的编译器编写实现相应功能的插件。另外,由于编译环境的复杂性,如在不同的平台(mac、windows、linux操作系统)、或者相同平台不同的版本(windows xp和win7)之间、或者相同平台相同版本不同的jdk版本(jdk 1.7、jdk1.8)都可能会出现不同的问题。所以,在SDK集成到第三方APK的过程中可能会出现各种各样的问题需要解决。为了解决各种问题通常需要花费较多的时间和人力,并且问题频出的情况还会降低第三方商家对集成APK的用户体验。另外,由于现有的SDK集成到第三方APK的方法对专业要求较高,非技术人员几乎是不能完成这项任务的。
技术实现思路
为了降低专业要求的门槛,以及降低SDK集成到第三方APK的出错率,本专利技术提供了一种将SDK集成到第三方APK的方法及装置。本专利技术提供的一种将SDK集成到第三方APK的方法,所述方法包括:将第三方APK反编译,得到若干反编译后的文件;在所述反编译后的文件中,预先确定SDK的嵌入位置;在所述SDK的嵌入位置上完成所述SDK的嵌入;将嵌有所述SDK的所述反编译后的文件进行回编译,得到集成所述SDK的第三方APK。优选地,所述SDK用于监控所述第三方APK的性能。优选地,所述方法还包括:获取所述集成所述SDK的第三方APK的启动文件;在所述启动文件中,预先设置所述第三方APK中的待监控API。优选地,所述方法还包括:运行所述集成所述SDK的第三方APK,并获取所述待监控API的参数。优选地,所述获取所述待监控API的参数,具体为:利用hook技术,获取所述待监控API的参数。本专利技术还提供了一种将SDK集成到第三方APK的装置,所述装置包括:反编译模块,用于将第三方APK反编译,得到若干反编译后的文件;确定模块,用于在所述反编译后的文件中,预先确定SDK的嵌入位置;嵌入模块,用于在所述SDK的嵌入位置上完成所述SDK的嵌入;回编译模块,用于将嵌有所述SDK的所述反编译后的文件进行回编译,得到集成所述SDK的第三方APK。优选地,所述SDK用于监控所述第三方APK的性能。优选地,所述装置还包括:第一获取模块,用于获取所述集成所述SDK的第三方APK的启动文件;设置模块,用于在所述启动文件中,预先设置所述第三方APK中的待监控API。优选地,所述装置还包括:运行模块,用于运行所述集成所述SDK的第三方APK;第二获取模块,用于获取所述待监控API的参数。优选地,所述第二获取模块,具体用于利用hook技术,获取所述待监控API的参数。本专利技术提供的一种将SDK集成到第三方APK的方法,首先将第三方APK
反编译,得到若干反编译后的文件。其次,在所述反编译后的文件中,预先确定SDK的嵌入位置。再次,在所述SDK的嵌入位置上完成所述SDK的嵌入。最后,将嵌有所述SDK的所述反编译后的文件进行回编译,得到集成所述SDK的第三方APK。本专利技术实施例提供的将SDK集成到第三方APK的方法不是在运行环境复杂的编译期完成的,所以,与现有技术比,本专利技术能够降低SDK集成到第三方APK的出错率。同时,本专利技术对专业要求门槛低,非技术人员也能够完成。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种将SDK集成到第三方APK的方法流程图;图2为本专利技术实施例提供的一种将性能监控SDK集成到所述第三方APK的方法流程图;图3为本专利技术实施例提供的一种将SDK集成到第三方APK的装置结构图;图4为本专利技术提供的客户端的部分结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。参考图1,为本专利技术实施例提供的一种将SDK集成到第三方APK的方法流程图,所述方法具体可以包括:S101:将第三方APK反编译,得到若干反编译后的文件。APK是一种安卓系统的可安装程序包,例如微信的APK。只有点击在手机上的微信APK完成安装之后,微信才可以被用户正常使用。本实施例中的
第三方APK可以为第三方商家提供的具有特定功能的APK,如微信等。本实施例中,在确定需要集成SDK的第三方APK之后,首先将确定的第三方APK反编译,得到若干所述第三方APK经过反编译后的文件。具体的,对第三方APK进行反编译的方法为现有技术,能够得到的反编译后的文件也是由所述第三方APK自身决定的。也就是说,当第三方APK确定后,其反编译后得到的反编译后的文件就是确定的。S102:在所述反编译后的文件中,预先确定SDK的嵌入位置。本实施例中,在获得反编译后的文件之后,预先在所述反编译后的文件中确定一个用于SDK嵌入的位置。所述确定SDK的嵌入位置可以为第三方APK存储中间代码的文件夹等,一般我们将此类文件夹叫做smail文件夹。其中,嵌入的SDK具有特定功能,如性能检测功能,运行状况管理功能等。S103:在所述SDK的嵌入位置上完成所述SDK的嵌入。本实施例中,在确定所述SDK的嵌入位置后,将所述SDK嵌入到所述反编译后的文件中的嵌入位置,完成所述SDK的嵌入。具体的,对所述SDK的嵌入就是将所述SDK的代码和部分资源文件复制到所述反编译后的文件中的嵌入位置。S104:将嵌有所述SDK的所述反编译后的文件进行回编译,得到集成所述SDK的第三方APK。本实施例中,在完成所述SDK的嵌入后,将嵌有所述SDK的反编译后的文件进行回编译,最终得到集成了所述SDK的第三方APK。此时,运行所述集成SDK的第三方APK时,能够实现所述SDK的功能。本专利技术实施例中,首先将第三方APK反编译,得到若干反编译后的文件。其次,在所述反编译后的文件中,预先确定SDK的嵌入位置。再次,在所述SDK的嵌入位置上完成所述SDK的嵌入。最后,将嵌有所述SDK的所述反编译后的文件进行回编译,得到集成所述SDK的第三方APK。本专利技术实施例提供的将SDK集成到第三方APK的方法不是在运行环境复杂的编译期完成的,所以,与现有技术比,本专利技术能够降低SDK集成到第三方APK的出错率。同时,本专利技术对专业要求门槛低,非技术人员也能够完成。参考图2,为本专利技术实施例提供的一种将本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201510152805.html" title="一种将SDK集成到第三方APK的方法和装置原文来自X技术">将SDK集成到第三方APK的方法和装置</a>

【技术保护点】
一种将SDK集成到第三方APK的方法,其特征在于,所述方法包括:将第三方APK反编译,得到若干反编译后的文件;在所述反编译后的文件中,预先确定SDK的嵌入位置;在所述SDK的嵌入位置上完成所述SDK的嵌入;将嵌有所述SDK的所述反编译后的文件进行回编译,得到集成所述SDK的第三方APK。

【技术特征摘要】
1.一种将SDK集成到第三方APK的方法,其特征在于,所述方法包括:将第三方APK反编译,得到若干反编译后的文件;在所述反编译后的文件中,预先确定SDK的嵌入位置;在所述SDK的嵌入位置上完成所述SDK的嵌入;将嵌有所述SDK的所述反编译后的文件进行回编译,得到集成所述SDK的第三方APK。2.根据权利要求1所述的方法,其特征在于,所述SDK用于监控所述第三方APK的性能。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:获取所述集成所述SDK的第三方APK的启动文件;在所述启动文件中,预先设置所述第三方APK中的待监控API。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:运行所述集成所述SDK的第三方APK,并获取所述待监控API的参数。5.根据权利要求4所述的方法,其特征在于,所述获取所述待监控API的参数,具体为:利用hook技术,获取所述待监控API的参数。6.一种将SDK集成到第三方APK的装置,其特征在于,...

【专利技术属性】
技术研发人员:张新勇何晓阳赵海俊
申请(专利权)人:北京蓝海讯通科技有限公司
类型:发明
国别省市:北京;11

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

1