CN105867973A - 应用程序中so文件的加载方法及*** - Google Patents

应用程序中so文件的加载方法及*** Download PDF

Info

Publication number
CN105867973A
CN105867973A CN201610192746.6A CN201610192746A CN105867973A CN 105867973 A CN105867973 A CN 105867973A CN 201610192746 A CN201610192746 A CN 201610192746A CN 105867973 A CN105867973 A CN 105867973A
Authority
CN
China
Prior art keywords
file
application program
application
packing
download
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.)
Pending
Application number
CN201610192746.6A
Other languages
English (en)
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.)
LeTV Holding Beijing Co Ltd
LeTV Information Technology Beijing Co Ltd
Original Assignee
LeTV Holding Beijing Co Ltd
LeTV Information Technology Beijing 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 LeTV Holding Beijing Co Ltd, LeTV Information Technology Beijing Co Ltd filed Critical LeTV Holding Beijing Co Ltd
Priority to CN201610192746.6A priority Critical patent/CN105867973A/zh
Publication of CN105867973A publication Critical patent/CN105867973A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及计算机技术领域,提供了一种应用程序中so文件的加载方法及***。所述方法包括:预先进行的操作:将so文件存储于一可供使用所述应用程序的用户下载所述so文件的联网存储空间;打包生成不包含所述so文件的应用程序文件;执行如下步骤:当所述应用程序文件在客户端被运行时,从所述可供使用所述应用程序的用户下载所述so文件的联网存储空间下载所述so文件,将下载的so文件存储于所述客户端的存储空间;将所述so文件加载到所述客户端的操作***中。本发明将so文件从应用程序文件中剥离出去,减少应用程序文件大小,且能独立升级so文件。

Description

