CN104866504A - 一种对Android软件进行功能扩展的方法及装置 - Google Patents

一种对Android软件进行功能扩展的方法及装置 Download PDF

Info

Publication number
CN104866504A
CN104866504A CN201410064985.4A CN201410064985A CN104866504A CN 104866504 A CN104866504 A CN 104866504A CN 201410064985 A CN201410064985 A CN 201410064985A CN 104866504 A CN104866504 A CN 104866504A
Authority
CN
China
Prior art keywords
file
dex
function
dex file
apk
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
Application number
CN201410064985.4A
Other languages
English (en)
Other versions
CN104866504B (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.)
Beijing Na Jia Development Of Information Science And Technology Co Ltd
Original Assignee
Beijing Na Jia Development Of Information Science And Technology 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 Beijing Na Jia Development Of Information Science And Technology Co Ltd filed Critical Beijing Na Jia Development Of Information Science And Technology Co Ltd
Priority to CN201410064985.4A priority Critical patent/CN104866504B/zh
Publication of CN104866504A publication Critical patent/CN104866504A/zh
Application granted granted Critical
Publication of CN104866504B publication Critical patent/CN104866504B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种对Android软件进行功能扩展的方法及装置,涉及通信技术领域,能够通过对Android软件安装包进行代码植入操作,提高Android软件的功能扩展效率。该方法主要包括:构建包含第一扩展代码块的第一DEX文件,所述第一扩展代码块用于实现扩展的第一功能;从待功能扩展的Android软件安装包APK文件中获取第二DEX文件;将所述第一DEX文件和所述第二DEX文件合并为第三DEX文件,并将所述第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中;构建用于启动所述第三DEX文件的第四DEX文件,并将所述第四DEX文件添加到所述待功能扩展的APK文件中,得到功能扩展的APK文件。本发明主要用于对Android软件进行功能扩展的过程中。

Description

