CN109857447A - 一种安卓app应用包批量带安全签名的自动化打包方法 - Google Patents
一种安卓app应用包批量带安全签名的自动化打包方法 Download PDFInfo
- Publication number
- CN109857447A CN109857447A CN201811609975.9A CN201811609975A CN109857447A CN 109857447 A CN109857447 A CN 109857447A CN 201811609975 A CN201811609975 A CN 201811609975A CN 109857447 A CN109857447 A CN 109857447A
- Authority
- CN
- China
- Prior art keywords
- file
- tool
- android
- function
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了安卓APP应用包批量带安全签名的自动化打包方法。其包括以下步骤:步骤S1:打包资源文件,生成R.java文件;步骤S2:编译工程源代码,生成相应的class文件;步骤S3:转换所有的class文件,生成classes.dex文件;步骤S4:打包生成apk;步骤S5:对apk文件进行签名;步骤S6:对签名后的apk文件进行对齐处理;步骤S7:形成统一的可执行文件。本发明在整个打包过程不再需要人工手动参与,与传统的打包方法对比,实现自动化操作过程,有效地提高了打包效率,降低了人工出错的概率。
Description
技术领域
本发明软件开发技术领域,特别是涉及一种安卓APP应用包批量带安全签名的自动化打包方法。
背景技术
近几年来移动互联网发展迅速,智能手机爆发式的增长,其中Android平台为代表的移动应用开发者尤其活跃,大公司平台都拥有自家的安卓APP应用市场,如腾讯的应用宝等。
在安卓系统开发中,每次版本迭代升级时,开发者在打包发布前,通过对各家应用市场提前预设好全局应用市场标识码,用于统计各应用市场APP的数据信息,如下载量、注册量、留存率、用户行为数据等,同时需要保证APP包不能被第三方下载后暴力破解,需要代码混淆、签名加密等策略,加固应用包安全。
传统的打包方式是通过IDE打包APP包之前,配置需要升级的全局版本号,以及不同的全局应用市场标识码,加上安全校验秘钥、代码混淆策略,然后打包成功,最后由运营团队上架到各个不同的应用市场,如应用宝、小米、华为等应用市场或其他分发渠道。
这种传统的做法在打包过程中,每次都需要花大量时间手工配置这些不同参数、设置安全签名策略,检查在打包过程中是否有错误或遗漏等,因此,传统的打包方法效率很低。
发明内容
本发明所要解决的技术问题提供一种安卓APP应用包批量带安全签名的自动化打包方法。该方法让整个打包过程自动化生产了,有效提高了打包效率,降低了人工错误的概率。
为了解决上述问题,本发明的技术方案是:一种安卓APP应用包批量带安全签名的自动化打包方法,该方法包括以下步骤:
步骤S1:将资源文件打包生成打包好的资源文件和R.java文件;
步骤S2:将工程源码文件编译成对应的class文件;
步骤S3:将所有的class文件转化成classes.dex文件;
步骤S4:将所述打包后的资源文件和所述的classes.dex文件打包生成apk;
步骤S5:对apk文件进行签名;
步骤S6:对签名后的apk文件进行对齐处理;
步骤S7:形成统一的可执行文件。
进一步的,所述的资源文件包括Resource文件、Assets文件、AndroidManifest.xml文件和Android基础类库。
进一步的,所述的打包好的资源文件为bin目录中的resources.ap_文件。
进一步的,所述的步骤S1:当android工程使用到aidl时,aidl工具处理aidl文件,生成对应的java文件。
进一步的,所述的步骤S1的具体方法为:
步骤S11:通过aapt工具调用了buildResource()函数检查AndroidManifest.xml的合法性;
步骤S12:通过aapt工具调用makeFileResource()函数对res目录下的资源子目录进行处理;
步骤S13:通过aapt工具调用compileResourceFile()函数编译res与asserts目录下的资源并生成resources.arsc文件;所述compileResourceFile()函数调用parseAndAddEntry()函数生成R.java文件;
步骤S14:通过aapt工具调用compileXmlfile()函数,将res目录的子目录下的xml文件编译成为AndroidManifest.xml文件;
步骤S15:将所有资源与编译生成的resorces.arsc文件以及所述的AndroidManifest.xml文件打包压缩成resources.ap_文件。
进一步的,所述的工程源码文件包括所述的R.java文件和所述aidl生成的.java文件。
进一步的,所述的步骤S4具体方法为通过apkbuilder工具调用android-sdk\tools\lib\sdklib.jar文件中的com.android.sdklib.build.ApkBuilderMain类,com.android.sdklib.build.ApkBuilderMain类的代码构建了一个ApkBuilder类,ApkBuilder类以包含resources.arsc的文件为基础生成apk文件;通过apkbuilder工具调用addSourceFolder()函数并且addSourceFolder()函数调用processFileForResource()函数往apk文件中添加资源;通过apkbuilder工具调用addResourceFromJar()函数往apk文件中写入依赖库;通过apkbuilder工具调用addNativeLibraries()函数Native库;通过apkbuilder工具调用sealApk()函数关闭apk文件。
进一步的,所述的apk文件签名的两种方法为:
(1)使用jdk中提供的jar signer工具对apk文件签名;
(2)使用android源码中提供的signapk工具对apk文件签名。
进一步的,所述的步骤S6的具体方法为首先通过zipalign工具调用verify()函数验证apk文件是否对齐,然后通过zipalign工具调用process()函数对apk文件进行对齐处理。
由于采用了上述技术方案,本发明与现有技术相比具有如下有益效果:
本发明的一种安卓APP应用包批量带安全签名的自动化打包方法。整个打包过程不再需要人工手动参与,与传统的打包方法对比,实现自动化操作过程,有效地提高了打包效率,降低了人工出错的概率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1的安卓APP应用包批量带安全签名的自动化打包方法的流程图。
图2是本发明实施例2的安卓APP应用包批量带安全签名的自动化打包方法的流程图。
图3是本发明步骤S1的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例和附图,对本发明实施例中的技术方案进行清楚、完整地描述。需要说明的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图说明本发明的一种具体实施方式。
实施例1
实施例1为android工程没有使用到aidl的情况。
如图1所示,一种安卓APP应用包批量带安全签名的自动化打包方法,该方法包括以下步骤:
步骤S1:将资源文件打包生成打包好的资源文件和R.java文件;
所述R.java文件在gen目录中;所述步骤S1使用的工具为aapt工具,aidl工具的作用为解析接口定义文件并生成对应的java代码供程序调用;
步骤S2:将工程源码文件编译成对应的class文件;
所述步骤S2使用的工具为javac工具,通过javac工具调用了javac编译工程src目录下所有的java源文件;所述class文件位于工程的bin\classes目录下;所述工程源码文件编译过程是基于android SDK开发的,实际开发过程中,可能会使用android NDK来编译native代码并且编译C/C++代码;
步骤S3:将所有的class文件转化成classes.dex文件;
所述步骤S3使用的工具为dx工具,dx工具主要的工作是将java字节码转换为dalvik字节码、压缩常量池、消除冗余信息等;所述class文件包括AIDL生成的.class文件、R生成的.class文件和库文件(.jar文件),class文件转化依赖库文件但是不对库文件进行处理;所述classes.dex文件在android系统dalvik虚拟机中生成;
步骤S4:将所述打包后的资源文件和所述的classes.dex文件打包生成apk;
所述步骤S4使用的工具为apkbuilder工具,apkbuilder工具是一个脚本文件,apkbuilder工具实际调用的是android-sdk\tools\lib\sdklib.jar文件中的com.android.sdklib.build.ApkBuilderMain类;
步骤S5:对apk文件进行签名;
android的应用程序需要签名才能在android设备上安装,签名apk文件有两种情况:一种是在调试程序时进行签名,使用eclipse开发android程序时,在编译调试程序时会自己使用一个debug.keystore对apk进行签名;另一种是打包发布时对程序进行签名,这种情况下需要提供一个符合android开发文档中要求的签名文件;
步骤S6:对签名后的apk文件进行对齐处理;
所述步骤S6使用的工具为zipalign工具,zipalign工具位于android-sdk\tools目录,zipalign工具的源码位于android系统源码的build\tools\zipalign目录,源码的主要工作是将apk包进行对齐处理,使apk包中的所有资源文件距离文件起始偏移为4字节整数倍,这样通过内存映射访问apk文件时速度会更快;
步骤S7:形成统一的可执行文件;一个统一的可执行文件,批量执行,简化执行步骤;
步骤S7所使用的工具为shell脚本,shell脚本的输入为步骤S1至步骤S6的执行命令。
进一步的,所述的资源文件包括Resource文件、Assets文件、AndroidManifest.xml文件和Android基础类库;
所述Resource文件为工程中res中的文件;Assets文件相当于另外一种资源,这种资源Android系统并不像对res中的文件那样优化它;AndroidManifest.xml文件提供了包名,因为生成R.java文件需要包名;Android基础类库包括Android.jar文件。
进一步的,所述的打包好的资源文件为bin目录中的resources.ap_文件。
如图3所示,所述的步骤S1的具体方法为:
步骤S11:所述aapt工具调用了buildResource()函数检查AndroidManifest.xml的合法性;
步骤S12:aapt工具调用makeFileResource()函数对res目录下的资源子目录进行处理;处理的内容包括资源文件名的合法性检查,向资源表table添加条目等;
步骤S13:aapt工具调用compileResourceFile()函数编译res与asserts目录下的资源并生成resources.arsc文件;所述compileResourceFile()函数调用parseAndAddEntry()函数生成R.java文件;
compileResourceFile()函数位于aapt源码目录的ResourceTable.cpp文件中;
步骤S14:aapt工具调用compileXmlfile()函数,将res目录的子目录下的xml文件编译成为AndroidManifest.xml文件;
步骤S15:将所有资源与编译生成的resorces.arsc文件以及所述的AndroidManifest.xml文件打包压缩成resources.ap_文件;
如果使用Ant工具命令行编译则会生长成于build.xml中“project name”指定的属性同名的ap_文件。
进一步的,所述的工程源码文件包括所述的R.java文件和所述aidl生成的.java文件;工程源码文件依赖于库文件(.jar文件)。
进一步的,所述的步骤S4具体方法为为apkbuilder工具调用android-sdk\tools\lib\sdklib.jar文件中的com.android.sdklib.build.ApkBuilderMain类,com.android.sdklib.build.ApkBuilderMain类的代码构建了一个ApkBuilder类,ApkBuilder类以包含resources.arsc的文件为基础生成apk文件;apkbuilder工具调用addSourceFolder()函数并且addSourceFolder()函数调用processFileForResource()函数往apk文件中添加资源;apkbuilder工具调用addResourceFromJar()函数往apk文件中写入依赖库;apkbuilder工具调用addNativeLibraries()函数Native库;apkbuilder工具调用sealApk()函数关闭apk文件;
com.android.sdklib.build.ApkBuilderMain类的代码实现位于android系统源码的sdk\sdkmanager\libs\sdklib\src\com\android\sdklib\build\ApkBuilderMain.java文件;所述apk文件一般为ap_结尾;所述添加资源的处理内容包括res目录与asserts目录中的文件;所述Native库时通过android NDK编译生成的so或bin文件;
进一步的,所述的apk文件签名的两种方法为:
(1)使用jdk中提供的jar signer工具对apk文件签名;
(2)使用android源码中提供的signapk工具对apk文件签名。
进一步的,所述的步骤S6的具体方法为首先zipalign工具调用verify()函数验证apk文件是否对齐,然后zipalign工具调用process()函数对apk文件进行对齐处理。
本发明的一种安卓APP应用包批量带安全签名的自动化打包方法。整个打包过程不再需要人工手动参与,与传统的打包方法对比,实现自动化操作过程,有效地提高了打包效率,降低了人工出错的概率。
实施例2
实施例2为android工程使用到aidl的情况。
如图2所示,一种安卓APP应用包批量带安全签名的自动化打包方法,该方法包括以下步骤:
步骤S1:将资源文件打包生成打包好的资源文件和R.java文件;aidl工具处理aidl文件,生成对应的java文件;
所述R.java文件在gen目录中;所述步骤S1使用的工具为aapt工具,aidl工具的作用为解析接口定义文件并生成对应的java代码供程序调用所述的aidl文件依赖于源码文件和framework.aidl文件;
步骤S2:将工程源码文件编译成对应的class文件;
所述步骤S2使用的工具为javac工具,通过javac工具调用了javac编译工程src目录下所有的java源文件;所述class文件位于工程的bin\classes目录下;所述工程源码文件编译过程是基于android SDK开发的,实际开发过程中,可能会使用android NDK来编译native代码并且编译C/C++代码;
步骤S3:将所有的class文件转化成classes.dex文件;
所述步骤S3使用的工具为dx工具,dx工具主要的工作是将java字节码转换为dalvik字节码、压缩常量池、消除冗余信息等;所述class文件包括AIDL生成的.class文件、R生成的.class文件和库文件(.jar文件),class文件转化依赖库文件但是不对库文件进行处理;所述classes.dex文件在android系统dalvik虚拟机中生成;
步骤S4:将所述打包后的资源文件和所述的classes.dex文件打包生成apk;
所述步骤S4使用的工具为apkbuilder工具,apkbuilder工具是一个脚本文件,apkbuilder工具实际调用的是android-sdk\tools\lib\sdklib.jar文件中的com.android.sdklib.build.ApkBuilderMain类;
步骤S5:对apk文件进行签名;
android的应用程序需要签名才能在android设备上安装,签名apk文件有两种情况:一种是在调试程序时进行签名,使用eclipse开发android程序时,在编译调试程序时会自己使用一个debug.keystore对apk进行签名;另一种是打包发布时对程序进行签名,这种情况下需要提供一个符合android开发文档中要求的签名文件;
步骤S6:对签名后的apk文件进行对齐处理;
所述步骤S6使用的工具为zipalign工具,zipalign工具位于android-sdk\tools目录,zipalign工具的源码位于android系统源码的build\tools\zipalign目录,源码的主要工作是将apk包进行对齐处理,使apk包中的所有资源文件距离文件起始偏移为4字节整数倍,这样通过内存映射访问apk文件时速度会更快;
步骤S7:形成统一的可执行文件;一个统一的可执行文件,批量执行,简化执行步骤;
步骤S7所使用的工具为shell脚本,shell脚本的输入为步骤S1至步骤S6的执行命令。
进一步的,所述的资源文件包括Resource文件、Assets文件、AndroidManifest.xml文件和Android基础类库;
所述Resource文件为工程中res中的文件;Assets文件相当于另外一种资源,这种资源Android系统并不像对res中的文件那样优化它;AndroidManifest.xml文件提供了包名,因为生成R.java文件需要包名;Android基础类库包括Android.jar文件。
进一步的,所述的打包好的资源文件为bin目录中的resources.ap_文件。
如图3所示,所述的步骤S1的具体方法为:
步骤S11:所述aapt工具调用了buildResource()函数检查AndroidManifest.xml的合法性;
步骤S12:aapt工具调用makeFileResource()函数对res目录下的资源子目录进行处理;处理的内容包括资源文件名的合法性检查,向资源表table添加条目等;
步骤S13:aapt工具调用compileResourceFile()函数编译res与asserts目录下的资源并生成resources.arsc文件;所述compileResourceFile()函数调用parseAndAddEntry()函数生成R.java文件;
compileResourceFile()函数位于aapt源码目录的ResourceTable.cpp文件中;
步骤S14:aapt工具调用compileXmlfile()函数,将res目录的子目录下的xml文件编译成为AndroidManifest.xml文件;
步骤S15:将所有资源与编译生成的resorces.arsc文件以及所述的AndroidManifest.xml文件打包压缩成resources.ap_文件;
如果使用Ant工具命令行编译则会生长成于build.xml中“project name”指定的属性同名的ap_文件。
进一步的,所述的工程源码文件包括所述的R.java文件和所述aidl生成的.java文件;工程源码文件依赖于库文件(.jar文件)。
进一步的,所述的步骤S4具体方法为为apkbuilder工具调用android-sdk\tools\lib\sdklib.jar文件中的com.android.sdklib.build.ApkBuilderMain类,com.android.sdklib.build.ApkBuilderMain类的代码构建了一个ApkBuilder类,ApkBuilder类以包含resources.arsc的文件为基础生成apk文件;apkbuilder工具调用addSourceFolder()函数并且addSourceFolder()函数调用processFileForResource()函数往apk文件中添加资源;apkbuilder工具调用addResourceFromJar()函数往apk文件中写入依赖库;apkbuilder工具调用addNativeLibraries()函数Native库;apkbuilder工具调用sealApk()函数关闭apk文件;
com.android.sdklib.build.ApkBuilderMain类的代码实现位于android系统源码的sdk\sdkmanager\libs\sdklib\src\com\android\sdklib\build\ApkBuilderMain.java文件;所述apk文件一般为ap_结尾;所述添加资源的处理内容包括res目录与asserts目录中的文件;所述Native库时通过android NDK编译生成的so或bin文件;
进一步的,所述的apk文件签名的两种方法为:
(1)使用jdk中提供的jar signer工具对apk文件签名;
(2)使用android源码中提供的signapk工具对apk文件签名。
进一步的,所述的步骤S6的具体方法为首先zipalign工具调用verify()函数验证apk文件是否对齐,然后zipalign工具调用process()函数对apk文件进行对齐处理。
本发明的一种安卓APP应用包批量带安全签名的自动化打包方法。整个打包过程不再需要人工手动参与,与传统的打包方法对比,实现自动化操作过程,有效地提高了打包效率,降低了人工出错的概率。
以上所述具体实施方式仅表达了本发明的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (9)
1.一种安卓APP应用包批量带安全签名的自动化打包方法,其特征在于,该方法包括以下步骤:
步骤S1:将资源文件打包生成打包好的资源文件和R.java文件;
步骤S2:将工程源码文件编译成对应的class文件;
步骤S3:将所有的class文件转化成classes.dex文件;
步骤S4:将所述打包后的资源文件和所述的classes.dex文件打包生成apk;
步骤S5:对apk文件进行签名;
步骤S6:对签名后的apk文件进行对齐处理;
步骤S7:形成统一的可执行文件。
2.根据权利要求1所述的安卓APP应用包批量带安全签名的自动化打包方法,其特征在于所述的资源文件包括Resource文件、Assets文件、AndroidManifest.xml文件和Android基础类库。
3.根据权利要求1所述的安卓APP应用包批量带安全签名的自动化打包方法,其特征在于所述的打包好的资源文件为bin目录中的resources.ap_文件。
4.根据权利要求1所述的安卓APP应用包批量带安全签名的自动化打包方法,其特征在于所述的步骤S1:当android工程使用到aidl时,aidl工具处理aidl文件,生成对应的java文件。
5.根据权利要求1所述的安卓APP应用包批量带安全签名的自动化打包方法,其特征在于所述的步骤S1的具体方法为:
步骤S11:通过aapt工具调用了buildResource()函数检查AndroidManifest.xml的合法性;
步骤S12:通过aapt工具调用makeFileResource()函数对res目录下的资源子目录进行处理;
步骤S13:通过aapt工具调用compileResourceFile()函数编译res与asserts目录下的资源并生成resources.arsc文件;所述compileResourceFile()函数调用parseAndAddEntry()函数生成R.java文件;
步骤S14:通过aapt工具调用compileXmlfile()函数,将res目录的子目录下的xml文件编译成为AndroidManifest.xml文件;
步骤S15:将所有资源与编译生成的resorces.arsc文件以及所述的AndroidManifest.xml文件打包压缩成resources.ap_文件。
6.根据权利要求1所述的安卓APP应用包批量带安全签名的自动化打包方法,其特征在于所述的工程源码文件包括所述的R.java文件和所述aidl生成的.java文件。
7.根据权利要求1所述的安卓APP应用包批量带安全签名的自动化打包方法,其特征在于所述的步骤S4具体方法为通过apkbuilder工具调用android-sdk\tools\lib\sdklib.jar文件中的com.android.sdklib.build.ApkBuilderMain类,com.android.sdklib.build.ApkBuilderMain类的代码构建了一个ApkBuilder类,ApkBuilder类以包含resources.arsc的文件为基础生成apk文件;通过apkbuilder工具调用addSourceFolder()函数并且addSourceFolder()函数调用processFileForResource()函数往apk文件中添加资源;通过apkbuilder工具调用addResourceFromJar()函数往apk文件中写入依赖库;通过apkbuilder工具调用addNativeLibraries()函数Native库;通过apkbuilder工具调用sealApk()函数关闭apk文件。
8.根据权利要求1所述的安卓APP应用包批量带安全签名的自动化打包方法,其特征在于所述的apk文件签名的两种方法为:
(1)使用jdk中提供的jar signer工具对apk文件签名;
(2)使用android源码中提供的signapk工具对apk文件签名。
9.根据权利要求1所述的安卓APP应用包批量带安全签名的自动化打包方法,其特征在于所述的步骤S6的具体方法为首先通过zipalign工具调用verify()函数验证apk文件是否对齐,然后通过zipalign工具调用process()函数对apk文件进行对齐处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811609975.9A CN109857447A (zh) | 2018-12-27 | 2018-12-27 | 一种安卓app应用包批量带安全签名的自动化打包方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811609975.9A CN109857447A (zh) | 2018-12-27 | 2018-12-27 | 一种安卓app应用包批量带安全签名的自动化打包方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109857447A true CN109857447A (zh) | 2019-06-07 |
Family
ID=66892587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811609975.9A Pending CN109857447A (zh) | 2018-12-27 | 2018-12-27 | 一种安卓app应用包批量带安全签名的自动化打包方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857447A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597514A (zh) * | 2020-04-15 | 2020-08-28 | 卓望数码技术(深圳)有限公司 | 安卓源代码保护方法和装置 |
CN115935399A (zh) * | 2023-01-05 | 2023-04-07 | 南通昌硕信息科技有限公司 | 一种基于人工智能的手机app打包处理系统 |
-
2018
- 2018-12-27 CN CN201811609975.9A patent/CN109857447A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597514A (zh) * | 2020-04-15 | 2020-08-28 | 卓望数码技术(深圳)有限公司 | 安卓源代码保护方法和装置 |
CN111597514B (zh) * | 2020-04-15 | 2023-10-13 | 卓望数码技术(深圳)有限公司 | 安卓源代码保护方法和装置 |
CN115935399A (zh) * | 2023-01-05 | 2023-04-07 | 南通昌硕信息科技有限公司 | 一种基于人工智能的手机app打包处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7299382B2 (en) | System and method for automatic test case generation | |
Dietrich et al. | Broken promises: An empirical study into evolution problems in java programs caused by library upgrades | |
CN102880456B (zh) | 插件加载方法及系统 | |
US7506175B2 (en) | File language verification | |
CN106844153B (zh) | 应用程序运行监控方法、装置以及终端 | |
Cerny et al. | On code analysis opportunities and challenges for enterprise systems and microservices | |
US8656364B1 (en) | System and method for enforcement of business rules using static analysis | |
US20210224062A1 (en) | Systems and Methods for Software Documentation and Code Generation Management | |
CN112100078A (zh) | 一种生成接口测试用例的方法、装置及设备 | |
US10866803B2 (en) | Generating interaction libraries | |
CN107508846B (zh) | 应用客户端的更新方法和系统及终端设备 | |
CN111831316A (zh) | 一种软件开发包更新方法及装置 | |
CN117093286B (zh) | 插件生成方法、装置、设备及计算机可读存储介质 | |
CN107844410A (zh) | 一种分布式集群系统的调试方法和装置 | |
CN109857447A (zh) | 一种安卓app应用包批量带安全签名的自动化打包方法 | |
Williams et al. | Guided feature identification and removal for resource-constrained firmware | |
Riganelli et al. | Controlling interactions with libraries in android apps through runtime enforcement | |
CN111008017A (zh) | 一种基于oclint的待提交文件预审方法及相关组件 | |
Cassel et al. | Nodemedic: End-to-end analysis of node. js vulnerabilities with provenance graphs | |
Soto-Valero et al. | Automatic specialization of third-party java dependencies | |
CN109753767B (zh) | 基于区块链的软件分发及更新方法和装置、服务器、客户端 | |
Song et al. | Efficiently Trimming the Fat: Streamlining Software Dependencies with Java Reflection and Dependency Analysis | |
CN110413268A (zh) | 一种中间件验证方法、存储介质、设备及系统 | |
CN111625830A (zh) | 数据处理方法、数据展示方法、系统及设备 | |
CN109492354A (zh) | 一种混淆代码的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190607 |
|
WD01 | Invention patent application deemed withdrawn after publication |