应用程序中so文件的加载方法及***
【技术领域】
本发明涉及计算机技术领域,特别是涉及一种应用程序中so文件的加载方法及***。
【背景技术】
目前,很多Android程序都集成了so文件包,用来执行c或c++代码。c和c++运行效率高,而且不会被破解(Android程序很容易被反编译破解)。集成so文件可以提高程序的效率,而且有利于加密保护程序源代码,比较安全,所以现在大部分应用程序都集成了so文件。
但是,有的so文件比较大(例如:10M),而应用程序的其他部分可能还不到10M,所以集成so文件可能会大大增加Android程序的体积。还有,so文件如果跟随Android程序一起发布,下次更新so文件就只能随着应用程序的升级而更新,不能独立升级so文件。例如,现在的so文件一般是通过打包进apk文件(Android程序打包以后生成apk文件)中,随apk文件一起发布,so文件集成在apk文件中会增大apk文件的体积,而且不能独立升级so文件,只能随着apk的升级而升级so文件。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
【发明内容】
本发明提供一种应用程序中so文件的加载方法及***,旨在解决现有技术的应用程序中直接集成so文件导致程序过大,且不能独立升级so文件的技术问题。
根据本发明实施例的第一方面,提供一种应用程序中so文件的加载方法,预先进行的操作:
将so文件存储于一可供使用所述应用程序的用户下载所述so文件的联网存储空间;
打包生成不包含所述so文件的应用程序文件;
执行如下步骤:
当所述应用程序文件在客户端被运行时,从所述可供使用所述应用程序的用户下载所述so文件的联网存储空间下载所述so文件,将下载的so文件存储于所述客户端的存储空间;
将所述so文件加载到所述客户端的操作***中。
在一些实施例中,所述打包生成不包含所述so文件的应用程序文件包括:
打包生成应用程序文件;
在打包生成的应用程序文件中删除so文件;
或者,所述打包生成不包含所述so文件的应用程序文件包括:
修改应用程序的软件打包文件为不打包so文件;
打包生成应用程序文件。
在一些实施例中,所述修改应用程序的软件打包文件为不打包so文件包括:
修改build.gradle文件,在应用程序里添加打包选项,在打包选项里指定需排除的so文件。
在一些实施例中,所述预先进行的操作还包括:
当so文件更新时,将更新后的so文件存储于可供使用所述应用程序的用户下载所述so文件的联网存储空间。
在一些实施例中,所述当所述应用程序文件在客户端被运行时,从所述可供使用所述应用程序的用户下载所述so文件的联网存储空间下载所述so文件,将下载的so文件存储于所述客户端的存储空间包括:
当所述应用程序文件在客户端被运行时,检测所述应用程序文件中是否包含so文件以及可供使用所述应用程序的用户下载所述so文件的联网存储空间是否有更新后的so文件;
若所述应用程序文件中没有包含so文件,或者服务器端有更新后的so文件,则从所述服务器端下载so文件或者更新后的so文件,将下载的so文件或者更新后的so文件存储于所述客户端的存储空间。
根据本发明实施例的第二方面,还提供一种应用程序中so文件的加载***,包括预先处理的模块:
so文件存储模块,用于将so文件存储于一可供使用所述应用程序的用户下载所述so文件的联网存储空间;
应用程序打包模块,用于打包生成不包含所述so文件的应用程序文件;
以及:
so文件下载模块,用于当所述应用程序文件在客户端被运行时,从所述可供使用所述应用程序的用户下载所述so文件的联网存储空间下载所述so文件,将下载的so文件存储于所述客户端的存储空间;
so文件加载模块,用于将所述so文件加载到所述客户端的操作***中。
在一些实施例中,所述应用程序打包模块包括:
第一打包单元,用于打包生成应用程序文件;
so文件删除单元,用于在打包生成的应用程序文件中删除so文件;
或者,所述应用程序打包模块包括:
软件打包文件修改单元,用于修改应用程序的软件打包文件为不打包so文件;
第二打包单元,用于打包生成应用程序文件。
在一些实施例中,所述修改应用程序的软件打包文件为不打包so文件包括:
修改build.gradle文件,在应用程序里添加打包选项,在打包选项里指定需排除的so文件。
在一些实施例中,所述预先处理的模块还包括:
so文件更新模块,用于当so文件更新时,将更新后的so文件存储于可供使用所述应用程序的用户下载所述so文件的联网存储空间。
在一些实施例中,所述so文件下载模块包括:
so文件检测单元,用于当所述应用程序文件在客户端被运行时,检测所述应用程序文件中是否包含so文件以及可供使用所述应用程序的用户下载所述so文件的联网存储空间是否有更新后的so文件;
so文件下载更新单元,用于若所述应用程序文件中没有包含so文件,或者服务器端有更新后的so文件,则从所述服务器端下载so文件或者更新后的so文件,将下载的so文件或者更新后的so文件存储于所述客户端的存储空间。
本发明实施例提供的技术方案可产生以下有益效果:本发明在应用程序打包的过程中不把so文件打包进应用程序里边,而在应用程序运行的时候动态从网络加载so文件,从而正常使用so文件,通过上述方式能将so文件从应用程序文件中剥离出去,减少应用程序文件大小,且能独立升级so文件。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
图1为本发明根据一示例性实施例示出的一种应用程序中so文件的加载方法的流程图;
图2为本发明根据一示例性实施例示出的一种应用程序中so文件的加载方法的步骤S02的流程图;
图3为本发明根据一示例性实施例示出的另一种应用程序中so文件的加载方法的步骤S02的流程图;
图4为本发明根据一示例性实施例示出的再一种应用程序中so文件的加载方法的预先进行的操作的流程图;
图5为本发明根据一示例性实施例示出的又一种应用程序中so文件的加载方法的步骤S10的流程图;
图6为本发明根据一示例性实施例示出的一种应用程序中so文件的加载***的框图;
图7为本发明根据一示例性实施例示出的一种应用程序中so文件的加载***的应用程序打包模块062的框图;
图8为本发明根据一示例性实施例示出的另一种应用程序中so文件的加载***的应用程序打包模块062的框图;
图9为本发明根据一示例性实施例示出的再一种应用程序中so文件的加载***的预先处理的模块的框图;
图10为本发明根据一示例性实施例示出的又一种应用程序中so文件的加载***的so文件下载模块610的框图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明实施例提供了一种应用程序中so文件的加载方法,将so文件从应用程序文件中剥离出去,减少应用程序文件大小,且能独立升级so文件。本申请中所述的so文件是指Linux下的库文件,后缀为.so,因此得名。so文件是ELF格式的动态链接库文件,该类文件在程序运行需要的时候才动态加载到程序中,支持程序的运行。
如图1所示,该方法包括:预先进行的操作:
步骤S01、将so文件存储于一可供使用所述应用程序的用户下载所述so文件的联网存储空间。
具体地,因本发明的应用程序中没有集成so文件,因此so文件需要存储于网络上以供用户下载,例如将所述so文件存储于一服务器端,所述服务器是联网的服务器,可以是应用程序提供商的云服务器或者各个应用市场的云服务器。该服务器是开放给该应用程序的用户的,供其运行该应用程序时下载所述so文件。应用程序可以是Android程序或者其他操作***下的程序,Android程序一般其格式为apk或者jar压缩包,本发明对此不做限制。
步骤S02、打包生成不包含所述so文件的应用程序文件。
以上步骤S01和步骤S02之间并无先后顺序关系,可以单独执行。
其中,可通过多种方式打包生成不包含所述so文件的应用程序文件。在一些实施例中,如图2所示,步骤S02包括:
步骤S0211、打包生成应用程序文件。
步骤S0212、在打包生成的应用程序文件中删除so文件。
本方式是通过先打包生成应用程序文件,再将其中的so文件删除的方式,所以,打包生成应用程序文件按正常的操作进行,然后再在生成的应用程序文件中查找到其中的so文件并删除,所要达到的目的就是最终发布给用户的应用程序文件中没有so文件。
在另一实施例中,如图3所示,步骤S02包括:
步骤S0221、修改应用程序的软件打包文件为不打包so文件。
步骤S0222、打包生成应用程序文件。
本方式是通过修改应用程序的软件打包文件的方式,使打包过程中直接就不将so文件打包进最终生成的应用程序文件中。其中该软件打包文件可以是例如build.gradle文件,具体修改应用程序的build.gradle文件的方式可参考:
修改build.gradle文件,在应用程序(例如Android程序)里添加打包选项(packingOptions),在打包选项(packingOptions)里指定需排除(exclude)的so文件。
在此之后,可以发布此应用程序文件,例如将apk程序上传到网络上或者提供给用户进行升级。此过程属于人为的操作,和现有技术中的相同,本发明不做详细阐述。用户可从该应用程序厂商提供的网络资源或者各个应用市场中下载该apk程序或者通过软件升级的方式下载新的apk程序。用户下载应用程序之后,就会在客户端进行应用程序的安装,应用程序会被运行。本发明还包括执行如下步骤:
步骤S10、当所述应用程序文件在客户端被运行时,从所述可供使用所述应用程序的用户下载所述so文件的联网存储空间下载所述so文件,将下载的so文件存储于所述客户端的存储空间。
在一些实施例中,当检测到用户在客户端的智能终端上运行所述应用程序文件时,则从之前已经存储好so文件的联网存储空间下载所述so文件,例如从云服务器端下载所述应用程序的so文件,并存储到用户安装该应用程序的智能终端上的存储空间,例如手机内存。所述应用程序和该应用程序的so文件上都携带有一互相对应的唯一的识别标识,便于从服务器端查找到与该应用程序所对应的so文件。
步骤S20、将所述so文件加载到所述客户端的操作***中。
将so文件下载到客户端的本地存储空间后,再将所述so文件加载到所述客户端的操作***中,以加载运行该so文件,达到现有技术中的应用程序文件本身就集成有so文件、运行该应用程序时so文件一并加载运行的相同的效果。
在一些实施例中,如图4所示,所述预先进行的操作还可以包括:
步骤S03、当so文件更新时,将更新后的so文件存储于可供使用所述应用程序的用户下载所述so文件的联网存储空间。
可以理解的是,随着功能增加、修改以及界面的修改等,应用程序也会不定期地更新。因此,so文件也相应地会进行更新,当so文件更新时,本发明实施例还需要将更新后的联网存储空间中,例如云服务器端。这样,用户在更新其智能终端上的应用程序时,也能相应地下载更新后的so文件进行加载运行。
以上步骤S01、步骤S02、步骤S03之间并无先后顺序关系,可以单独执行。
承接上述so文件更新的实施例,在一些实施例中,如图5所示,步骤S10进一步包括:
步骤S11、当所述应用程序文件在客户端被运行时,检测所述应用程序文件中是否包含so文件以及可供使用所述应用程序的用户下载所述so文件的联网存储空间是否有更新后的so文件。
当应用程序中已包含so文件时,则说明无需再从网络上下载so文件了;当应用程序中没有包含so文件时,则说明需要从网络上下载so文件;当网络上有更新后的so文件时,则说明需要从网络上下载更新后的so文件以替换手机上应用程序中已有的so文件;当网络上没有更新后的so文件时,则说明手机内应用程序中的so文件已经是最新的,无需下载更换。
步骤S12、若所述应用程序文件中没有包含so文件,或者服务器端有更新后的so文件,则从所述服务器端下载so文件或者更新后的so文件,将下载的so文件或者更新后的so文件存储于所述客户端的存储空间。
具体地,在一实施例中,上述步骤S11和步骤S12可通过以下顺序进行:
(1)检测所述应用程序文件中是否包含so文件;
(2)如果没有,说明是一个刚安装的应用程序,需要从网络上下载so文件并加载;如果有,则说明是原始应用程序中已经集成了so文件,或者已经从网络上下载过so文件,执行下述步骤;
(3)检查网络上是否有更新后的so文件(也即看是否有最新的so文件),若本地so文件已是最新,则无需再下载网络上的so文件,若本地so文件版本低于网络上的so文件版本,则说明网络上有更新后的so文件,需要下载该最新的so文件。
本发明实施例提供的上述方法,通过在应用程序打包的过程中不把so文件打包进应用程序里边,而在应用程序运行的时候动态从网络加载so文件,从而正常使用so文件,通过上述方式能将so文件从应用程序文件中剥离出去,减少应用程序文件大小,且能独立升级so文件。
对应本发明实施例提供的应用程序中so文件的加载方法,本发明还提供一种一种应用程序中so文件的加载***,如图6所示,所述应用程序中so文件的加载***包括预先处理的模块:
so文件存储模块061,用于将so文件存储于一可供使用所述应用程序的用户下载所述so文件的联网存储空间;
应用程序打包模块062,用于打包生成不包含所述so文件的应用程序文件。
以及:
so文件下载模块610,用于当所述应用程序文件在客户端被运行时,从所述可供使用所述应用程序的用户下载所述so文件的联网存储空间下载所述so文件,将下载的so文件存储于所述客户端的存储空间;
so文件加载模块620,用于将所述so文件加载到所述客户端的操作***中。
具体地,因本发明的应用程序中没有集成so文件,因此so文件需要存储于网络上以供用户下载,例如将所述so文件存储于一服务器端,所述服务器是联网的服务器,可以是应用程序提供商的云服务器或者各个应用市场的云服务器。该服务器是开放给该应用程序的用户的,供其运行该应用程序时下载所述so文件。应用程序可以是Android程序或者其他操作***下的程序,Android程序一般其格式为apk或者jar压缩包,本发明对此不做限制。
其中,可通过多种方式打包生成不包含所述so文件的应用程序文件。在一些实施例中,如图7所示,所述应用程序打包模块062包括:
第一打包单元06211,用于打包生成应用程序文件;
so文件删除单元06212,用于在打包生成的应用程序文件中删除so文件;
本方式是通过先打包生成应用程序文件,再将其中的so文件删除的方式,所以,打包生成应用程序文件按正常的操作进行,然后再在生成的应用程序文件中查找到其中的so文件并删除,所要达到的目的就是最终发布给用户的应用程序文件中没有so文件。
在另一实施例中,如图8所示,所述应用程序打包模块062包括:
软件打包文件修改单元06221,用于修改应用程序的软件打包文件为不打包so文件;
第二打包单元06222,用于打包生成应用程序文件。
本方式是通过修改应用程序的软件打包文件的方式,使打包过程中直接就不将so文件打包进最终生成的应用程序文件中。其中该软件打包文件可以是例如build.gradle文件,具体修改应用程序的build.gradle文件的方式可参考:
修改build.gradle文件,在应用程序(例如Android程序)里添加打包选项(packingOptions),在打包选项(packingOptions)里指定需排除(exclude)的so文件。
在此之后,可以发布此应用程序文件,例如将apk程序上传到网络上或者提供给用户进行升级。此过程属于人为的操作,和现有技术中的相同,本发明不做详细阐述。用户可从该应用程序厂商提供的网络资源或者各个应用市场中下载该apk程序或者通过软件升级的方式下载新的apk程序。用户下载应用程序之后,就会在客户端进行应用程序的安装,应用程序会被运行。
在一些实施例中,当检测到用户在客户端的智能终端上运行所述应用程序文件时,则从之前已经存储好so文件的联网存储空间下载所述so文件,例如从云服务器端下载所述应用程序的so文件,并存储到用户安装该应用程序的智能终端上的存储空间,例如手机内存。所述应用程序和该应用程序的so文件上都携带有一互相对应的唯一的识别标识,便于从服务器端查找到与该应用程序所对应的so文件。
将so文件下载到客户端的本地存储空间后,再将所述so文件加载到所述客户端的操作***中,以加载运行该so文件,达到现有技术中的应用程序文件本身就集成有so文件、运行该应用程序时so文件一并加载运行的相同的效果。
在一些实施例中,如图9所示,所述预先处理的模块还包括:
so文件更新模块063,用于当so文件更新时,将更新后的so文件存储于可供使用所述应用程序的用户下载所述so文件的联网存储空间。
可以理解的是,随着功能增加、修改以及界面的修改等,应用程序也会不定期地更新。因此,so文件也相应地会进行更新,当so文件更新时,本发明实施例还需要将更新后的联网存储空间中,例如云服务器端。这样,用户在更新其智能终端上的应用程序时,也能相应地下载更新后的so文件进行加载运行。
承接上述so文件更新的实施例,在一些实施例中,如图10所示,所述so文件下载模块610包括:
so文件检测单元611,用于当所述应用程序文件在客户端被运行时,检测所述应用程序文件中是否包含so文件以及可供使用所述应用程序的用户下载所述so文件的联网存储空间是否有更新后的so文件;当应用程序中已包含so文件时,则说明无需再从网络上下载so文件了;当应用程序中没有包含so文件时,则说明需要从网络上下载so文件;当网络上有更新后的so文件时,则说明需要从网络上下载更新后的so文件以替换手机上应用程序中已有的so文件;当网络上没有更新后的so文件时,则说明手机内应用程序中的so文件已经是最新的,无需下载更换。
so文件下载更新单元612,用于若所述应用程序文件中没有包含so文件,或者服务器端有更新后的so文件,则从所述服务器端下载so文件或者更新后的so文件,将下载的so文件或者更新后的so文件存储于所述客户端的存储空间。
具体地,在一实施例中,上述实施例可通过以下顺序进行:
(1)检测所述应用程序文件中是否包含so文件;
(2)如果没有,说明是一个刚安装的应用程序,需要从网络上下载so文件并加载;如果有,则说明是原始应用程序中已经集成了so文件,或者已经从网络上下载过so文件,执行下述步骤;
(3)检查网络上是否有更新后的so文件(也即看是否有最新的so文件),若本地so文件已是最新,则无需再下载网络上的so文件,若本地so文件版本低于网络上的so文件版本,则说明网络上有更新后的so文件,需要下载该最新的so文件。
本发明实施例提供的上述***,通过在应用程序打包的过程中不把so文件打包进应用程序里边,而在应用程序运行的时候动态从网络加载so文件,从而正常使用so文件,通过上述方式能将so文件从应用程序文件中剥离出去,减少应用程序文件大小,且能独立升级so文件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种应用程序中so文件的加载方法,其特征在于,预先进行的操作:
将so文件存储于一可供使用所述应用程序的用户下载所述so文件的联网存储空间;
打包生成不包含所述so文件的应用程序文件;
执行如下步骤:
当所述应用程序文件在客户端被运行时,从所述可供使用所述应用程序的用户下载所述so文件的联网存储空间下载所述so文件,将下载的so文件存储于所述客户端的存储空间;
将所述so文件加载到所述客户端的操作***中。
2.如权利要求1所述的应用程序中so文件的加载方法,其特征在于,所述打包生成不包含所述so文件的应用程序文件包括:
打包生成应用程序文件;
在打包生成的应用程序文件中删除so文件;
或者,所述打包生成不包含所述so文件的应用程序文件包括:
修改应用程序的软件打包文件为不打包so文件;
打包生成应用程序文件。
3.如权利要求2所述的应用程序中so文件的加载方法,其特征在于,所述修改应用程序的软件打包文件为不打包so文件包括:
修改build.gradle文件,在应用程序里添加打包选项,在打包选项里指定需排除的so文件。
4.如权利要求1所述的应用程序中so文件的加载方法,其特征在于,所述预先进行的操作还包括:
当so文件更新时,将更新后的so文件存储于可供使用所述应用程序的用户下载所述so文件的联网存储空间。
5.如权利要求4所述的应用程序中so文件的加载方法,其特征在于,所述当所述应用程序文件在客户端被运行时,从所述可供使用所述应用程序的用户下载所述so文件的联网存储空间下载所述so文件,将下载的so文件存储于所述客户端的存储空间包括:
当所述应用程序文件在客户端被运行时,检测所述应用程序文件中是否包含so文件以及可供使用所述应用程序的用户下载所述so文件的联网存储空间是否有更新后的so文件;
若所述应用程序文件中没有包含so文件,或者服务器端有更新后的so文件,则从所述服务器端下载so文件或者更新后的so文件,将下载的so文件或者更新后的so文件存储于所述客户端的存储空间。
6.一种应用程序中so文件的加载***,其特征在于,包括预先处理的模块:
so文件存储模块,用于将so文件存储于一可供使用所述应用程序的用户下载所述so文件的联网存储空间;
应用程序打包模块,用于打包生成不包含所述so文件的应用程序文件;
以及:
so文件下载模块,用于当所述应用程序文件在客户端被运行时,从所述可供使用所述应用程序的用户下载所述so文件的联网存储空间下载所述so文件,将下载的so文件存储于所述客户端的存储空间;
so文件加载模块,用于将所述so文件加载到所述客户端的操作***中。
7.如权利要求6所述的应用程序中so文件的加载***,其特征在于,所述应用程序打包模块包括:
第一打包单元,用于打包生成应用程序文件;
so文件删除单元,用于在打包生成的应用程序文件中删除so文件;
或者,所述应用程序打包模块包括:
软件打包文件修改单元,用于修改应用程序的软件打包文件为不打包so文件;
第二打包单元,用于打包生成应用程序文件。
8.如权利要求7所述的应用程序中so文件的加载***,其特征在于,所述修改应用程序的软件打包文件为不打包so文件包括:
修改build.gradle文件,在应用程序里添加打包选项,在打包选项里指定需排除的so文件。
9.如权利要求6所述的应用程序中so文件的加载***,其特征在于,所述预先处理的模块还包括:
so文件更新模块,用于当so文件更新时,将更新后的so文件存储于可供使用所述应用程序的用户下载所述so文件的联网存储空间。
10.如权利要求9所述的应用程序中so文件的加载***,其特征在于,所述so文件下载模块包括:
so文件检测单元,用于当所述应用程序文件在客户端被运行时,检测所述应用程序文件中是否包含so文件以及可供使用所述应用程序的用户下载所述so文件的联网存储空间是否有更新后的so文件;
so文件下载更新单元,用于若所述应用程序文件中没有包含so文件,或者服务器端有更新后的so文件,则从所述服务器端下载so文件或者更新后的so文件,将下载的so文件或者更新后的so文件存储于所述客户端的存储空间。
CN201610192746.6A 2016-03-30 2016-03-30 应用程序中so文件的加载方法及*** Pending CN105867973A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610192746.6A CN105867973A (zh) 2016-03-30 2016-03-30 应用程序中so文件的加载方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610192746.6A CN105867973A (zh) 2016-03-30 2016-03-30 应用程序中so文件的加载方法及***

Publications (1)

Publication Number Publication Date
CN105867973A true CN105867973A (zh) 2016-08-17

Family

ID=56626600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610192746.6A Pending CN105867973A (zh) 2016-03-30 2016-03-30 应用程序中so文件的加载方法及***

Country Status (1)

Country Link
CN (1) CN105867973A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406945A (zh) * 2016-09-09 2017-02-15 武汉斗鱼网络科技有限公司 一种安卓***so文件的加载方法及电子设备
CN106648702A (zh) * 2017-01-03 2017-05-10 百融(北京)金融信息服务股份有限公司 基于安卓操作***的so文件处理***和方法
CN107436781A (zh) * 2017-06-28 2017-12-05 北京五八信息技术有限公司 Apk文件处理方法和装置
CN109766141A (zh) * 2018-12-26 2019-05-17 北京思源互联科技有限公司 一种基于动态链接库的数据动态更新方法及其装置
CN110262831A (zh) * 2019-05-28 2019-09-20 深圳供电局有限公司 一种减小apk体积的方法及***
CN110765394A (zh) * 2019-09-20 2020-02-07 中国平安人寿保险股份有限公司 so文件加载方法、装置、存储介质及终端设备
CN110968331A (zh) * 2019-11-29 2020-04-07 广州市百果园信息技术有限公司 应用程序运行的方法和装置
CN111240773A (zh) * 2018-11-28 2020-06-05 中国科学院沈阳自动化研究所 一种软件前端与后端连接方法
CN111338648A (zh) * 2018-12-19 2020-06-26 北京奇虎科技有限公司 基于云服务的so文件发布方法及装置
CN111813423A (zh) * 2020-08-31 2020-10-23 腾讯科技(深圳)有限公司 应用安装包处理方法及装置
CN112035128A (zh) * 2020-07-15 2020-12-04 上海趣蕴网络科技有限公司 一种缩减apk包的方法、***及安装应用客户端的方法
CN112596821A (zh) * 2021-01-24 2021-04-02 南京金盾公共安全技术研究院有限公司 一种安卓应用中动态加载算法的方法
CN113419760A (zh) * 2021-06-24 2021-09-21 广联达科技股份有限公司 打开/保存工程文件的方法、装置、计算机设备和介质
CN116991504A (zh) * 2023-09-26 2023-11-03 厦门她趣信息技术有限公司 一种安卓App多资源动态加载、更新方法和装置以及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294514A (zh) * 2013-06-26 2013-09-11 深圳Tcl新技术有限公司 ***软件版本集成方法、编译服务器及***
CN104298932A (zh) * 2014-10-27 2015-01-21 中国建设银行股份有限公司 一种so文件的调用方法及装置
CN104991810A (zh) * 2015-07-24 2015-10-21 上海斐讯数据通信技术有限公司 自动添加apk到安卓***中的方法及处理***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294514A (zh) * 2013-06-26 2013-09-11 深圳Tcl新技术有限公司 ***软件版本集成方法、编译服务器及***
CN104298932A (zh) * 2014-10-27 2015-01-21 中国建设银行股份有限公司 一种so文件的调用方法及装置
CN104991810A (zh) * 2015-07-24 2015-10-21 上海斐讯数据通信技术有限公司 自动添加apk到安卓***中的方法及处理***

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018045733A1 (zh) * 2016-09-09 2018-03-15 武汉斗鱼网络科技有限公司 一种安卓***so文件的加载方法及电子设备
CN106406945A (zh) * 2016-09-09 2017-02-15 武汉斗鱼网络科技有限公司 一种安卓***so文件的加载方法及电子设备
CN106648702A (zh) * 2017-01-03 2017-05-10 百融(北京)金融信息服务股份有限公司 基于安卓操作***的so文件处理***和方法
CN107436781A (zh) * 2017-06-28 2017-12-05 北京五八信息技术有限公司 Apk文件处理方法和装置
CN107436781B (zh) * 2017-06-28 2021-06-01 北京五八信息技术有限公司 Apk文件处理方法和装置
CN111240773A (zh) * 2018-11-28 2020-06-05 中国科学院沈阳自动化研究所 一种软件前端与后端连接方法
CN111338648A (zh) * 2018-12-19 2020-06-26 北京奇虎科技有限公司 基于云服务的so文件发布方法及装置
CN109766141A (zh) * 2018-12-26 2019-05-17 北京思源互联科技有限公司 一种基于动态链接库的数据动态更新方法及其装置
CN110262831A (zh) * 2019-05-28 2019-09-20 深圳供电局有限公司 一种减小apk体积的方法及***
CN110765394A (zh) * 2019-09-20 2020-02-07 中国平安人寿保险股份有限公司 so文件加载方法、装置、存储介质及终端设备
CN110968331A (zh) * 2019-11-29 2020-04-07 广州市百果园信息技术有限公司 应用程序运行的方法和装置
CN110968331B (zh) * 2019-11-29 2023-09-12 广州市百果园信息技术有限公司 应用程序运行的方法和装置
CN112035128A (zh) * 2020-07-15 2020-12-04 上海趣蕴网络科技有限公司 一种缩减apk包的方法、***及安装应用客户端的方法
CN111813423A (zh) * 2020-08-31 2020-10-23 腾讯科技(深圳)有限公司 应用安装包处理方法及装置
CN112596821A (zh) * 2021-01-24 2021-04-02 南京金盾公共安全技术研究院有限公司 一种安卓应用中动态加载算法的方法
CN113419760A (zh) * 2021-06-24 2021-09-21 广联达科技股份有限公司 打开/保存工程文件的方法、装置、计算机设备和介质
CN116991504A (zh) * 2023-09-26 2023-11-03 厦门她趣信息技术有限公司 一种安卓App多资源动态加载、更新方法和装置以及设备
CN116991504B (zh) * 2023-09-26 2024-02-23 厦门她趣信息技术有限公司 一种安卓App多资源动态加载、更新方法和装置以及设备

Similar Documents

Publication Publication Date Title
CN105867973A (zh) 应用程序中so文件的加载方法及***
CN102622241B (zh) 一种软件升级方法及装置
CN105100191B (zh) 一种云编译实现Java应用安装的方法、装置及***
CN109491695A (zh) 一种集成安卓应用的增量更新方法
CN106610853A (zh) 一种应用部署方法和装置
CN103309683B (zh) 硬件设备的软件补丁嵌入方法及装置
US20140007074A1 (en) Methods for updating applications
CN104750528B (zh) 一种Android程序中的组件管理方法和装置
CN106302753A (zh) 客户端程序增量更新的方法及***
CN102073512A (zh) 一种java集群应用***代码装载及升级装置和方法
CN104714827A (zh) 插件更新方法及装置
CN106886437B (zh) 应用程序更新方法与装置
CN105045631A (zh) 一种升级客户端侧应用程序的方法和装置
CN110162334B (zh) 一种代码管理方法、装置及存储介质
CN102833101B (zh) 一种分布式网络***的软件升级方法及设备
CN111258587A (zh) 一种安卓应用插件化的实现方法、装置、设备及存储介质
CN104077160A (zh) 一种升级安卓软件的方法、设备和***
CN103218244B (zh) 通信设备的软件更新升级方法
CN113760324A (zh) 构建微前端应用的方法和装置
CN105049514A (zh) 一种文件下载方法和装置
CN104699511A (zh) 插件升级方法及装置
CN110532016B (zh) 版本管理方法、版本更新方法和版本管理***
CN117112122A (zh) 一种集群部署方法和装置
CN109032617B (zh) 一种自动删除安装包的控制方法及控制装置
CN105740298A (zh) 文件处理方法、装置及服务端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160817

WD01 Invention patent application deemed withdrawn after publication