一种对Android软件进行功能扩展的方法及装置
技术领域
本发明涉及通信技术领域,具体涉及移动通信技术领域,尤其涉及一种对Android软件进行功能扩展的方法及装置。
背景技术
随着智能移动终端的不断普及,种类繁多的应用程序软件(application,简称APP)也被广泛使用在各类移动终端上,逐渐成为人们日常生活中不可或缺的一部分。
目前,市面上主流的APP通常是由多个开发者进行互相合作开放得到的,并且在APP上线前通常还会与第三方渠道商合作进行APP功能的扩展,如添加弹出窗口并进行图片展示的功能。因此,一个APP软件中很可能包含有多方的代码,在现有技术中,通常可以利用软件开发工具包(Software Development Kit,简称SDK)或预留代码接口的等方式,来满足对已有APP软件添加新功能的需求。
采用上述现有技术进行软件功能扩展时,需要在原始应用代码中嵌入第三方代码及相关配置文件,然后再进行编译、打包,其整合难度大、实现周期长。
发明内容
有鉴于此,本发明实施例提供一种对Android软件进行功能扩展的方法及装置,来解决以上背景技术部分提到的技术问题。
一方面,本发明实施例提供了一种对Android软件进行功能扩展的方法,所述方法包括:
构建包含第一扩展代码块的第一DEX文件,所述第一扩展代码块用于实现扩展的第一功能;
从待功能扩展的Android软件安装包APK文件中获取第二DEX文件;
将所述第一DEX文件和所述第二DEX文件合并为第三DEX文件,并将所述第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中;
构建用于启动所述第三DEX文件的第四DEX文件,并将所述第四DEX文件添加到所述待功能扩展的APK文件中,得到功能扩展的APK文件。
另一方面,本发明实施例还提供了一种对Android软件进行功能扩展的装置,所述装置包括:
第一构建模块,用于构建包含第一扩展代码块的第一DEX文件,所述第一扩展代码块用于实现扩展的第一功能;
获取模块,用于从待功能扩展的Android软件安装包APK文件中获取第二DEX文件;
合并模块,用于将所述第一构建模块构建的第一DEX文件和所述获取模块获取的第二DEX文件合并为第三DEX文件,并将所述第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中;
第二构建模块,用于构建用于启动所述合并模块得到的第三DEX文件的第四DEX文件,并将所述第四DEX文件添加到所述待功能扩展的APK文件中,得到功能扩展的APK文件。
本发明实施例提出的一种对Android软件进行功能扩展的方法及装置,首先构建实现扩展功能的第一DEX文件,并与原APK文件中的第二DEX文件合并为第三DEX文件,然后构建第四DEX文件来启动所述第三DEX文件,从而实现了Android软件的功能扩展,通过对待功能扩展的APK文件进行代码植入操作,优化了代码整合的流程,节省了开发时间,提高了Android软件的功能扩展效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明具体实施例提供的一种对Android软件进行功能扩展的方法流程图;
图2是本发明具体实施例提供的另一种对Android软件进行功能扩展的方法流程图;
图3是本发明具体实施例提供的一种将第一DEX文件和第二DEX文件合并为第三DEX文件的方法流程图;
图4是本发明具体实施例提供的一种将第三DEX文件添加到待功能扩展的APK文件的资源文件夹中的方法流程图;
图5为本发明具体实施例提供的一种对Android软件进行功能扩展的装置组成框图;
图6为本发明具体实施例提供的另一种对Android软件进行功能扩展的装置组成框图;
图7为本发明具体实施例提供的另一种对Android软件进行功能扩展的装置组成框图;
图8为本发明具体实施例提供的另一种对Android软件进行功能扩展的装置组成框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
本发明的具体实施例提供了一种对Android软件进行功能扩展的方法,本领域普通技术人员可以理解,所述方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成的,所述的程序可以存储于一计算机可读存储介质中,所述的存储介质包括ROM/RAM,磁盘,光盘等。如图1所示,该方法包括:
101、构建包含第一扩展代码块的第一DEX文件,所述第一扩展代码块用于实现扩展的第一功能。
具体地,在构建包含第一扩展代码块的第一DEX文件时,首先可以根据上述扩展的第一功能所需要实现的具体操作,来编写能够完成相关功能的第一扩展代码块,其中,所述第一扩展代码块可以采用JAVA语言进行编写,然后再将所述第一扩展代码块进行编译处理就可以得到所述第一DEX文件。
102、从待功能扩展的Android软件安装包APK文件中获取第二DEX文件。
其中,所述待功能扩展的Android软件安装包APK文件可以是需要进行功能扩展的Android软件的安装包文件即APK文件,所述APK是Android Package的缩写,其能够被Android系统识别并运行。一个APK文件内可以包含被编译的代码文件(DEX文件),资源文件夹(名称为res的文件夹),证书(certificates)和清单文件(manifest file)等。
APK文件其实是zip格式,但后缀名被修改为apk。当从待功能扩展的Android软件安装包APK文件中获取第二DEX文件时,可以对所述APK文件进行解压操作,然后从解包文件夹中获取所述待功能扩展的APK文件的原始DEX文件,作为本实施例中的所述第二DEX文件,其中DEX是DalvikVMexecutes的全称,即Android Dalvik执行程序,也就是说,DEX文件的功能类似于Windows系统下的EXE文件。
103、将所述第一DEX文件和所述第二DEX文件合并为第三DEX文件,并将所述第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中。
具体地,当将上述第一DEX文件和上述第二DEX文件合并为第三DEX文件时,可以利用第三方工具(如Apktool)将所述第一DEX文件和所述第二DEX文件进行合并处理,然后就可以得到所述第三DEX文件。由于所述第一DEX文件可以实现上述扩展的第一功能,同时所述第二DEX文件可以实现上述待功能扩展的APK文件的原始功能,也就是待功能扩展的Android软件的原始功能,那么,所述第一DEX文件和所述第二DEX文件合并后得到的所述第三DEX文件就可以同时实现所述扩展的第一功能和所述待功能扩展的Android软件的原始功能,即实现了DEX文件的功能扩展。
在得到上述第三DEX文件之后,可以将所述第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中,其中所述资源文件夹可以是名字为res的文件夹,那么所述第三DEX文件就可以作为所述待功能扩展的APK文件的一个资源文件,以待后续使用。
104、构建用于启动所述第三DEX文件的第四DEX文件,并将所述第四DEX文件添加到所述待功能扩展的APK文件中,得到功能扩展的APK文件。
具体地,在构建上述第四DEX文件时,可以根据Android系统下DEX文件的通用构建规则和语法规范新建一个DEX文件,并且将可以启动上述第三DEX文件的启动代码块写入上述新建的DEX文件中,就可以得到所述第四DEX文件,即所述第四DEX文件可以用于启动所述第三DEX文件。
当将所述第四DEX文件添加到所述待功能扩展的APK文件中时,可以将上述待功能扩展的APK文件中的原始DEX文件替换为所述第四DEX文件,从而得到了功能扩展的APK文件。
当安装经过功能扩展的Android软件时,也就是运行上述功能扩展的APK文件时,所述第四DEX文件可以启动所述第三DEX文件使其运行,由于所述第三DEX文件可以实现上述扩展的第一功能和Android软件的原始功能,因此,安装后的Android软件在实现原始功能的基础上还可以实现上述扩展的第一功能,从而实现了Android软件的功能扩展。
本发明实施例提供的对Android软件进行功能扩展的方法,通过构建实现扩展功能的第一DEX文件,并与原APK文件中的第二DEX文件合并为第三DEX文件,然后构建第四DEX文件来启动所述第三DEX文件,从而实现了Android软件的功能扩展,通过对待功能扩展的APK文件进行代码植入操作,优化了代码整合的流程,节省了开发时间,提高了Android软件的功能扩展效率。
进一步地,本发明的具体实施例提供了另一种对Android软件进行功能扩展的方法,如图2所示,该方法包括:
201、构建包含第一扩展代码块的第一DEX文件,所述第一扩展代码块用于实现扩展的第一功能。
202、从待功能扩展的Android软件安装包APK文件中获取第二DEX文件。
203、将所述第一DEX文件和所述第二DEX文件合并为第三DEX文件,并将所述第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中。
204、构建用于启动所述第三DEX文件的第四DEX文件,并将所述第四DEX文件添加到所述待功能扩展的APK文件中。
205、构建包含第二扩展代码块的动态库文件,并将所述动态库文件添加到所述待功能扩展的APK文件的链接库文件夹中,其中,所述第二扩展代码块用于实现扩展的第二功能。
具体地,在构建包含第二扩展代码块的动态库文件时,可以根据上述扩展的第二功能所需要实现的具体操作,来编写能够完成相关功能的第二扩展代码块,其中,所述第二扩展代码块可以采用C或C++语言进行编写,然后再将所述第二扩展代码块进行编译处理就可以得到所述动态库文件,其中,所述动态库文件是指Android平台中的动态链接库文件,即SO(Shared Object)文件,其文件名后缀均为.so。Android中的SO文件类似于Windows中的DLL文件,可以根据程序的需要进行加载运行。
在得到所述动态库文件后,可以将所述动态库文件添加到所述待功能扩展的APK文件的链接库文件夹中,其中所述链接库文件夹可以是名字为lib的文件夹,这样所述动态库文件就可以作为所述待功能扩展的APK文件的一个动态链接库,以待后续被调用。
206、将所述动态库文件的调用代码添加到所述第四DEX文件中,得到功能扩展的APK文件。
具体地,在将所述动态库文件的调用代码添加到所述第四DEX文件中时,可以首先根据所述动态库文件的存储位置,构建可以调用所述动态库文件的调用代码,然后再将所述调用代码写入所述第四DEX文件中,从而得到功能扩展的APK文件。
并且所述步骤201-204的其他描述,可以参考图1中相关部分的描述,本实施例在此将不再赘述。
当运行上述功能扩展的APK文件时,所述第四DEX文件既可以启动所述第三DEX文件以实现上述扩展的第一功能和Android软件的原始功能,也可以调用上述动态库文件以上述扩展的第二功能,因此,安装后的Android软件在实现原始功能的基础上还可以同时实现上述扩展的第一功能和上述扩展的第二功能,从而实现了Android软件的功能扩展。
需要特别说明的是,上述扩展的第一功能和上述扩展的第二功能可以是两个完全不相关的扩展功能(如弹出新窗口和进行数据计算),也可以相互配合完成一个总的扩展功能(如在弹出的新窗口内进行数据计算)。本领域技术人员可以理解,无论上述扩展的第一功能和上述扩展的第二功能之间的关系如何,只要是采取本实施例的方法实现了上述扩展的第一功能和/或上述扩展的第二功能,就都在本发明的保护范围内。
在本实施例的一个优选实施方式中,还可以将上述动态库文件的调用代码添加到上述第一DEX文件中,然后再将第一DEX文件和第二DEX文件合并为第三DEX文件。这样所述第三DEX文件既可以实现上述扩展的第一功能,还可以调用上述动态库文件从而实现上述扩展的第二功能。当所述扩展的第一功能和所述扩展的第二功能相互配合完成一个总的扩展功能时,可以保证所述总的扩展功能的代码块的完整性,提高了所述扩展的第一功能和所述扩展的第二功能匹配时的稳定性。
本发明实施例进一步构建可以实现扩展的第二功能的动态库文件,并将所述动态库文件存储到APK文件的链接库文件中以供后续调用,从而可以实现对Android软件功能的进一步扩展,本实施例可以通过两种方式对待功能扩展的APK文件进行代码植入操作,提高了对Android软件进行功能扩展的灵活性和适用性。
进一步地,本发明的具体实施例提供了一种将第一DEX文件和第二DEX文件合并为第三DEX文件的具体方法,如图3所示,该方法包括:
301、将所述第一DEX文件和所述第二DEX文件分别进行反编译处理,得到第一smali文件和第二smali文件。
具体地,在将所述第一DEX文件和所述第二DEX文件分别进行反编译处理时,可以利用第三方工具(如Apktool)的反编译功能分别处理所述第一DEX文件和所述第二DEX文件,从而得到所述第一DEX文件对应的第一smali文件和所述第二DEX文件对应的第二smali文件,其中,所述smali文件可以是一个名称为smali的文件夹,并且在这个文件夹中存放有DEX文件中各个类所生成的后缀为.smali的文件。
302、将所述第一smali文件和第二smali文件共同进行编译处理得到所述第三DEX文件。
具体地,在将所述第一smali文件和第二smali文件共同进行编译处理时,可以利用第三方工具(如Apktool)的编译功能对所述第一smali文件和第二smali文件共同进行编译处理,也就是将所述第一smali文件和第二smali文件所包括的所有后缀为.smali的文件一起进行编译处理,从而得到上述第三DEX文件。
本实施例进一步将第一DEX文件和第二DEX文件分别进行反编译得到smali文件,然后再将得到的所有smali文件混合编译为一个DEX文件即第三DEX文件,通过对smali文件的混合编译,保证了第三DEX文件的正确运行。
进一步地,本发明的具体实施例提供了一种将第三DEX文件添加到待功能扩展的APK文件的资源文件夹中的具体方法,如图4所示,该方法包括:
401、将所述第三DEX文件进行加密处理,得到加密后的第三DEX文件。
具体地,在将上述第三DEX文件进行加密处理时,可以利用常规的数据加密算法,如AES(Advanced Encryption Standard,高级加密标准)或MD5(MessageDigest Algorithm5,消息摘要算法第五版)等,对所述第三DEX文件进行加密处理,从而得到加密后的第三DEX文件。
402、将所述加密后的第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中。
具体地,在将所述加密后的第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中时,可以直接将所述加密后的第三DEX文件移动到所述待功能扩展的APK文件内名称为res的文件夹中。
当运行上述功能扩展的APK文件时,所述第四DEX文件可以将上述加密后的第三DEX文件映射进系统内存,然后在内存中将所述加密后的第三DEX文件进行解密处理,使得解密后的第三DEX文件可以在内存中顺利运行,从而实现了Android软件的功能扩展。
本发明实施例进一步地将上述第三DEX文件进行加密处理,降低了所述第三DEX文件的可读取性,使得扩展的功能不会被其他开发者轻易识别或更改,从而提高了扩展功能的安全性。
进一步地,本发明的具体实施例提供的对Android软件进行功能扩展的方法,在将所述第四DEX文件添加到所述待功能扩展的APK文件中之后还包括:将所述待功能扩展的APK文件的入口点修改为指向所述第四DEX文件,得到功能扩展的APK文件。
具体地,所述入口点就是程序最开始执行的那一个函数,也可以称为入口函数。具体地,在修改上述待功能扩展的APK文件的入口点时,可以修改所述入口函数中用于指定代码执行顺序的相关参数,使得所述入口点指向上述第四DEX文件,从而得到功能扩展的APK文件。这样,在运行所述功能扩展的APK文件时,由于入口点指向所述第四DEX文件,因此不论功能扩展的APK文件的一级目录下是否还存有其他DEX文件,如待功能扩展的APK文件的原始DEX文件,程序都会首先运行所述第四DEX文件,然后所述第四DEX文件可以启动所述第三DEX文件和/或调用上述动态库文件,从而实现Android软件的功能扩展。
本发明实施例进一步将待功能扩展的APK文件的入口点修改为指向第四DEX文件,使得即使在功能扩展的过程中没有及时地删除原始DEX文件的情况下,上述功能扩展的APK文件也可以顺利实现扩展的功能,进一步提高了功能扩展的完备性。
本发明的具体实施例提供了一种对Android软件进行功能扩展的装置,如图5所示,该装置包括:第一构建模块51、获取模块52、合并模块53和第二构建模块54。
第一构建模块51,用于构建包含第一扩展代码块的第一DEX文件,所述第一扩展代码块用于实现扩展的第一功能。
获取模块52,用于从待功能扩展的Android软件安装包APK文件中获取第二DEX文件。
合并模块53,用于将所述第一构建模块51构建的第一DEX文件和所述获取模块52获取的第二DEX文件合并为第三DEX文件,并将所述第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中。
第二构建模块54,用于构建用于启动所述合并模块53得到的第三DEX文件的第四DEX文件,并将所述第四DEX文件添加到所述待功能扩展的APK文件中,得到功能扩展的APK文件。
进一步地,如图6所示,上述对Android软件进行功能扩展的装置还包括:第三构建模块55和添加模块56。
第三构建模块55,用于构建包含第二扩展代码块的动态库文件,并将所述动态库文件添加到所述待功能扩展的APK文件的链接库文件夹中,其中,所述第二扩展代码块用于实现扩展的第二功能。
添加模块56,用于将所述动态库文件的调用代码添加到所述第一DEX文件或第四DEX文件中。
进一步地,如图7所示,上述合并模块53包括:反编译单元531和合并单元532。
反编译单元531,用于将所述第一DEX文件和所述第二DEX文件分别进行反编译处理,得到第一smali文件和第二smali文件。
合并单元532,用于将所述第一smali文件和第二smali文件共同进行编译处理得到所述第三DEX文件。
进一步地,如图8所示,上述合并模块53还包括加密单元533和添加单元534。
加密单元533,用于将所述第三DEX文件进行加密处理,得到加密后的第三DEX文件。
添加单元534,将所述加密后的第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中。
进一步地,上述对Android软件进行功能扩展的装置还包括入口修改模块。
入口修改模块,用于将所述待功能扩展的APK文件的入口点修改为指向所述第四DEX文件。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种对Android软件进行功能扩展的方法,其特征在于,所述方法包括:
构建包含第一扩展代码块的第一DEX文件,所述第一扩展代码块用于实现扩展的第一功能;
从待功能扩展的Android软件安装包APK文件中获取第二DEX文件;
将所述第一DEX文件和所述第二DEX文件合并为第三DEX文件,并将所述第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中;
构建用于启动所述第三DEX文件的第四DEX文件,并将所述第四DEX文件添加到所述待功能扩展的APK文件中,得到功能扩展的APK文件。
2.根据权利要求1所述的对Android软件进行功能扩展的方法,其特征在于,所述方法还包括:
构建包含第二扩展代码块的动态库文件,并将所述动态库文件添加到所述待功能扩展的APK文件的链接库文件夹中,其中,所述第二扩展代码块用于实现扩展的第二功能;
将所述动态库文件的调用代码添加到所述第一DEX文件或第四DEX文件中。
3.根据权利要求1或2所述的对Android软件进行功能扩展的方法,其特征在于,所述将所述第一DEX文件和所述第二DEX文件合并为第三DEX文件,包括:
将所述第一DEX文件和所述第二DEX文件分别进行反编译处理,得到第一smali文件和第二smali文件;
将所述第一smali文件和第二smali文件共同进行编译处理得到所述第三DEX文件。
4.根据权利要求3所述的对Android软件进行功能扩展的方法,其特征在于,将所述第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中,包括:
将所述第三DEX文件进行加密处理,得到加密后的第三DEX文件;
将所述加密后的第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中。
5.根据权利要求1或4所述的对Android软件进行功能扩展的方法,其特征在于,在将所述第四DEX文件添加到所述待功能扩展的APK文件中之后,还包括:
将所述待功能扩展的APK文件的入口点修改为指向所述第四DEX文件。
6.一种对Android软件进行功能扩展的装置,其特征在于,所述装置包括:
第一构建模块,用于构建包含第一扩展代码块的第一DEX文件,所述第一扩展代码块用于实现扩展的第一功能;
获取模块,用于从待功能扩展的Android软件安装包APK文件中获取第二DEX文件;
合并模块,用于将所述第一构建模块构建的第一DEX文件和所述获取模块获取的第二DEX文件合并为第三DEX文件,并将所述第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中;
第二构建模块,用于构建用于启动所述合并模块得到的第三DEX文件的第四DEX文件,并将所述第四DEX文件添加到所述待功能扩展的APK文件中,得到功能扩展的APK文件。
7.根据权利要求6所述的对Android软件进行功能扩展的装置,其特征在于,所述装置还包括:
第三构建模块,用于构建包含第二扩展代码块的动态库文件,并将所述动态库文件添加到所述待功能扩展的APK文件的链接库文件夹中,其中,所述第二扩展代码块用于实现扩展的第二功能;
添加模块,用于将所述动态库文件的调用代码添加到所述第一DEX文件或第四DEX文件中。
8.根据权利要求6或7所述的对Android软件进行功能扩展的装置,其特征在于,所述合并模块包括:
反编译单元,用于将所述第一DEX文件和所述第二DEX文件分别进行反编译处理,得到第一smali文件和第二smali文件;
合并单元,用于将所述第一smali文件和第二smali文件共同进行编译处理得到所述第三DEX文件。
9.根据权利要求8所述的对Android软件进行功能扩展的方法,其特征在于,所述合并模块还包括:
加密单元,用于将所述第三DEX文件进行加密处理,得到加密后的第三DEX文件;
添加单元,将所述加密后的第三DEX文件添加到所述待功能扩展的APK文件的资源文件夹中。
10.根据权利要求6或9所述的对Android软件进行功能扩展的装置,其特征在于,所述装置还包括:
入口修改模块,用于将所述待功能扩展的APK文件的入口点修改为指向所述第四DEX文件。
CN201410064985.4A 2014-02-25 2014-02-25 一种对Android软件进行功能扩展的方法及装置 Active CN104866504B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410064985.4A CN104866504B (zh) 2014-02-25 2014-02-25 一种对Android软件进行功能扩展的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410064985.4A CN104866504B (zh) 2014-02-25 2014-02-25 一种对Android软件进行功能扩展的方法及装置

