CN106845162B - 一种重签名方法及装置 - Google Patents

一种重签名方法及装置 Download PDF

Info

Publication number
CN106845162B
CN106845162B CN201611181021.3A CN201611181021A CN106845162B CN 106845162 B CN106845162 B CN 106845162B CN 201611181021 A CN201611181021 A CN 201611181021A CN 106845162 B CN106845162 B CN 106845162B
Authority
CN
China
Prior art keywords
file
application
signing
application extension
extension
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.)
Active
Application number
CN201611181021.3A
Other languages
English (en)
Other versions
CN106845162A (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 58 Information Technology Co Ltd
Original Assignee
Beijing 58 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 Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201611181021.3A priority Critical patent/CN106845162B/zh
Publication of CN106845162A publication Critical patent/CN106845162A/zh
Application granted granted Critical
Publication of CN106845162B publication Critical patent/CN106845162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明旨在解决现有技术中存在的多层次应用程序包的重签名问题,提出了一种重签名方法及装置。该方法包括:对第一设备的应用扩展文件进行第一层重签名;对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名;对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名,其中,第一设备受第二设备控制,该方案有效的解决了现有技术中多层次应用程序包的重签名问题。

Description

一种重签名方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种重签名方法及装置。
背景技术
随着公司规模的不断壮大,APP(Application,应用程序)业务需求的不断增多,开发人员和测试人员也在不断增多,随之而来的是项目的分支会比较多,在持续集成过程当中,效率较为重要,比如开发人员提测完一个需求后,测试人员需要尽快地获取到测试包,开发人员修改完bug后,测试人员也需要拿到最新的包去验证回馈问题。
对于苹果公司的证书来说,能够安装一个证书对应的安装包的设备的个数是有限制的,通常限制100台设备。而对于大型公司较大团队来说,要加入的设备较多,很容易就达到限制数量的上限,因此,一定会有一批设备无法加入到证书中。为了解决这个问题,通常使用企业证书对现有安装包进行重签名的方式将安装包生成Inhouse包对外提供,加入证书的设备就可以不受安装个数限制了。
其中,重签名是对现有的程序安装包(例如,iOS为.ipa包)通过更换证书的方式重新生成新的安装包的操作。
还有一种情况是当要测试版本覆盖升级时,要用当前版本包生成一个版本号高于当前版本的一个APP包,这种情况也可以通过重签名的方式达到目的。
目前,对.ipa包的重签名方案具体可以包括如下处理:
获取并安装好新证书(.p12)和新证书对应的描述文件).mobileprovision);解压已有的ipa包,得到Payload目录,以下都在该目录下操作;删除旧的签名文件,即删除整个_CodeSignature目录。通过新描述文件的Entitlements部分生成授权配置文件,即entitlements.plist;用新的描述文件替换mbedded.mobileprovision文件;用codesign命令进行重签名,用到新证书和上面生成的entitlements.plist文件,执行后生成新的签名文件;压缩Payload生成新的.ipa包,即为最终重签名后的目标包。最后把不再需要用的Payload及entitlements.plist进行删除。然而,现有这种签名方式只适用于层次简单的APP。如果APP中有Apple Watch和Extension,则这种签名方式签名后的包不能正常安装,因为在.app目录下,还有watch对应的.app目录,有单独的签名文件,而且在watch.app目录下还有一个Extension.appex目录,也有独立的签名文件。与watch.app并列的还有一个插件PlugIns目录,里面有Extension.appex,也是独立签名。因此,如果有Apple Watch和Extension需要进行对4个签名文件的处理。
其中,Extension是对APP的扩展,以独立进程运行,与APP间可以进行交互通信,如Watch Extension、Today Extension等,其中Today Extension在iOS8,iOS9下是在通知中心下面Today标签页的内容,iOS10以后在桌面右滑出现的页面。
发明内容
本发明旨在解决现有技术中存在的多层次的应用程序包的重签名方式问题,提出了一种重签名方法及装置。
根据本发明的一个方面,提供了一种重签名方法,包括:对第一设备的应用扩展文件进行第一层重签名;对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名;对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名,第一设备受第二设备控制。
其中,上述第一设备为智能手表,第二设备为移动终端。
进一步的,上述方法还包括:在对第一设备的应用扩展文件进行第一层重签名之前,对应用程序的安装包进行解压,得到可执行文件对应的目录,应用程序的安装包包括:第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件;从目录中查找第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件。
进一步的,上述方法还包括:在对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名之后,对目录进行压缩,生成目标应用程序安装包。
其中,目标文件包括第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件,则对目标文件进行重签名的方法,包括:根据待进行重签名的目标文件对应的描述文件生成授权文件;删除目标文件对应的原签名文件;用描述文件替换目标文件的原描述文件;使用目标文件证书和授权文件进行签名,生成新的签名文件。
根据一种重签名装置,包括:第一重签名模块,用于对第一设备的应用扩展文件进行第一层重签名;第二重签名模块,用于对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名;第三重签名模块,用于对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名,第一设备受第二设备控制。
其中,第一设备为智能手表,第二设备为移动终端。
进一步的,上述装置还包括:解压模块,用于在对第一设备的应用扩展文件进行第一层重签名之前,对应用程序的安装包进行解压,得到可执行文件对应的目录,应用程序的安装包包括:第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件;查找模块,用于从目录中查找第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件。
进一步的,上述装置还包括:生成模块,用于在对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名之后,对目录进行压缩,生成目标应用程序安装包。
其中,目标文件包括第一设备的应用扩展、第一设备的应用以及第二设备的应用扩展,第三重签名模块,包括:生成单元,用于根据待进行重签名的目标文件对应的描述文件生成授权文件;删除单元,用于删除目标文件对应的原签名文件;替换单元,用于用描述文件替换目标文件的原描述文件;签名单元,用于使用目标文件证书和授权文件进行签名,生成新的签名文件。
目前技术中,在代码没有改动的情况下,如果要生成若干个包,如果是用编译器一个个去生成包,则效率太低,本发明实施例提供的方法先生成一个包,再对现有包通过重签名的方式生成若干个与原包功能代码完全一样的包,总体上节省了时间,提高了生成包的效率,同时,解决了含有Apple Watch和Extension复杂APP的.ipa包通过重签名生成新包的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的重签名方法的流程图;
图2是本发明第二实施例中涉及提供的重签名方法的流程;
图3是本发明第二实施例中涉及到重签名装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一实施例
本实施例提供了一种重签名方法,用以解决现有技术中存在的对多层次的应用程序进行重签名的问题,图1是该方法的流程图,如图1所示,该方法包括如下处理:
步骤101:对第一设备的应用扩展文件进行第一层重签名;其中,本实施例中的应用扩展文件是指Extension,是对APP的扩展。
步骤102:对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名;
步骤103:对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名。
在本实施例中,第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件可以统称目标文件,对这些目标文件进行重签名均可以以以下具体的方式来进行:
根据待进行重签名的目标文件对应的描述文件生成授权文件;删除目标文件对应的原签名文件;用描述文件替换目标文件的原描述文件;使用目标文件证书和授权文件进行签名,生成新的签名文件,即根据Inhouse对应的描述文件生成授权文件entitlements.plist,原理是将描述文件中的Entitlements对应的块取出,并将Entitlements中com.apple.developer.team-identifier的值设置为“原值.对应bundleid”的形式,再将修改后的Entitlements复制到entitlements.plist文件;删除当前目录下原来的签名文件CodeResources;用Inhouse对应的新描述文件替换当前目录下的embedded.mobileprovision文件;用Inhouse证书和刚才生成的生成的entitlements.plist文件进行签名,生成新的签名文件CodeResources。
其中,本实施例的第一设备与第二设备预先经过匹配,并建立连接,第一设备受第二设备控制,同时第二设备可以获取第一设备中的数据,本实施例的一个优选实施例方式中,第一设备可以为智能手表,例如,Apple Watch,第二设备可以为移动终端,例如,iPhone,在第一设备为Apple Watch,第二设备为iPhone的情况下,如图2所示,对应用程序安装包进行重签名的过程可以包括:
步骤201:解压.ipa包,产生payload目录;
步骤202:对Wacth Extension进行重签名;
首先,对深层Wacth Extension进行重签名。
步骤203:对Watch.app进行重签名以及对其它Extension.appex进行重签名。
其次,对次外层的Watch APP和与其同层次的iPhone的APP的Extension进行重签名。
步骤204:对主APP进行重签名。
最后对整个APP进行一次最外层的重签名,实现了APP的.ipa包换证书生成新的.ipa包。
步骤205:对Payload进行压缩,生成目标.ipa包。
步骤206:进行扫尾工作后流程结束。
例如,将payload整个目录以及重签名过程中产生的entitlement.plist进行删除。
进一步的,本实施例提供的方法还可以包括:在对第一设备的应用扩展文件进行第一层重签名之前,对应用程序的安装包进行解压,得到可执行文件对应的目录,即payload目录,应用程序的安装包包括:第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件;从目录中查找第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件,基于此,在对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名之后,本实施例提供的方法还可以包括,对目录进行压缩,生成目标应用程序安装包。
第二实施例
本实施例提供了一种重签名方法,在本实施例中,以应用程序安装包中含有AppleWatch和Today Extension为例对重签名方法进行进一步说明。
该方法的实现原理如下:
APP在打包进行签名的过程中会在.ipa包中新建一个_CodeSignatue/CodeResources,CodeResources实际上就是一个.plist文件,这个文件中存储了被签名的APP中所有文件的签名。CodeResources中包含了文件和文件对应的签名的列表,在以前的OS X***版本中可以设置某些资源文件不用设置签名,但现在新版代码签名中所有的代码文件和资源文件都必须设置签名,不再有例外,而且APP中如果有Watch、Extension这些扩展中,也会生成CodeResources签名文件,其中Watch下还有Extension,这些文件都必须进行独立的签名验证。
本实施例主要针对含有Watch和Extension的APP,在对其.ipa包进行重签名时,对Watch和Extension下生成的CodeResources签名文件做一些单独的处理。
假设执行本实施例的重签名方法之前,存在以下条件。
已有可用的Inhouse发布证书。
已在Inhouse账户中创建4个bundle id,其中主APP有1个,AappleWatch有2个,Extension有1个。
已在Inhouse账户中创建好4个描述文件,其中主APP有1个,Watch有2个,Extension有1个,并且Extension的描述文件中包含的APP ID已经创建好了相应的groupid;
假设在APP中各target名如下:
主APP为XXX,Watch为XXXWatch,Watch Extension为XXXWatchExtension,TodayExtension为XXXTodayExtension。
基于上述先决条件,本实施例提供的重签名方法包括如下处理:
1、解压.ipa包后,有Payload目录;
2、对Watch Extension进行重签名;
2.1、找到目录:
Payload/XXX.app/Watch/XXXWatch.app/PlugIns/XXXWatchExtension.ppex。
2.2、修改目录下的Info.plist文件中的一些属性值:
修改CFBundleIdentifier为Inhouse中对应的bundle id,修改NSExtension:NSExtensionAttributes:WKAppBundleIdentifier的值为XXXWatch对应的Inhouse中对应的bundle id。如果是Watch OS1,还需要修改Inhouse中对应的watch group id。
2.3、公共操作:创建授权文件、删除原来的签名文件、替换描述文件以及用Inhouse证书进行签名操作。
3、对Watch进行重签名;
3.1、找到目录Payload/XXX.app/Watch/XXXWatch.app。
3.2、修改目录下的Info.plist文件,修改CFBundleIdentifier为Inhouse中对应的bundle id,修改WKCompanionAppBundleIdentifier为主APP的bundle id。
3.3、公共签名。
4、对Today Extension进行重签名;
4.1、找到目录Payload/XXX.app/PlugIns/XXXTodayExtension.appex。
4.2、修改目录下的Info.plist文件,修改CFBundleIdentifier为Inhouse中对应的bundle id,修改Today在Inhouse对应的group id。
4.3、公共签名。
5、对XXX进行重签名;
5.1、找到目录Payload/XXX.app。
5.2、修改目录下的Info.plist文件,修改CFBundleIdentifier为Inhouse中对应的bundle id,修改Today在Inhouse对应的group id,如果是OS1,修改Watch在Inhouse中对应的group id。
5.3、公共签名。
6、压缩Payload成.ipa包,至此,重签名完成,新的.ipa包已经生成。
7、将Payload整个目录及以上步骤中产生的entitlements.plist进行删除。
对以上公共签名的操作与上述第一实施例中对目标文件进行重签名的方法相同,此处不再赘述。
第三实施例
本实施例提供了一种重签名装置,该装置用于实现上述第一实施例以及第二实施例提供的方法,图3是该装置的结构框图,如图3所示,该装置30包括如下组成部分:
第一重签名模块31,用于对第一设备的应用扩展文件进行第一层重签名;
第二重签名模块32,用于对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名;
第三重签名模块33,用于对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名,其中,第一设备受第二设备控制。
优选的,本实施例中的第一设备可以为智能手表,第二设备可以为移动终端。
进一步的,上述装置30还可以包括:解压模块,用于在对第一设备的应用扩展文件进行第一层重签名之前,对应用程序的安装包进行解压,得到可执行文件对应的目录,应用程序的安装包包括:第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件;查找模块,用于从目录中查找第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件。
进一步的,上述装置30还可以包括:生成模块,用于在对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名之后,对目录进行压缩,生成目标应用程序安装包。
其中,目标文件包括所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件,基于此,上述第三重签名模块,可以包括:生成单元,用于根据待进行重签名的目标文件对应的描述文件生成授权文件;删除单元,用于删除目标文件对应的原签名文件;替换单元,用于用描述文件替换目标文件的原描述文件;签名单元,用于使用目标文件证书和授权文件进行签名,生成新的签名文件。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (4)

1.一种重签名方法,包括:
步骤一,对应用程序的安装包进行解压,得到可执行文件对应的目录,所述应用程序的安装包包括:第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件,其中,所述第一设备为Apple Watch,所述第二设备为iPhone;
步骤二,从所述目录中查找所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件;
步骤三,对所述应用扩展文件和所述应用文件进行重签名;
步骤四,在对所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件进行第三层重签名之后,对所述目录进行压缩,生成目标应用程序安装包;
其特征在于,所述步骤三包括:对第一设备的应用扩展文件进行第一层重签名;对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名;对所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件进行第三层重签名,所述第一设备受所述第二设备控制。
2.根据权利要求1所述的方法,其特征在于,目标文件包括所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件,则对所述目标文件进行重签名的方法,包括:
根据待进行重签名的目标文件对应的描述文件生成授权文件;
删除所述目标文件对应的原签名文件;
用所述目标文件对应的描述文件替换所述目标文件的原描述文件;
使用所述目标文件证书和所述授权文件进行签名,生成新的签名文件。
3.一种重签名装置,其特征在于,包括:
第一重签名模块,用于对第一设备的应用扩展文件进行第一层重签名,所述第一设备为Apple Watch;
第二重签名模块,用于对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名,所述第二设备为iPhone;
第三重签名模块,用于对所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件进行第三层重签名,所述第一设备受所述第二设备控制;
解压模块,用于在对第一设备的应用扩展文件进行第一层重签名之前,对应用程序的安装包进行解压,得到可执行文件对应的目录,所述应用程序的安装包包括:所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件;
查找模块,用于从所述目录中查找所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件;
生成模块,用于在对所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件进行第三层重签名之后,对所述目录进行压缩,生成目标应用程序安装包。
4.根据权利要求3所述的装置,其特征在于,目标文件包括所述第一设备的应用扩展、所述第一设备的应用以及所述第二设备的应用扩展,所述第三重签名模块,包括:
生成单元,用于根据待进行重签名的目标文件对应的描述文件生成授权文件;
删除单元,用于删除所述目标文件对应的原签名文件;
替换单元,用于用所述描述文件替换所述目标文件的原描述文件;
签名单元,用于使用所述目标文件证书和所述授权文件进行签名,生成新的签名文件。
CN201611181021.3A 2016-12-20 2016-12-20 一种重签名方法及装置 Active CN106845162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611181021.3A CN106845162B (zh) 2016-12-20 2016-12-20 一种重签名方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611181021.3A CN106845162B (zh) 2016-12-20 2016-12-20 一种重签名方法及装置

Publications (2)

Publication Number Publication Date
CN106845162A CN106845162A (zh) 2017-06-13
CN106845162B true CN106845162B (zh) 2020-05-26

Family

ID=59139694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611181021.3A Active CN106845162B (zh) 2016-12-20 2016-12-20 一种重签名方法及装置

Country Status (1)

Country Link
CN (1) CN106845162B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213686B (zh) * 2018-10-22 2022-03-22 网易(杭州)网络有限公司 应用包体检查方法、装置、存储介质、处理器及服务器
CN110321669A (zh) * 2019-06-04 2019-10-11 平安科技(深圳)有限公司 应用程序重签名的方法、装置、设备及存储介质
CN110348178A (zh) * 2019-06-27 2019-10-18 绿漫科技有限公司 一种对iOS***应用重签名的方法
CN110795701A (zh) * 2019-08-28 2020-02-14 五八有限公司 一种重签名检测方法、装置、终端设备及存储介质
CN112148597B (zh) * 2020-09-16 2021-12-10 北京基调网络股份有限公司 一种消除iOS设备授权对话框的方法、测试方法及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740138A (zh) * 2014-12-08 2016-07-06 阿里巴巴集团控股有限公司 应用的测试方法、测试装置及测试***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244078A1 (en) * 2007-03-26 2008-10-02 Pieter Viljoen Web services intermediary

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740138A (zh) * 2014-12-08 2016-07-06 阿里巴巴集团控股有限公司 应用的测试方法、测试装置及测试***

Also Published As

Publication number Publication date
CN106845162A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106845162B (zh) 一种重签名方法及装置
CN106933609B (zh) Android应用程序安装包的生成方法及装置
KR20180077265A (ko) 플러그인화 패키징 방법, 장치, 터미널 및 저장 매체
US8612947B2 (en) System and method for remotely compiling multi-platform native applications for mobile devices
CN104281518A (zh) 终端应用测试方法、装置、***、平台及移动终端
CN108536451B (zh) 应用程序的埋点注入方法和装置
CN108279941B (zh) 一种应用程序的压缩方法和装置
CN104052818A (zh) 一种移动终端的版本升级方法及装置
CN106055375B (zh) 应用程序安装方法及装置
CN103514006A (zh) 一种Android***预装应用升级的方法及***
CN109933350B (zh) 在应用中嵌入代码的方法、装置及电子设备
CN106020877A (zh) ***环境配置自动更新方法及装置
CN105468395A (zh) 更新方法、装置及***
CN105391763A (zh) 对多个apk文件进行加固的方法和服务器
WO2019029451A1 (zh) 发布移动应用的方法和电子设备
CN107943690A (zh) 一种部署兼容性测试环境的平台及方法
CN107239309A (zh) 补丁生成方法及装置、更新方法、电子设备、存储介质
CN108197469B (zh) 校验应用程序的方法、装置和存储介质以及电子设备
CN112114789B (zh) 一种业务开发方法及设备
CN106325896A (zh) 安装包的共享函数库文件处理方法及装置
CN108647142B (zh) 一种Gatling压测脚本本地预编译调试方法及***
CN113741954A (zh) ***软件生成方法、装置、电子设备及存储介质
CN108170588B (zh) 一种测试环境搭建方法及装置
CN104158907A (zh) 应用程序文件下载方法及装置
CN105260224A (zh) 一种lua脚本扩展***及其运行方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant