CN105278969A - 一种应用程序的代码验证方法及*** - Google Patents
一种应用程序的代码验证方法及*** Download PDFInfo
- Publication number
- CN105278969A CN105278969A CN201410267539.3A CN201410267539A CN105278969A CN 105278969 A CN105278969 A CN 105278969A CN 201410267539 A CN201410267539 A CN 201410267539A CN 105278969 A CN105278969 A CN 105278969A
- Authority
- CN
- China
- Prior art keywords
- various different
- apk
- different model
- android terminal
- application program
- 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
本发明实施例涉及互联网技术领域,公开了一种应用程序的代码验证方法及***,该方法包括:获取应用程序的代码片段;将所述应用程序的代码片段编译打包成安卓安装包APK;通过程序安装命令传输所述APK给已连接的各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端安装所述APK;传输程序启动命令给所述各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端运行已安装的所述APK;传输日志获取命令给所述各种不同型号的安卓终端,并接收所述各种不同型号的安卓终端响应所述日志获取命令传输过来的运行已安装的所述APK获得的日志信息,所述日志信息包括运行已安装的所述APK获得的运行结果。实施本发明实施例,能够有效地提高应用程序的代码验证效率,减少大量的手工重复工作。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种应用程序的代码验证方法及***。
背景技术
目前,市场存在各种不同型号的Android(安卓)手机,当开发人员开发出某一应用程序之后,开发人员需要收集各种不同型号的Android手机,并以手工方式依次将开发出的应用程序安装到各种不同型号的Android手机上运行,以验证同一应用程序的代码在各种不同型号的Android手机上的运行果是否相同。而在实践中发现,当Android手机的型号越多时,上述验证方式的效率越低,并且手工重复工作非常多。
发明内容
本发明实施例公开了一种应用程序的代码验证方法及***,能够有效地提高应用程序的代码验证效率,减少大量的手工重复工作。
本发明实施例第一方面公开了一种应用程序的代码验证方法,包括:
获取应用程序的代码片段;
将所述应用程序的代码片段编译打包成安卓安装包(AndroidPackage,APK);
通过程序安装命令传输所述APK给已连接的各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端安装所述APK;
传输程序启动命令给所述各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端运行已安装的所述APK;
传输日志获取命令给所述各种不同型号的安卓终端,并接收所述各种不同型号的安卓终端响应所述日志获取命令传输过来的运行已安装的所述APK获得的日志信息,所述日志信息包括运行已安装的所述APK获得的运行结果。
本发明实施例一种应用程序的代码验证***,其特征在于,包括:
获取单元,用于获取应用程序的代码片段;
编译打包单元,用于将所述应用程序的代码片段编译打包成安卓安装包APK;
通讯单元,用于通过程序安装命令传输所述APK给已连接的各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端安装所述APK;
所述通讯单元,还用于传输程序启动命令给所述各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端运行已安装的所述APK;
所述通讯单元,还用于传输日志获取命令给所述各种不同型号的安卓终端,并接收所述各种不同型号的安卓终端响应所述日志获取命令传输过来的运行已安装的所述APK获得的日志信息,所述日志信息包括运行已安装的所述APK获得的运行结果。
本发明实施例中,在获取应用程序的代码片段之后,可以通过程序安装命令将APK统一传输给已连接的各种不同型号的Android终端,以触发各种不同型号的Android终端安装该APK,并且可以统一传输程序启动命令给各种不同型号的Android终端,以触发各种不同型号的Android终端运行已安装的该APK,并且统一传输日志获取命令给各种不同型号的Android终端,并接收各种不同型号的Android终端响应该日志获取命令传输过来的运行已安装的该APK获得的日志信息,从而可以从日志信息中获悉各种不同型号的Android终端运行已安装的该APK获得的运行结果。可见,本发明实施例可以自动地将开发出的应用程序安装到各种不同型号的Android终端上进行验证,可以有效地提高应用程序的代码验证效率,减少大量的手工重复工作。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种应用程序的代码验证方法的流程示意图;
图2是本发明实施例公开的另一种应用程序的代码验证方法的流程示意图;
图3是本发明实施例公开的一种应用程序的代码验证***的结构示意图;
图4是本发明实施例公开的另一种应用程序的代码验证***的结构示意图;
图5是本发明实施例公开的另一种应用程序的代码验证***的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种应用程序的代码验证方法及***,能够有效地提高应用程序的代码验证效率,减少大量的手工重复工作。以下分别进行详细说明。
请参阅图1,图1是本发明实施例公开的一种应用程序的代码验证方法的流程示意图。如图1所示,该方法可以包括以下步骤。
S101、获取应用程序的代码片段。
本发明实施例中,可以搭建一个应用程序的代码验证***,通过搭建的应用程序的代码验证***可以自动地将开发出的应用程序安装到各种不同型号的Android手机上进行验证,可以有效地提高应用程序的代码验证效率,减少大量的手工重复工作。
本发明实施例中,开发人员可以将需要验证的应用程序的代码提交到已搭建的应用程序的代码验证***,使得已搭建的应用程序的代码验证***可以获取到应用程序的代码片段。
S102、将应用程序的代码片段编译打包成APK。
本发明实施例中,已搭建的应用程序的代码验证***在获取到应用程序的代码片段之后,可以自动将应用程序的代码片段编译打包成APK。举例来说,应用程序的代码验证***将应用程序的代码片段编译打包成APK的方式可以包括以下步骤:
步骤1)、调用aapt工具根据应用程序的代码中包括的与资源相关的java码段生成资源索引文件。
其中,appt工具(即AndroidAssetPackagingTool)在AndroidSDK(安卓软件开发工具包)的build-tools目录下,appt工具可以查看、创建、更新ZIP格式的文档附件,也可将与资源相关的java码段生成资源索引文件(即R文件)。
步骤2)、调用javac工具根据该应用程序的代码中包括的所有java码段和该资源索引文件编译成class文件。
其中,javac工具是java语言编程编译器,javac工具可以将后缀名为.java的所有java码段以及该资源索引文件(后缀名为.java)编译成后缀名为.class的class文件。
步骤3)、调用dx工具根据该资源索引文件和该class文件生成dex文件。
其中,dx工具是AndroidSDK提供的将文件生成dex文件的工具。
步骤4)、调用aapt工具根据应用程序的代码中包括的非java码段打包成资源文件。
其中,非java码段打包成资源文件可以用于生成应用界面。
步骤5)、调用apkbuilder工具根据该资源文件和dex文件生成APK。
其中,apkbuilder工具是AndroidSDK提供的将指定的dex文件和资源文件打包为可以在Android终端上运行APK的工具。
步骤6)、调用jarsigner对APK进行签名。
其中,jarsigner工具JavaSDK提供的对可运行的压缩文件进行签名的工具。而对APK进行签名可以防止已安装的APK被恶意的第三方覆盖或替换掉。
S103、通过程序安装命令传输该APK给已连接的各种不同型号的Android终端,以触发各种不同型号的Android终端安装该APK。
本发明实施例中,已搭建的应用程序的代码验证***在将应用程序的代码片段编译打包成APK之后,可以自动地通过程序安装命令传输该APK给已连接的各种不同型号的Android终端,以触发各种不同型号的Android终端安装该APK。
本发明实施例中,已搭建的应用程序的代码验证***可以通过USB端口与各种不同型号的Android终端连接,或者,已搭建的应用程序的代码验证***可以通过无线方式(例如蓝牙、Wi-Fi)与各种不同型号的Android终端连接。
S104、传输程序启动命令给各种不同型号的安卓终端,以触发各种不同型号的Android终端运行已安装的该APK。
本发明实施例中,已搭建的应用程序的代码验证***在通过程序安装命令传输该APK给已连接的各种不同型号的Android终端,以触发各种不同型号的Android终端安装该APK之后,可以自动地传输程序启动命令给各种不同型号的安卓终端,以触发各种不同型号的Android终端运行已安装的该APK。
S105、传输日志获取命令给各种不同型号的Android终端,并接收各种不同型号的Android终端响应该日志获取命令传输过来的运行已安装的该APK获得的日志信息,该日志信息包括运行已安装的该APK获得的运行结果。
本发明实施例中,已搭建的应用程序的代码验证***在传输程序启动命令给各种不同型号的安卓终端,以触发各种不同型号的Android终端运行已安装的该APK之后,可以自动地传输日志获取命令给各种不同型号的Android终端,并接收各种不同型号的Android终端响应该日志获取命令传输过来的运行已安装的该APK获得的包括运行结果的日志信息。
作为一种可选的实施方式,在图1所描述的方法中,已搭建的应用程序的代码验证***在传输程序启动命令给各种不同型号的Android终端,以触发各种不同型号的Android终端运行已安装的该APK之后,还可以包括执行以下步骤,即:
传输截屏获取命令给各种不同型号的Android终端,并接收各种不同型号的Android终端响应该截屏获取命令传输过来的运行已安装的该APK获得的应用界面的屏幕截图。
作为一种可选的实施方式,在图1所描述的方法中,已搭建的应用程序的代码验证***还可以执行以下步骤,即:
输出运行结果和屏幕截图。
其中,图1所描述的方法可以自动地将开发出的应用程序安装到各种不同型号的Android终端上进行验证,可以有效地提高应用程序的代码验证效率,减少大量的手工重复工作。
请参阅图2,图2是本发明实施例公开的另一种应用程序的代码验证方法的流程示意图。在图2所描述的方法中,预先搭建好应用程序的代码验证***,并由该代码验证***执行本发明实施例公开的应用程序的代码验证方法。如图2所示,该方法可以包括以下步骤。
S201、代码验证***获取应用程序的代码片段。
本发明实施例中,开发人员可以将需要验证的应用程序的代码提交到代码验证***,使得代码验证***可以获取到应用程序的代码片段。
S202、代码验证***将应用程序的代码片段编译打包成APK。
本发明实施例中,代码验证***将应用程序的代码片段编译打包成APK的方式可以包括以下步骤:
步骤1)、调用aapt工具根据应用程序的代码中包括的与资源相关的java码段生成资源索引文件。
其中,appt工具(即AndroidAssetPackagingTool)在AndroidSDK(安卓软件开发工具包)的build-tools目录下,appt工具可以查看、创建、更新ZIP格式的文档附件,也可将与资源相关的java码段生成资源索引文件(即R文件)。
步骤2)、调用javac工具根据该应用程序的代码中包括的所有java码段和该资源索引文件编译成class文件。
其中,javac工具是java语言编程编译器,javac工具可以将后缀名为.java的所有java码段以及该资源索引文件(后缀名为.java)编译成后缀名为.class的class文件。
步骤3)、调用dx工具根据该资源索引文件和该class文件生成dex文件。
其中,dx工具是AndroidSDK提供的将文件生成dex文件的工具。
步骤4)、调用aapt工具根据应用程序的代码中包括的非java码段打包成资源文件。
其中,非java码段打包成资源文件可以用于生成应用界面。
步骤5)、调用apkbuilder工具根据该资源文件和dex文件生成APK。
其中,apkbuilder工具是AndroidSDK提供的将指定的dex文件和资源文件打包为可以在Android终端上运行APK的工具。
步骤6)、调用jarsigner对APK进行签名。
其中,jarsigner工具JavaSDK提供的对可运行的压缩文件进行签名的工具。而对APK进行签名可以防止已安装的APK被恶意的第三方覆盖或替换掉。
S203、代码验证***通过程序安装命令adbpminstall传输该APK给已连接的各种不同型号的Android终端,以触发各种不同型号的Android终端安装该APK。
本发明实施例中,代码验证***可以通过USB端口与各种不同型号的Android终端连接,或者,代码验证***可以通过无线方式(例如蓝牙、Wi-Fi)与各种不同型号的Android终端连接。
S204、代码验证***传输程序启动命令adbamstart给各种不同型号的安卓终端,以触发各种不同型号的Android终端运行已安装的该APK。
S205、代码验证***传输日志获取命令adblogcat给各种不同型号的Android终端,并接收各种不同型号的Android终端响应adblogcat传输过来的运行已安装的该APK获得的日志信息,该日志信息包括运行已安装的该APK获得的运行结果。
本发明实施例中,已搭建的应用程序的代码验证***在传输程序启动命令给各种不同型号的安卓终端,以触发各种不同型号的Android终端运行已安装的该APK之后,可以自动地传输日志获取命令给各种不同型号的Android终端,并接收各种不同型号的Android终端响应该日志获取命令传输过来的运行已安装的该APK获得的包括运行结果的日志信息。
S206、代码验证***传输截屏获取命令adbscreencap给各种不同型号的Android终端,并接收各种不同型号的Android终端响应该截屏获取命令传输过来的运行已安装的该APK获得的应用界面的屏幕截图。
S207、代码验证***输出运行结果和屏幕截图。
其中,图2所描述的方法可以自动地将开发出的应用程序安装到各种不同型号的Android终端上进行验证,可以有效地提高应用程序的代码验证效率,减少大量的手工重复工作。
请参阅图3,图3是本发明实施例公开的一种应用程序的代码验证***的结构示意图。如图3所示,该代码验证***可以包括:
获取单元301,用于获取应用程序的代码片段;
编译打包单元302,用于将应用程序的代码片段编译打包成APK;
通讯单元303,用于通过程序安装命令传输该APK给已连接的各种不同型号的Android终端,以触发各种不同型号的Android终端安装该APK;
上述的通讯单元303,还用于传输程序启动命令给各种不同型号的Android终端,以触发各种不同型号的Android终端运行已安装的该APK;
上述的通讯单元303,还用于传输日志获取命令给各种不同型号的Android终端,并接收各种不同型号的Android终端响应日志获取命令传输过来的运行已安装的该APK获得的日志信息,该日志信息包括运行已安装的该APK获得的运行结果。
本发明实施例中,上述的通讯单元303还用于在传输程序启动命令给各种不同型号的Android终端,以触发各种不同型号的Android终端运行已安装的该APK之后,传输截屏获取命令给各种不同型号的Android终端,并接收各种不同型号的Android终端响应该截屏获取命令传输过来的运行已安装的该APK获得的应用界面的屏幕截图。
本发明实施例中,图3所示的代码验证***还可以包括:
输出单元304,用于输出运行结果和屏幕截图。
请并参阅图4,图4是本发明实施例公开的另一种应用程序的代码验证***的结构示意图。其中,图4所示的代码验证***是由图3所示的代码验证***进行优化得到的。在图4所示的代码验证***中,编译打包单元302可以包括:
第一子单元3021,用于调用aapt工具根据应用程序的代码中包括的与资源相关的java码段生成资源索引文件;
第二子单元3022,用于调用javac工具根据应用程序的代码中包括的所有java码段和该资源索引文件编译成class文件;
第三子单元3023,用于调用dx工具根据该资源索引文件和该class文件生成dex文件;
第四子单元3024,用于调用aapt工具根据应用程序的代码中包括的非java码段打包成资源文件;
第五子单元3025,用于调用apkbuilder工具根据该资源文件和该dex文件生成APK;
第六子单元3026,用于调用jarsigner对APK进行签名。
本发明实施例中,在图3、图4所描述的代码验证***中,通讯单元303传输截屏获取命令给各种不同型号的Android终端的方式具体为:
通讯单元303用于传输截屏获取命令adbscreencap给各种不同型号的Android终端。
本发明实施例中,在图3、图4所描述的代码验证***中,通讯单元303通过程序安装命令传输该APK给已连接的各种不同型号的Android终端,以触发各种不同型号的Android终端安装该APK的方式具体为:
通讯单元303用于通过程序安装命令adbpminstall传输该APK给已连接的各种不同型号的Android终端,以触发各种不同型号的Android终端安装该APK。
本发明实施例中,在图3、图4所描述的代码验证***中,通讯单元303传输程序启动命令给各种不同型号的Android终端,以触发各种不同型号的Android终端运行已安装的该APK的方式具体为:
通讯单元303用于传输程序启动命令adbamstart给各种不同型号的Android终端,以触发各种不同型号的Android终端运行已安装的该APK。
本发明实施例中,在图3、图4所描述的代码验证***中,通讯单元303传输日志获取命令给各种不同型号的Android终端的方式具体为:
通讯单元303用于传输日志获取命令adblogcat给各种不同型号的Android终端。
其中,图3、图4所描述的***可以自动地将开发出的应用程序安装到各种不同型号的Android终端上进行验证,可以有效地提高应用程序的代码验证效率,减少大量的手工重复工作。
请参阅图5,图5是本发明实施例公开的另一种应用程序的代码验证***的结构示意图。如图5所示,该应用程序的代码验证***500可以包括输入装置501、处理器502,存储器503以及输出装置504、通讯装置505以及通信总线506。其中,通信总线506用于实现这些组件之间的连接通信。其中,输入装置501可以包括键盘、USB端口、触摸屏、麦克风等,输出装置504可以包括显示屏。如图5所示,作为一种计算机存储介质的存储器503中可以包括操作***、网络通信模块、用户接口模块以及应用程序的代码验证程序。
在图5所示的***中,处理器502可以用于调用存储器503中存储的应用程序的代码验证程序,并执行以下操作:
由经输入装置501获取应用程序的代码片段;
将应用程序的代码片段编译打包成APK;
由经通讯装置505以程序安装命令传输APK给已连接的各种不同型号的Android终端,以触发各种不同型号的Android终端安装APK;
由经通讯装置505传输程序启动命令给各种不同型号的Android终端,以触发各种不同型号的Android终端运行已安装的APK;
由经通讯装置505传输日志获取命令给各种不同型号的Android终端,并由经通讯装置505接收各种不同型号的Android终端响应日志获取命令传输过来的运行已安装的APK获得的日志信息,该日志信息包括运行已安装的APK获得的运行结果。
本发明实施例中,处理器502由经通讯装置505传输程序启动命令给各种不同型号的Android终端,以触发各种不同型号的Android终端运行已安装的APK之后,还执行以下步骤:
由经通讯装置505传输截屏获取命令给各种不同型号的Android终端,并由经通讯装置505接收各种不同型号的Android终端响应截屏获取命令传输过来的运行已安装的APK获得的应用界面的屏幕截图。
在图5所示的***中,处理器502调用存储器503中存储的应用程序的代码验证程序还可以执行以下操作:
由经输出装置504输出运行结果和屏幕截图。
本发明实施例中,处理器502将应用程序的代码片段编译打包成安卓安装包APK可以包括:
调用aapt工具根据应用程序的代码中包括的与资源相关的java码段生成资源索引文件;
以及,调用javac工具根据应用程序的代码中包括的所有java码段和该资源索引文件编译成class文件;
以及,调用dx工具根据该资源索引文件和该class文件生成dex文件;
以及,调用aapt工具根据应用程序的代码中包括的非java码段打包成资源文件;
以及,调用apkbuilder工具根据该资源文件和该dex文件生成APK;
以及,调用jarsigner对APK进行签名。
本发明实施例中,处理器5025由经通讯装置505传输截屏获取命令给各种不同型号的Android终端包括:
处理器5025由经通讯装置505传输截屏获取命令adbscreencap给各种不同型号的Android终端。
本发明实施例中,处理器5025由经通讯装置505以程序安装命令传输APK给已连接的各种不同型号的Android终端,以触发各种不同型号的Android终端安装APK包括:
处理器5025由经通讯装置505以程序安装命令adbpminstall传输APK给已连接的各种不同型号的Android终端,以触发各种不同型号的Android终端安装APK。
本发明实施例中,处理器5025由经通讯装置505传输程序启动命令给各种不同型号的Android终端,以触发各种不同型号的Android终端运行已安装的APK包括:
处理器5025由经通讯装置505传输程序启动命令adbamstart给各种不同型号的Android终端,以触发各种不同型号的Android终端运行已安装的APK。
本发明实施例中,处理器5025由经通讯装置505传输日志获取命令给各种不同型号的Android终端包括:
处理器5025由经通讯装置505传输日志获取命令adblogcat给各种不同型号的Android终端。
其中,图5所描述的***可以自动地将开发出的应用程序安装到各种不同型号的Android终端上进行验证,可以有效地提高应用程序的代码验证效率,减少大量的手工重复工作。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-OnlyMemory,ROM)、随机存取器(RandomAccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例公开了一种应用程序的代码验证方法及***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种应用程序的代码验证方法,其特征在于,包括:
获取应用程序的代码片段;
将所述应用程序的代码片段编译打包成安卓安装包APK;
通过程序安装命令传输所述APK给已连接的各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端安装所述APK;
传输程序启动命令给所述各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端运行已安装的所述APK;
传输日志获取命令给所述各种不同型号的安卓终端,并接收所述各种不同型号的安卓终端响应所述日志获取命令传输过来的运行已安装的所述APK获得的日志信息,所述日志信息包括运行已安装的所述APK获得的运行结果。
2.根据权利要求1所述的方法,其特征在于,所述传输程序启动命令给所述各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端运行已安装的所述APK之后,所述方法还包括:
传输截屏获取命令给所述各种不同型号的安卓终端,并接收所述各种不同型号的安卓终端响应所述截屏获取命令传输过来的运行已安装的所述APK获得的应用界面的屏幕截图。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
输出所述运行结果和所述屏幕截图。
4.根据权利要求3所述的方法,其特征在于,所述将所述应用程序的代码片段编译打包成安卓安装包APK包括:
调用aapt工具根据所述应用程序的代码中包括的与资源相关的java码段生成资源索引文件;
以及,调用javac工具根据所述应用程序的代码中包括的所有java码段和所述资源索引文件编译成class文件;
以及,调用dx工具根据所述资源索引文件和所述class文件生成dex文件;
以及,调用aapt工具根据所述应用程序的代码中包括的非java码段打包成资源文件;
以及,调用apkbuilder工具根据所述资源文件和所述dex文件生成安卓安装包APK;
以及,调用jarsigner对所述APK进行签名。
5.根据权利要求2~4任一项所述的方法,其特征在于,所述传输截屏获取命令给所述各种不同型号的安卓终端包括:
传输截屏获取命令adbscreencap给所述各种不同型号的安卓终端。
6.根据权利要求1~4任一项所述的方法,其特征在于,所述通过程序安装命令传输所述APK给已连接的各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端安装所述APK包括:
所述通过程序安装命令adbpminstall传输所述APK给已连接的各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端安装所述APK。
7.根据权利要求1~4任一项所述的方法,其特征在于,所述传输程序启动命令给所述各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端运行已安装的所述APK包括:
传输程序启动命令adbamstart给所述各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端运行已安装的所述APK。
8.根据权利要求1~4任一项所述的方法,其特征在于,所述传输日志获取命令给所述各种不同型号的安卓终端包括:
传输日志获取命令adblogcat给所述各种不同型号的安卓终端。
9.一种应用程序的代码验证***,其特征在于,包括:
获取单元,用于获取应用程序的代码片段;
编译打包单元,用于将所述应用程序的代码片段编译打包成安卓安装包APK;
通讯单元,用于通过程序安装命令传输所述APK给已连接的各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端安装所述APK;
所述通讯单元,还用于传输程序启动命令给所述各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端运行已安装的所述APK;
所述通讯单元,还用于传输日志获取命令给所述各种不同型号的安卓终端,并接收所述各种不同型号的安卓终端响应所述日志获取命令传输过来的运行已安装的所述APK获得的日志信息,所述日志信息包括运行已安装的所述APK获得的运行结果。
10.根据权利要求9所述的***,其特征在于,所述通讯单元还用于在传输程序启动命令给所述各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端运行已安装的所述APK之后,传输截屏获取命令给所述各种不同型号的安卓终端,并接收所述各种不同型号的安卓终端响应所述截屏获取命令传输过来的运行已安装的所述APK获得的应用界面的屏幕截图。
11.根据权利要求10所述的***,其特征在于,所述***还包括:
输出单元,用于输出所述运行结果和所述屏幕截图。
12.根据权利要求11所述的***,其特征在于,所述编译打包单元包括:
第一子单元,用于调用aapt工具根据所述应用程序的代码中包括的与资源相关的java码段生成资源索引文件;
第二子单元,用于调用javac工具根据所述应用程序的代码中包括的所有java码段和所述资源索引文件编译成class文件;
第三子单元,用于调用dx工具根据所述资源索引文件和所述class文件生成dex文件;
第四子单元,用于调用aapt工具根据所述应用程序的代码中包括的非java码段打包成资源文件;
第五子单元,用于调用apkbuilder工具根据所述资源文件和所述dex文件生成安卓安装包APK;
第六子单元,用于调用jarsigner对所述APK进行签名。
13.根据权利要求10~12任一项所述的***,其特征在于,所述通讯单元传输截屏获取命令给所述各种不同型号的安卓终端的方式具体为:
所述通讯单元用于传输截屏获取命令adbscreencap给所述各种不同型号的安卓终端。
14.根据权利要求9~12任一项所述的***,其特征在于,所述通讯单元通过程序安装命令传输所述APK给已连接的各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端安装所述APK的方式具体为:
所述通讯单元用于通过程序安装命令adbpminstall传输所述APK给已连接的各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端安装所述APK。
15.根据权利要求9~12任一项所述的***,其特征在于,所述通讯单元传输程序启动命令给所述各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端运行已安装的所述APK的方式具体为:
所述通讯单元用于传输程序启动命令adbamstart给所述各种不同型号的安卓终端,以触发所述各种不同型号的安卓终端运行已安装的所述APK。
16.根据权利要求9~12任一项所述的***,其特征在于,所述通讯单元传输日志获取命令给所述各种不同型号的安卓终端的方式具体为:
所述通讯单元用于传输日志获取命令adblogcat给所述各种不同型号的安卓终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410267539.3A CN105278969A (zh) | 2014-06-16 | 2014-06-16 | 一种应用程序的代码验证方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410267539.3A CN105278969A (zh) | 2014-06-16 | 2014-06-16 | 一种应用程序的代码验证方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105278969A true CN105278969A (zh) | 2016-01-27 |
Family
ID=55148026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410267539.3A Pending CN105278969A (zh) | 2014-06-16 | 2014-06-16 | 一种应用程序的代码验证方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105278969A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648783A (zh) * | 2016-12-27 | 2017-05-10 | 北京奇虎科技有限公司 | 安装应用程序的方法、装置和移动终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090220072A1 (en) * | 2008-02-28 | 2009-09-03 | James Paul Schneider | Secure serial number generation |
CN103020531A (zh) * | 2012-12-06 | 2013-04-03 | 中国科学院信息工程研究所 | Android智能终端运行环境可信控制方法及*** |
CN103516559A (zh) * | 2012-12-13 | 2014-01-15 | Tcl集团股份有限公司 | 一种智能终端应用兼容性测试方法及*** |
CN103827881A (zh) * | 2011-03-09 | 2014-05-28 | 耶德托公司 | 用于设备操作***中的动态平台安全的方法和*** |
CN103839000A (zh) * | 2014-02-21 | 2014-06-04 | 北京奇虎科技有限公司 | 基于智能终端设备安装应用程序的方法与装置 |
-
2014
- 2014-06-16 CN CN201410267539.3A patent/CN105278969A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090220072A1 (en) * | 2008-02-28 | 2009-09-03 | James Paul Schneider | Secure serial number generation |
CN103827881A (zh) * | 2011-03-09 | 2014-05-28 | 耶德托公司 | 用于设备操作***中的动态平台安全的方法和*** |
CN103020531A (zh) * | 2012-12-06 | 2013-04-03 | 中国科学院信息工程研究所 | Android智能终端运行环境可信控制方法及*** |
CN103516559A (zh) * | 2012-12-13 | 2014-01-15 | Tcl集团股份有限公司 | 一种智能终端应用兼容性测试方法及*** |
CN103839000A (zh) * | 2014-02-21 | 2014-06-04 | 北京奇虎科技有限公司 | 基于智能终端设备安装应用程序的方法与装置 |
Non-Patent Citations (1)
Title |
---|
鉴客: "深入理解Android工程的编译过程", 《HTTPS://WWW.OSCHINA.NET/QUESTION/54100_33877》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648783A (zh) * | 2016-12-27 | 2017-05-10 | 北京奇虎科技有限公司 | 安装应用程序的方法、装置和移动终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8898662B2 (en) | Method and device for generating software installation packet | |
CN102917095B (zh) | 一种基于Android***的终端测试的方法及装置 | |
CN104281518A (zh) | 终端应用测试方法、装置、***、平台及移动终端 | |
CN103970559A (zh) | 一种基于Android***的设备加载方法及装置 | |
CN110471663B (zh) | 一种代码编译方法、装置及电子设备 | |
CN104268074A (zh) | 一种基于dcs***应用软件在线调试方法 | |
CN104239114A (zh) | 应用程序的编译处理方法及装置 | |
CN102662648A (zh) | 一种通讯终端的嵌入式软件开发仿真平台及其应用 | |
CN104035778A (zh) | 一种Android应用程序开发方法 | |
CN106020882A (zh) | 一种应用升级方法、智能终端及升级*** | |
CN102262684A (zh) | 移动终端网页页面生成方法及装置 | |
CN101800910B (zh) | 一种模拟***、pc侧模拟器及手机侧代理客户端 | |
CN103686821A (zh) | 根据移动终端唯一标识进行应用程序流量统计的控制方法 | |
CN102004654B (zh) | 软件安装方法和装置 | |
CN105573913A (zh) | 一种onu***中的程序调试方法及*** | |
CN101251823B (zh) | Dsp汇编语言程序验证方法及其装置 | |
CN112965731B (zh) | 基于Tinker的Flutter热更新方法、装置、设备及存储介质 | |
CN109753281B (zh) | 一种基于图形化编程的微电网能量管理策略可视化开发工具 | |
CN103927257A (zh) | 一种安卓行为事件的触发方法和触发装置 | |
CN105278969A (zh) | 一种应用程序的代码验证方法及*** | |
CN103631585A (zh) | 一种用于开发应用程序的方法及*** | |
CN108009084B (zh) | 一种混合移动应用的测试方法、装置及*** | |
CN106951288B (zh) | 一种热更资源的开发、应用方法及装置 | |
CN102402440A (zh) | 应用程序的推送提示方法和装置 | |
CN104133669A (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: 20160127 |
|
RJ01 | Rejection of invention patent application after publication |