CN105786498A - 用于修改应用程序的方法、设备和电子设备 - Google Patents

用于修改应用程序的方法、设备和电子设备 Download PDF

Info

Publication number
CN105786498A
CN105786498A CN201610105250.0A CN201610105250A CN105786498A CN 105786498 A CN105786498 A CN 105786498A CN 201610105250 A CN201610105250 A CN 201610105250A CN 105786498 A CN105786498 A CN 105786498A
Authority
CN
China
Prior art keywords
resource
file
application program
resource file
cryptographic hash
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
CN201610105250.0A
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.)
Guangzhou Alibaba Literature Information Technology Co Ltd
Original Assignee
Guangzhou Alibaba Literature Information 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 Guangzhou Alibaba Literature Information Technology Co Ltd filed Critical Guangzhou Alibaba Literature Information Technology Co Ltd
Priority to CN201610105250.0A priority Critical patent/CN105786498A/zh
Publication of CN105786498A publication Critical patent/CN105786498A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种用于修改应用程序的方法、设备和电子设备。该用于修改应用程序的方法包括:获取应用程序的现有资源文件的资源索引,其中,所述资源索引包括所述现有资源文件的资源标识和资源位置;向配置设备发送所述资源索引;接收来自配置设备的替换资源文件,其中,所述替换资源文件的资源标识与资源索引中的资源标识对应;以及基于资源位置,使用所述替换资源文件替换应用程序中的现有资源文件。通过本发明,可以提高了开发效率。

Description