Publications (2)

Publication Number Publication Date
CN104866504A true CN104866504A (zh) 2015-08-26
CN104866504B CN104866504B (zh) 2018-07-06

Family

ID=53912339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410064985.4A Active CN104866504B (zh) 2014-02-25 2014-02-25 一种对Android软件进行功能扩展的方法及装置

Country Status (1)

Country Link
CN (1) CN104866504B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055363A (zh) * 2016-05-31 2016-10-26 广东欧珀移动通信有限公司 一种识别文件的方法及移动终端
CN106775842A (zh) * 2016-11-30 2017-05-31 北京酷我科技有限公司 一种可自定义的dex分包的方法
CN107193544A (zh) * 2017-04-01 2017-09-22 北京五八信息技术有限公司 一种应用程序组件化开发方法及装置
CN107273741A (zh) * 2017-05-18 2017-10-20 努比亚技术有限公司 一种系统运行方法及终端
CN111198690A (zh) * 2018-11-16 2020-05-26 北京奇虎科技有限公司 一种安装包的修改方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110098029A1 (en) * 2009-10-28 2011-04-28 Rhoads Geoffrey B Sensor-based mobile search, related methods and systems
CN102760219A (zh) * 2011-12-20 2012-10-31 北京安天电子设备有限公司 一种Android平台软件保护系统、方法及设备
CN103365699A (zh) * 2012-12-21 2013-10-23 北京安天电子设备有限公司 基于apk的系统api和运行时字符串提取方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110098029A1 (en) * 2009-10-28 2011-04-28 Rhoads Geoffrey B Sensor-based mobile search, related methods and systems
CN102760219A (zh) * 2011-12-20 2012-10-31 北京安天电子设备有限公司 一种Android平台软件保护系统、方法及设备
CN103365699A (zh) * 2012-12-21 2013-10-23 北京安天电子设备有限公司 基于apk的系统api和运行时字符串提取方法及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055363A (zh) * 2016-05-31 2016-10-26 广东欧珀移动通信有限公司 一种识别文件的方法及移动终端
US10452376B2 (en) 2016-05-31 2019-10-22 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for identifying file and mobile terminal
US10599413B2 (en) 2016-05-31 2020-03-24 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and device for identifying file
CN106775842A (zh) * 2016-11-30 2017-05-31 北京酷我科技有限公司 一种可自定义的dex分包的方法
CN107193544A (zh) * 2017-04-01 2017-09-22 北京五八信息技术有限公司 一种应用程序组件化开发方法及装置
CN107193544B (zh) * 2017-04-01 2021-01-15 北京五八信息技术有限公司 一种应用程序组件化开发方法及装置
CN107273741A (zh) * 2017-05-18 2017-10-20 努比亚技术有限公司 一种系统运行方法及终端
CN111198690A (zh) * 2018-11-16 2020-05-26 北京奇虎科技有限公司 一种安装包的修改方法和装置

