【技术实现步骤摘要】
安卓安装包转换方法和装置以及运行应用的方法和装置
本专利技术涉及安卓系统中的应用,特别涉及转换安卓安装包的方法和装置以及基于第一应用的客户端运行第二应用的方法和装置。
技术介绍
安卓(Android)系统是由谷歌公司推出的移动终端操作系统。基于安卓系统,用户可以在应用市场(或应用商店)中购买/下载并安装应用,然后可以在移动终端(例如手机等)上运行应用。目前,在安卓系统中,每个应用在安装前都以安卓安装包(APK)的方式存在。用户如果想在安卓系统中使用某个应用,则需要使用系统提供的应用安装API(应用程序接口),在应用商店或其他应用中,将此应用的APK安装到系统中,之后用户可以直接运行这个应用。不只是应用市场,还有很多应用,都会在其中提供一些其它应用的介绍和链接。用户可以通过点击这些链接来下载其它应用。根据目前的技术,如果要在一个应用(例如应用市场)中,不经过对其它应用的安装过程而直接启动(运行)其它应用,而该其它应用尚没有被安装在安卓系统中,则需要采用插件技术。插件一般指为了在一个主程序中实现比较通用的功能,把业务相关或者让可以让用户自定义扩展的功能不附加在主程序中,主程序可在运行时安装和卸载。在安卓系统中如何实现插件也已经被广泛传播,实现的原理都是实现一套插件接口,把插件实现编成apk包或者dex文件,然后,在运行时使用DexClassLoader动态加载进来。通过这样的方式,可以在一个应用中,直接启动并使用通过插件技术实现的apk。然而,在通过插件来实现在一个应用中启动其它应用的情况下,需要将被启动的应用本身修改为安卓插件的形式。而这样的修改往往需要被启 ...
【技术保护点】
一种对第二应用的安卓安装包进行转换以适于在第一应用中运行的方法,包括:获取所述安卓安装包中的基础可执行文件;从所述基础可执行文件获取资源类文件;将所述资源类文件中特定于安卓系统的内容修改为特定于所述第一应用的客户端的内容,以形成新资源类文件;将所述新资源类文件编译为附加可执行文件;以及构建新数据包,所述新数据包包括所述基础可执行文件和所述附加可执行文件。
【技术特征摘要】
1.一种对第二应用的安卓安装包进行转换以适于在第一应用中运行的方法,包括:获取所述安卓安装包中的基础可执行文件;从所述基础可执行文件获取资源类文件;将所述资源类文件中特定于安卓系统的内容修改为特定于所述第一应用的客户端的内容,以形成新资源类文件;将所述新资源类文件编译为附加可执行文件;以及构建新数据包,所述新数据包包括所述基础可执行文件和所述附加可执行文件。2.根据权利要求1所述的方法,还包括:检索所述安卓安装包的资源文件目录中是否有XML布局文件;如果检索到所述XML布局文件,则通过安卓系统软件开发工具包将所述XML布局文件的内容合并到所述资源类文件中。3.根据权利要求2所述的方法,还包括:判断在所述基础可执行文件的实际执行过程中是否会用到所述XML布局文件,如果判定没有用到所述XML布局文件,则忽略所述XML布局文件。4.根据权利要求1所述的方法,其中,将所述资源类文件中特定于安卓系统的内容修改为特定于所述第一应用的客户端的内容的步骤包括:将所述资源类文件中依赖安卓活动对象的编程语句修改为依赖所述第一应用的客户端管理的相应活动对象的编程语句;和/或将所述资源类文件中与安卓系统进行交互的编程语句修改为与所述第一应用的客户端进行交互的编程语句。5.根据权利要求1所述的方法,还包括:对所述基础可执行文件进行修改,以便将其中依赖于安卓系统对服务对象和活动对象的生命周期进行管理的内容,修改为依赖于所述第一应用的客户端对服务对象和活动对象的生命周期进行管理的内容,其中,所述新数据包中包括的是修改后的基础可执行文件。6.根据权利要求1至5中任何一项所述的方法,其中,按照适于所述第一应用的客户端执行的结构来构建所述新数据包,所述新数据包适于在所述第一应用中无需安装而直接运行所述第二应用。7.根据权利要求6所述的方法,还包括:创建针对所述第一应用的客户端的新签名文件,其中,所述新数据包还包括所述新签名文件。8.根据权利要求6所述的方法,还包括:获取所述安卓安装包中的资源文件;以所述第一应用的客户端能够提取的格式压缩所述资源文件,以形成资源压缩包,其中,所述新数据包还包括所述资源压缩包。9.根据权利要求8所述的方法,还包括:获取安卓安装包中除所述基础可执行文件、XML布局文件、所述资源文件以及原有的签名文件之外的至少部分其余文件,其中,所述新数据包还包括所述至少部分其余文件。10.根据权利要求1至5中任何一项所述的方法,其中,该方法是在所述第一应用的服务器端执行的;或者该方法是在所述第一应用的客户端执行的。11.一种基于第一应用的客户端运行第二应用的方法,包括:响应于用户基于所述第一应用的客户端运行第二应用的请求,获取根据权利要求1至10中任何一项所述的方法针对所述第二应用构建的新数据包;基于所述第一应用的客户端,使用所述新数据包运行所述第二应用。12.根据权利要求11所述的方法,其中,获取新数据包的步骤包括:向所述第一应用的服务器端发送获取针对所述第二应用构建的新数据包的请求;以及从所述第一应用的服务器端接收所述新数据包。13.根据权利要求11所述的方法,其中,获取新数据包的步骤包括:向所述第一应用的服务器端发送获取所述第二应用的安卓安装包的请求;从所述第一应用的服务器端接收所述安卓安装包;以及基于所述安卓安装包,使用根据权利要求1至10中任何一项所述的方法,构建所述新数据包。14.根据权利要求11所述的方法,其中,使用所述新数据包运行所述第二应用的步骤包括:获取所述第二应用对安卓系统资源的调用请求;以及基于所述调用请求,调用所述安卓系统资源。15.根据权利要求11所述的方法,其中,使用所述新数据包运行所述第二应用的步骤包括:获取所述第二应用的数据输入请求;基于所述数据输入请求,从所述安卓系统资源获取数据;以及将所述数据提供给所述第二应用。16.根据权利要求11所述的方法,其中,使用所述新数据包运行所述第二应用的步骤包括:使所述第一应用的客户端管理和控制所述第二应用的服务对象和活动对象的生命周期;以及使所述第一应用的客户端替代安卓系统为第二应用提供全部的安卓系统服务与功能。17.根据权利要求11所述的方法,其中,在使用所述新数据包运行所述第二应用的步骤中,不需要安装所述第二应用而直接使用所述新数据包运行所述第二应用。18.一种对第二应用的安卓安装包进行转换以适于在第一应用中运行的装置,包括:用于获取所述安卓安装包中的基础可执行文件的装置;用于从所述基础...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。