用于修改应用程序的方法、设备和电子设备
技术领域
本发明涉及计算设备技术领域,更具体地,涉及一种用于修改应用程序的方法和电子设备。
背景技术
在针对诸如安卓Android应用程序的应用程序的开发过程中,技术人员首先通过集成的开发工具编译代码,并生成最终的可执行程序。接着,技术人员通过诸如ADB(安卓调试桥)的配置工具将所述可执行程序安装到移动设备上。但是,随着应用程序的功能的不断扩展,将可能不断增加资源文件,这将导致编译出来的安装包很大,甚至达到数十兆或数百兆。在这种情况下,应用程序的编译过程以及安装包的安装过程将变得非常耗时。此外,在应用程序中还可能会引入第三方的库文件。
在现有技术中,在应用程序的开发、调试过程中,经常需要调整或美化界面样式。这需要频繁地修改应用程序的界面样式。接着,对修改后的应用程序重新编译,重新生成安装包,以在移动设备上安装、运行。在安装包较大的情况下,这个过程将会变得十分缓慢,这降低了开发和调试的效率。
因此,需要对现有技术进行改进。
发明内容
本发明的一个目的是提供一种用于修改应用程序的新技术方案。
根据本发明的第一方面,提供了一种用于修改应用程序的方法,包括:获取应用程序的现有资源文件的资源索引,其中,所述资源索引包括所述现有资源文件的资源标识和资源位置;向配置设备发送所述资源索引;接收来自配置设备的替换资源文件,其中,所述替换资源文件的资源标识与资源索引中的资源标识对应;以及基于资源位置,使用所述替换资源文件替换应用程序中的现有资源文件。
优选地,所述方法还包括:接收所述替换资源文件的第一哈希值;计算所述替换资源文件的第二哈希值;通过比较第一哈希值和第二哈希值,确定是否替换应用程序中的现有资源文件。
优选地,所述第一哈希值是通过私钥被加密的,以及所述方法还包括:接收数字证书;以及使用数字证书中公钥对第一哈希值进行解密。
优选地,所述方法还包括:在使用所述替换资源文件替换应用程序中的现有资源文件之后计算所述应用程序的第三哈希值,作为标识所述应用程序版本的标示符。
优选地,所述应用程序是安卓系统的应用程序,以及所述资源索引包括ids.xml文件和public.xml文件中的至少一个。
根据本发明的第二方面,提供了一种用于修改应用程序的设备,包括:用于获取应用程序的现有资源文件的资源索引的装置,其中,所述资源索引包括所述现有资源文件的资源标识和资源位置;用于向配置设备发送所述资源索引的装置;用于接收来自配置设备的替换资源文件的装置,其中,所述替换资源文件的资源标识与资源索引中的资源标识对应;以及用于基于资源位置使用所述替换资源文件替换应用程序中现有的资源的装置文件。
优选地,所述设备还包括:用于接收所述替换资源文件的第一哈希值的装置;用于计算所述替换资源文件的第二哈希值的装置;用于通过比较第一哈希值和第二哈希值确定是否替换应用程序中的现有资源文件的装置。
优选地,所述第一哈希值是通过私钥被加密的,以及所述设备还包括:用于接收数字证书的装置;以及用于使用数字证书中公钥对第一哈希值进行解密的装置。
优选地,所述设备还包括:用于在使用所述替换资源文件替换应用程序中的现有资源文件之后计算所述应用程序的第三哈希值作为标识所述应用程序版本的标示符的装置。
优选地,所述应用程序是安卓系统的应用程序,以及所述资源索引包括ids.xml文件和public.xml文件中的至少一个。
根据本发明的第三方面,提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据本发明的方法。
通过本发明,在调试过程中不需要对整个应用程序进行重新编译、修改,这提高了开发效率。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是根据本发明的一个实施例的用于修改应用程序的方法的流程图。
图2是根据本发明的另一个实施例的电子设备的示意性框图。
图3是根据本发明的一个例子。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面,参照附图描述根据本发明的各个实施例和例子。
图1示出了根据本发明的一个实施例的用于修改应用程序的方法的流程图。可以在诸如移动设备的电子设备中执行图1所示的方法。可以通过配置设备对电子设备中的应用程序进行修改。例如,配置设备和电子设备可以通过网络连接,也可以通过线缆直接连接。配置设备指的是可以对所述电子设备进行配置的设备。例如,所述配置设备可以是终端电脑,并且通过线缆与所述电子设备连接,并通过线缆向所述电子设备发送配置指令和/或数据。此外,所述配置设备还可以是网络上的配置服务器。在这种情况下,所述配置设备通过网络与所述电子设备连接,并通过网络向所述电子设备发送配置指令和/或数据。
在步骤S1100,获取应用程序的现有资源文件的资源索引。所述资源索引包括所述现有资源文件的资源标识和资源位置。
例如,在所述应用程序是安卓系统的应用程序的情况下所述资源索引可以包括ids.xml文件和public.xml文件中的至少一个。
资源标识可以是资源文件的文件名。资源位置可以是资源文件在应用程序中的目录位置。
在步骤S1200,向配置设备发送所述资源索引。
配置设备接收到所述资源索引之后,可以根据需要,修改资源文件或者生成新的资源文件,并且根据索引文件中的资源标识,对所述资源文件命名。接着,配置设备将所述资源文件作为替换资源文件发送给移动设备。
在步骤S1300,接收来自配置设备的替换资源文件。所述替换资源文件的资源标识与资源索引中的资源标识对应。
例如,可以在移动设备上建立一个HTTP本地服务。通过该HTTP本地服务,配置设备可以将所述替换资源文件上传到移动设备上。
在另一个实施例中,为了防止保证替换资源文件不被修改或者没有被损坏,还可以利用替换资源文件的哈希值。这在配置设备和电子设备通过网络连接的情况下是尤其有利的。在这个实施例中,配置设备还计算替换资源文件的第一哈希值,并且向电子设备发送第一哈希值。在电子设备,接收所述替换资源文件的第一哈希值,并且计算所述替换资源文件的第二哈希值。接着,通过比较第一哈希值和第二哈希值,确定是否替换应用程序中的现有资源文件。如果第一哈希值和第二哈希值不一致,则表明替换资源文件是经过修改的。在这种情况下,可以不执行所述替换操作,以防止其他人在应用程序中加入恶意代码。
在另一个实施例中,为了保证替换资源文件的来源,可以利用数字证书。例如,所述第一哈希值是通过私钥被加密的。所述私钥例如是配置设备的私钥,配置设备可以将自己的数字证书发送给电子设备。在电子设备,接收数字证书;以及使用数字证书中公钥对第一哈希值进行解密。在电子设备接收到数字证书之后,还可以对数字证书进行验证,确认该数字证书是可信任的实体签发的,然后再进行解密。通过这种方式进一步保证了替换操作的安全性。在使用第三方资源文件,或者在第三方资源文件被修改的情况下,这是尤其有利的。在这种情况下,可以直接由第三方对应用程序进行配置,这样可以由多方合作开发软件,并且能够保证安全性。
在步骤S1400,基于资源位置,使用所述替换资源文件替换应用程序中的现有资源文件。
被替换的文件可以被删除,也可以被保留下来,供后续恢复时使用。由于替换之后文件和原文件具有相同的文件名,因此,如何确定软件的版本是一个需要解决的的技术问题。可以通过增加辅助的信息,例如,版本标识号、日期、时间等。但是,这些方式中存在的一个缺陷在于,对于具有相同版本号的资源文件,它的实际内容可能被改变。为此,在本发明的又一个实施例中,在使用所述替换资源文件替换应用程序中现有的资源文件之后计算所述应用程序的第三哈希值,作为标识所述应用程序版本的标示符。通过这种方式,可以准确地确定应用程序的版本,而不会出现上面所述版本号与实际文件内容不符的情况。例如,当版本号与对实际文件进行计算所得的哈希值不符时,可以认为实际文件被改变或损坏并且不使用该版本的文件,以避免恢复到该版本后发生更大的损失。这在应用程序的调试、开发过程中是尤其有利的。
本领域技术人员应当理解,在电子技术领域中,可以通过软件、硬件以及软件和硬件结合的方式,将上述方法体现在产品中。因此,本领域技术人员很容易基于上面公开的方法形成一种用于修改应用程序的设备,包括:用于获取应用程序的现有资源文件的资源索引的装置,其中,所述资源索引包括所述现有资源文件的资源标识和资源位置;用于向配置设备发送所述资源索引的装置;用于接收来自配置设备的替换资源文件的装置,其中,所述替换资源文件的资源标识与资源索引中的资源标识对应;以及用于基于资源位置使用所述替换资源文件替换应用程序中现有的资源的装置文件。优选地,所述设备还包括:用于接收所述替换资源文件的第一哈希值的装置;用于计算所述替换资源文件的第二哈希值的装置;用于通过比较第一哈希值和第二哈希值确定是否替换应用程序中的现有资源文件的装置。优选地,所述第一哈希值是通过私钥被加密的,以及所述设备还包括:用于接收数字证书的装置;以及用于使用数字证书中公钥对第一哈希值进行解密的装置。优选地,所述设备还包括:用于在使用所述替换资源文件替换应用程序中的现有资源文件之后计算所述应用程序的第三哈希值作为标识所述应用程序版本的标示符的装置。优选地,所述应用程序是安卓系统的应用程序,以及所述资源索引包括ids.xml文件和public.xml文件中的至少一个。
本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由硬件来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。因此,对于本领域技术人员来说,不需要具体描述上述设备是通过软件还是通过硬件来实现的,只需要描述它所执行的操作。本领域技术人员会基于本发明的这种教导,根据实际需要选择软件或硬件来实现根据本发明的各个实施例的技术方案。
图2示出了根据本发明的一个实施例的电子设备的示意性框图。电子设备2000例如可以诸如是手机、平板电脑等的移动终端。
如图2所示,电子设备2000可以包括处理器2010、存储器2020、接口装置2030、通信装置2040、显示装置2050、输入装置2060、扬声器2070、麦克风2080,等等。
处理器2010例如可以是中央处理器CPU、微处理器MCU等。存储器2020例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置2030例如包括USB接口、耳机接口等。
通信装置2040例如能够进行有有线或无线通信。
显示装置2050例如是液晶显示屏、触摸显示屏等。输入装置2060例如可以包括触摸屏、键盘等。用户可以通过扬声器2070和麦克风2080输入/输出语音信息。
图2所示的电子设备仅是解释性的,并且决不是为了要限制本发明、其应用或用途。
在这个具体的实施例中,所述存储器2020用于存储指令,所述指令用于控制所述处理器2010进行操作以执行图1所示的用于修改应用程序的方法。本领域技术人员应当理解,尽管在图2中示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,处理器2010和存储装置2020等。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
图3是示出了根据本发明的一个例子的示意图。如图3所示,应用开发系统3000包括配置设备3020、电子设备3030和认证服务器3040。
配置设备3020、电子设备3030和认证服务器3040通过网络3010相互连接。本领域技术人员应当理解,尽管在这里示出了网络连接,但是,配置设备3020和电子设备3030可以直接通过线缆连接,而省略网络3010。
在这个例子中,以安卓系统为例来描述本发明的技术方案,但是,本领域技术人员应当理解,本发明不限于这个具体的例子。
在图3的例子中,配置设备3020对电子设备3030中的应用程序进行修改。
首先,配置设备3020与电子设备3030建立连接,例如HTTP连接服务。通过所述连接,配置设备3020可以获取电子设备3030中的信息,例如可以接收从PC端发送的请求,例如,当前执行的程序、资源文件ID、资源文件包等。配置设备3020从电子设备3030获取要修改的应用程序的资源文件的资源索引。例如,所述资源索引被保存在安卓系统的ids.xml文件和/或public.xml文件中。所述资源索引包括所述资源文件的资源标识和资源位置。
配置设备3020对应用程序中的某些资源文件进行修改,并且根据所述资源索引对资源文件进行命名。例如,可以利用安卓系统提供的工AAPT(AndroidAssetPackagingTool),仅将修改的资源文件打包成一个zip格式的压缩包。然后,配置设备3020将所述压缩包发送给电子设备3030。
电子设备3030接收所述压缩包,将压缩包中的资源文件作为替换资源文件,用于替换应用程序中现有的资源文件。所述替换资源文件的资源标识与资源索引中的资源标识对应。通过这种方式,可以仅仅编译、处理部分资源文件,而无需对整个应用程序进行处理,这减小了传输的通信量,提高了进行调试的效率。
在另一个例子中,为了保证所述压缩包(替换资源文件)的完整性,可以对其执行哈希计算。配置设备3020计算替换资源文件的第一哈希值并将它发送给电子设备3030。电子设备3030计算所接收的替换资源文件的第二哈希值并通过比较第一哈希值和第二哈希值,确定是否替换应用程序中现有的资源文件。如果发现二者不一致,则电子设备3030判断替换资源文件被更改或被损坏,并且不执行替换操作,以防止对电子设备3030造成损害。
在另一个例子中还可以通过网络上的认证服务器3040对替换资源文件的来源进行认证。在这里,可以使用配置设备3020的私钥对第一哈希值进行加密。配置设备3020将加密的第一哈希值和它的数字证书发送给电子设备3030。电子设备3030使用数字证书确定配置设备3020的身份。例如,电子设备3030可以通过认证服务器3040进行验证,或者电子设备3030保存了可信任的来源的列表,并通过所述列表来进行验证。电子设备3030使用数字证书中公钥对第一哈希值进行解密。通过这种方式,可以建立由多方共同开发软件的系统。而且,通过这种方式可以建立远程开发软件的系统。
在开发过程中可能会遇到的情况是,需要将应用程序恢复到之前的版本。在恢复时,可能会出现两种情况。第一种,之前的版本可能已经被损坏。第二,由于不同版本中的资源文件都具有相同的文件名,因此如何区分各个文件与各个版本的对应关系。针对这两种情况中的至少一个,在又一个例子中,在使用所述替换资源文件替换应用程序中现有的资源文件之后计算所述应用程序的第三哈希值,作为标识所述应用程序版本的标示符。使用哈希值作为版本的标示符可以在确定版本的同时检验版本文件的完整性。
本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (11)

1.一种用于修改应用程序的方法,包括:
获取应用程序的现有资源文件的资源索引,其中,所述资源索引包括所述现有资源文件的资源标识和资源位置;
向配置设备发送所述资源索引;
接收来自配置设备的替换资源文件,其中,所述替换资源文件的资源标识与资源索引中的资源标识对应;以及
基于资源位置,使用所述替换资源文件替换应用程序中的现有资源文件。
2.根据权利要求1所述的方法,还包括:
接收所述替换资源文件的第一哈希值;
计算所述替换资源文件的第二哈希值;
通过比较第一哈希值和第二哈希值,确定是否替换应用程序中的现有资源文件。
3.根据权利要求2所述的方法,其中,所述第一哈希值是通过私钥被加密的,以及所述方法还包括:
接收数字证书;以及
使用数字证书中公钥对第一哈希值进行解密。
4.根据权利要求1所述的方法,还包括:
在使用所述替换资源文件替换应用程序中的现有资源文件之后计算所述应用程序的第三哈希值,作为标识所述应用程序版本的标示符。
5.根据权利要求1所述的方法,其中,所述应用程序是安卓系统的应用程序,以及所述资源索引包括ids.xml文件和public.xml文件中的至少一个。
6.一种用于修改应用程序的设备,包括:
用于获取应用程序的现有资源文件的资源索引的装置,其中,所述资源索引包括所述现有资源文件的资源标识和资源位置;
用于向配置设备发送所述资源索引的装置;
用于接收来自配置设备的替换资源文件的装置,其中,所述替换资源文件的资源标识与资源索引中的资源标识对应;以及
用于基于资源位置使用所述替换资源文件替换应用程序中现有的资源的装置文件。
7.根据权利要求6所述的设备,还包括:
用于接收所述替换资源文件的第一哈希值的装置;
用于计算所述替换资源文件的第二哈希值的装置;
用于通过比较第一哈希值和第二哈希值确定是否替换应用程序中的现有资源文件的装置。
8.根据权利要求7所述的设备,其中,所述第一哈希值是通过私钥被加密的,以及所述设备还包括:
用于接收数字证书的装置;以及
用于使用数字证书中公钥对第一哈希值进行解密的装置。
9.根据权利要求6所述的设备,还包括:
用于在使用所述替换资源文件替换应用程序中的现有资源文件之后计算所述应用程序的第三哈希值作为标识所述应用程序版本的标示符的装置。
10.根据权利要求6所述的设备,其中,所述应用程序是安卓系统的应用程序,以及所述资源索引包括ids.xml文件和public.xml文件中的至少一个。
11.一种电子设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据权利要求1所述的方法。
CN201610105250.0A 2016-02-25 2016-02-25 用于修改应用程序的方法、设备和电子设备 Pending CN105786498A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610105250.0A CN105786498A (zh) 2016-02-25 2016-02-25 用于修改应用程序的方法、设备和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610105250.0A CN105786498A (zh) 2016-02-25 2016-02-25 用于修改应用程序的方法、设备和电子设备

Publications (1)

Publication Number Publication Date
CN105786498A true CN105786498A (zh) 2016-07-20

Family

ID=56402958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610105250.0A Pending CN105786498A (zh) 2016-02-25 2016-02-25 用于修改应用程序的方法、设备和电子设备

Country Status (1)

Country Link
CN (1) CN105786498A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109074295A (zh) * 2016-07-29 2018-12-21 惠普发展公司,有限责任合伙企业 具有真实性的数据恢复
CN109086147A (zh) * 2018-07-31 2018-12-25 深圳市元征科技股份有限公司 应用程序的服务接口调用方法、装置及存储介质
CN109144948A (zh) * 2017-06-15 2019-01-04 海马云(天津)信息技术有限公司 应用文件定位的方法、装置、电子设备和存储器
CN109918121A (zh) * 2019-02-22 2019-06-21 深圳市酷开网络科技有限公司 一种基于不同芯片方案的配置方法、智能终端及存储介质
CN110168554A (zh) * 2017-01-06 2019-08-23 微软技术许可有限责任公司 云托管系统中的强资源身份
WO2019196927A1 (en) * 2018-04-13 2019-10-17 C-Sky Microsystems Co., Ltd. Device and processor for implementing resource index replacement
CN110968343A (zh) * 2019-11-29 2020-04-07 合肥美的电冰箱有限公司 资源文件的配置方法、配置装置、冰箱以及可读存储介质
CN111143789A (zh) * 2019-12-05 2020-05-12 深圳市任子行科技开发有限公司 一种apk资源文件的混淆方法和装置
CN111290738A (zh) * 2020-01-21 2020-06-16 北京字节跳动网络技术有限公司 应用程序的资源处理方法、装置、设备及存储介质
CN112732644A (zh) * 2020-12-31 2021-04-30 广州三七网络科技有限公司 应用程序的资源索引处理方法、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1535417A (zh) * 2000-06-28 2004-10-06 通过散列的绑定
CN103559065A (zh) * 2013-11-13 2014-02-05 广东欧珀移动通信有限公司 一种ota升级的方法和系统
CN104252341A (zh) * 2013-06-26 2014-12-31 腾讯科技(深圳)有限公司 应用程序的换肤方法、装置及应用程序的客户端设备
CN104850386A (zh) * 2014-01-09 2015-08-19 武汉联影医疗科技有限公司 一种软件系统国际化资源的处理方法
CN104866290A (zh) * 2014-02-24 2015-08-26 国际商业机器公司 一种用于数据传输的方法和装置
CN104966031A (zh) * 2015-07-01 2015-10-07 复旦大学 安卓应用程序中非权限相关隐私数据的识别方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1535417A (zh) * 2000-06-28 2004-10-06 通过散列的绑定
CN104252341A (zh) * 2013-06-26 2014-12-31 腾讯科技(深圳)有限公司 应用程序的换肤方法、装置及应用程序的客户端设备
CN103559065A (zh) * 2013-11-13 2014-02-05 广东欧珀移动通信有限公司 一种ota升级的方法和系统
CN104850386A (zh) * 2014-01-09 2015-08-19 武汉联影医疗科技有限公司 一种软件系统国际化资源的处理方法
CN104866290A (zh) * 2014-02-24 2015-08-26 国际商业机器公司 一种用于数据传输的方法和装置
CN104966031A (zh) * 2015-07-01 2015-10-07 复旦大学 安卓应用程序中非权限相关隐私数据的识别方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109074295B (zh) * 2016-07-29 2022-07-05 惠普发展公司,有限责任合伙企业 具有真实性的数据恢复
CN109074295A (zh) * 2016-07-29 2018-12-21 惠普发展公司,有限责任合伙企业 具有真实性的数据恢复
CN110168554B (zh) * 2017-01-06 2023-09-19 微软技术许可有限责任公司 云托管系统中的强资源身份
CN110168554A (zh) * 2017-01-06 2019-08-23 微软技术许可有限责任公司 云托管系统中的强资源身份
CN109144948B (zh) * 2017-06-15 2021-10-08 海马云(天津)信息技术有限公司 应用文件定位的方法、装置、电子设备和存储器
CN109144948A (zh) * 2017-06-15 2019-01-04 海马云(天津)信息技术有限公司 应用文件定位的方法、装置、电子设备和存储器
US11340905B2 (en) 2018-04-13 2022-05-24 C-Sky Microsystems Co., Ltd. Device and processor for implementing resource index replacement
WO2019196927A1 (en) * 2018-04-13 2019-10-17 C-Sky Microsystems Co., Ltd. Device and processor for implementing resource index replacement
US11734014B2 (en) 2018-04-13 2023-08-22 C-Sky Microsystems Co., Ltd. Device and processor for implementing resource index replacement
CN109086147B (zh) * 2018-07-31 2022-02-22 深圳市元征科技股份有限公司 应用程序的服务接口调用方法、装置及存储介质
CN109086147A (zh) * 2018-07-31 2018-12-25 深圳市元征科技股份有限公司 应用程序的服务接口调用方法、装置及存储介质
CN109918121A (zh) * 2019-02-22 2019-06-21 深圳市酷开网络科技有限公司 一种基于不同芯片方案的配置方法、智能终端及存储介质
CN110968343A (zh) * 2019-11-29 2020-04-07 合肥美的电冰箱有限公司 资源文件的配置方法、配置装置、冰箱以及可读存储介质
CN111143789A (zh) * 2019-12-05 2020-05-12 深圳市任子行科技开发有限公司 一种apk资源文件的混淆方法和装置
CN111143789B (zh) * 2019-12-05 2023-07-25 深圳市任子行科技开发有限公司 一种apk资源文件的混淆方法和装置
CN111290738A (zh) * 2020-01-21 2020-06-16 北京字节跳动网络技术有限公司 应用程序的资源处理方法、装置、设备及存储介质
CN112732644A (zh) * 2020-12-31 2021-04-30 广州三七网络科技有限公司 应用程序的资源索引处理方法、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN105786498A (zh) 用于修改应用程序的方法、设备和电子设备
US8875105B2 (en) Efficiently developing software using test cases to check the conformity of the software to the requirements
US8533691B2 (en) Managing non-common features for program code translation
CN106502725A (zh) 应用程序的升级方法、设备及电子设备
KR20150122149A (ko) 컴파일러 기반 난독화 기법
CN108399318A (zh) 可执行文件的生成方法、执行方法及电子设备
CN105022936A (zh) 一种类class文件加密解密方法和装置
CN102707999A (zh) 利用成功的问题解决的应用兼容性
CN102799437B (zh) 一种编译脚本自动生成方法和自动生成装置
CN105893837B (zh) 应用程序安装方法、安全加密芯片及终端
US11520686B2 (en) System and method for facilitating performance testing
CN110960855B (zh) 一种通信协议代码更新方法、装置、电子设备及存储介质
CN108089870B (zh) 用于修复应用的方法和装置
CN107508846B (zh) 应用客户端的更新方法和系统及终端设备
US11726897B2 (en) System and method for testing applications
CN107871066B (zh) 基于安卓系统的代码编译方法及装置
JP2017146967A (ja) 中間言語ファイルのロード速度改善のための方法およびシステム
US9235391B2 (en) Optimization of software symbol tables
CN112416395A (zh) 一种热修复更新方法和装置
CN112965731A (zh) 基于Tinker的Flutter热更新方法、装置、设备及存储介质
US9075679B1 (en) Creating a prerequisite checklist corresponding to a software application
CN104657631A (zh) 应用的渠道信息的处理方法及装置
US11775471B2 (en) System and method for caching converted files and compiling computer code from the cache
CN112036775A (zh) 资源访问分类授权方法、装置、计算机设备及存储介质
CN110083344A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20160720

RJ01 Rejection of invention patent application after publication