Also Published As

Publication number Publication date
CN104866504B (zh) 2018-07-06

Similar Documents

Publication Publication Date Title
CN107943469B (zh) 一种智能合约的发布方法及装置
KR101518420B1 (ko) 안드로이드 플랫폼에서의 apk 파일 관리 장치 및 방법
CN104866504A (zh) 一种对Android软件进行功能扩展的方法及装置
KR101861341B1 (ko) 애플리케이션 코드의 역난독화 장치 및 이를 이용한 애플리케이션 코드의 역난독화 방법
CN111090433B (zh) 一种数据处理的方法、装置和存储介质
KR101623096B1 (ko) 안드로이드 플랫폼에서의 apk 파일 관리 장치 및 방법
CN110083360B (zh) 一种应用程序代码的编译方法、装置、设备及存储介质
CN103177210A (zh) 一种在Android中植入动态污点分析模块的方法
CN105022936A (zh) 一种类class文件加密解密方法和装置
CN104573416A (zh) 一种生成应用安装包、执行应用的方法及装置
US10380329B2 (en) Method and apparatus for preventing application from being deciphered
CN110032388B (zh) 一种增量文件的构建、发布、下载方法及装置
US20180067777A1 (en) Application protection method, server, and terminal
CN105095771A (zh) 一种共享目标文件的保护方法及装置
CN107402792B (zh) 应用软件安装包的集成方法、装置、设备及存储介质
CN103713902A (zh) 一种基于Android系统的BOA编译方法和系统
CN104866293A (zh) 一种对Android应用程序扩展功能的方法及装置
US20130185626A1 (en) METHOD, TERMINAL AND COMPUTER-READABLE RECORDING MEDIUM FOR COMPILING JAVASCRIPT INCLUDED IN WEB APPLICATION USING Ahead-Of-Time (AOT)
CN112306503A (zh) 前端资源打包方法、装置、计算机设备及存储介质
US7966600B2 (en) Distributed resource understanding tool management
CN111596951A (zh) 一种工程文件的配置方法及装置
CN103885784A (zh) 具有安全模块可插拔功能的Android平台构建方法
AU2016378425B2 (en) Application program running method and apparatus
CN109960510B (zh) Android应用动态链接库的加固方法及相关设备
CN108170433A (zh) 一种Java代码的混淆方法、恢复方法及其装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant