CN112558986A - Apk安装包在线自动解析方法及系统 - Google Patents

Apk安装包在线自动解析方法及系统 Download PDF

Info

Publication number
CN112558986A
CN112558986A CN201910909923.1A CN201910909923A CN112558986A CN 112558986 A CN112558986 A CN 112558986A CN 201910909923 A CN201910909923 A CN 201910909923A CN 112558986 A CN112558986 A CN 112558986A
Authority
CN
China
Prior art keywords
installation package
analysis
apk installation
task
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
Application number
CN201910909923.1A
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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201910909923.1A priority Critical patent/CN112558986A/zh
Publication of CN112558986A publication Critical patent/CN112558986A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种APK安装包在线自动解析方法及系统,属于互联网技术领域。采用了该发明的APK安装包在线自动解析方法及系统,开发人员通过用户端创建解析任务,并上传APK安装包至云存储;然后向解析服务器提交解析任务;解析服务器从云存储自动获取APK安装包并在线解析,产生解析结果后再反馈至用户端显示。从而能够实时将所上传的APK安装包的解析结果展示给开发人员,以便根据提示进一步地选择后续的操作,使得开发者的接入成本降低,有效减轻了审核人员的负担,进而缩短了APK安装包的开发周期,改善了用户体验,且本发明的APK安装包在线自动解析方法及系统,其系统结构简单,方法实现过程简便,应用成本低,且应用范围相当广泛。

Description

APK安装包在线自动解析方法及系统
技术领域
本发明涉及互联网技术领域,特别涉及应用软件技术领域,具体是指一种APK安装包在线自动解析方法及系统。
背景技术
目前,应用软件开发者在传统的相关开放平台系统中,上传自己开发完成的APK安装包,例如上传游戏软件APK安装包后,并不能立即知道自己上传的安装包是否符合相关平台接入的规范。而需要依靠平台审核人员先下载安装包,然后手动解析,如果APK安装包有问题,只能由审查人员通知开发者修改后重新上传,这样不仅安装包审核效率非常低、用户的体验不佳、审核人员工作量巨大、而且进一步拉长了软件APK安装包的开发周期。
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种能够实时展现上传的APK安装包的解析结果,使开发者可以根据提示,选择后续的操作,降低开发者的接入成本,减轻审核人员的负担,缩短APK安装包的开发周期的APK安装包在线自动解析方法及系统。
为了实现上述的目的,本发明的APK安装包在线自动解析方法可应用于用户端;具体包括:
创建所述APK安装包的解析任务,上传所述的APK安装包;
将所述的解析任务递交至解析服务器;
从所述的解析服务器获取并显示由所述的解析服务器自动在线解析所述的APK安装包所产生的APK安装包解析结果。
该APK安装包在线自动解析方法中,所述的创建关于APK安装包的解析任务,上传所述的APK安装包,具体包括:
生成与APK安装包关联的任务订单;
在所述用户端的数据库中记录该任务的状态为“待上传”;
将APK安装包上传到云存储系统。
该APK安装包在线自动解析方法中,所述的用户端生成与APK安装包关联的任务订单,具体包括:
根据APK安装包的hash值判断是否存在与该APK安装包对应的已有解析任务,若是,则根据该hash值从所述的数据库获取并显示该APK安装包对应的解析结果;若否,则根据所述的hash值生成唯一的任务ID,并创建具有该任务ID的解析任务订单。
该APK安装包在线自动解析方法中,所述的将所述的解析任务递交至解析服务器,具体包括:
向所述的解析服务器提交所述的解析任务;
将记录于所述的数据库中的该任务的状态更新为“待解析”。
该APK安装包在线自动解析方法中,所述的从所述的解析服务器获取并显示由所述的解析服务器自动在线解析所述的APK安装包所产生的APK安装包解析结果,具体包括:
轮询所述的解析服务器;
获取由所述的解析服务器自动在线解析所述的APK安装包所产生的APK安装包解析结果;
根据所述的APK安装包解析结果将所述的数据库中的该任务的状态更新为“解析成功”或“解析失败”;
显示所述的APK安装包解析结果。
该APK安装包在线自动解析方法中,所述的用户端轮询所述的解析服务器,具体为:
根据所述的任务ID轮询所述的解析服务器。
本发明的APK安装包在线自动解析方法可应用于解析服务器;则该APK安装包在线自动解析方法包括:
从用户端接收到所述APK安装包的解析任务,并获取与所述解析任务对应的APK安装包;
在线解析所述APK安装包并生成APK安装包解析结果;将所述的APK安装包解析结果反馈至所述的用户端。
该APK安装包在线自动解析方法中,所述的从用户端接收到所述APK安装包的解析任务,并获取与所述解析任务对应的APK安装包,具体为:
运行定时任务获取所述的解析任务;
根据所述的解析任务从云存储系统获取所述的APK安装包。
该APK安装包在线自动解析方法中,所述的将所述的APK安装包解析结果反馈至所述的用户端,具体包括:
接受来自所述用户端的基于任务ID的轮询;
根据所述的任务ID进行数据校验,当通过该数据检验后,向所述的用户端反馈所述的APK安装包解析结果。
本发明还提供一种APK安装包在线自动解析系统,该系统至少包括通过网络连接的一个用户端以及一个解析服务器,所述的用户端及所述的解析服务器之间通过数据交互实现上述的APK安装包在线自动解析方法。
采用了该发明的APK安装包在线自动解析方法及系统,开发人员可通过用户端创建关于APK安装包的解析任务,并上传APK安装包至云存储;然后向解析服务器提交该解析任务;解析服务器从云存储自动获取APK安装包,并在线解析,产生解析结果后再反馈至用户端显示。从而能够实时将所上传的APK安装包的解析结果展示给开发人员,使开发人员可以根据提示进一步地选择后续的操作,使得开发者的接入成本降低,有效减轻了审核人员的负担,进而缩短了APK安装包的开发周期,改善了用户体验,且本发明的APK安装包在线自动解析方法及系统,其系统结构简单,方法实现过程简便,应用成本低,且应用范围相当广泛。
附图说明
图1为本发明的APK安装包在线自动解析方法的步骤流程图。
图2为本发明的APK安装包在线自动解析系统的结构示意图。
图3为本发明的APK安装包在线自动解析方法在实际应用中的流程示意图。
图4为本发明的APK安装包在线自动解析方法的流程框图。
图5利用为本发明的APK安装包在线自动解析方法在解析过程中前端显示“解析中”状态的界面示意图。
图6利用为本发明的APK安装包在线自动解析方法在解析完成后前端显示“解析成功”状态的界面示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图1所示,为本发明的APK安装包在线自动解析方法的步骤流程图。
在一种实施方式中,该APK安装包在线自动解析方法应用于用户端;包括:
创建所述APK安装包的解析任务,上传所述的APK安装包;
将所述的解析任务递交至解析服务器;
从所述的解析服务器获取并显示由所述的解析服务器自动在线解析所述的APK安装包所产生的APK安装包解析结果。
在优选的实施方式中,所述的创建关于APK安装包的解析任务,上传所述的APK安装包,具体包括:
所述用户端生成与APK安装包关联的任务订单;
在所述用户端的数据库中记录该任务的状态为“待上传”;
所述的用户端将APK安装包上传到云存储系统。
所述的将所述的解析任务递交至解析服务器,具体包括:
所述的用户端向所述的解析服务器提交所述的解析任务;
所述的用户端将记录于所述的数据库中的该任务的状态更新为“待解析”。
所述的从所述的解析服务器获取并显示由所述的解析服务器自动在线解析所述的APK安装包所产生的APK安装包解析结果,具体包括:
所述的用户端轮询所述的解析服务器;
所述的用户端获取由所述的解析服务器自动在线解析所述的APK安装包所产生的APK安装包解析结果;
所述的用户端根据所述的APK安装包解析结果将所述的数据库中的该任务的状态更新为“解析成功”或“解析失败”;
所述的用户端显示所述的APK安装包解析结果。
在进一步优选的实施方式中,所述的用户端生成与APK安装包关联的任务订单,具体包括:
所述的用户端根据APK安装包的hash值判断是否存在与该APK安装包对应的已有解析任务,若有,则根据该hash值从所述的数据库获取并显示该APK安装包对应的解析结果;若否,则根据所述的hash值生成唯一的任务ID,并创建具有该任务ID的解析任务订单。
在更进一步实施方式中,该APK安装包在线自动解析方法,其特征在于,所述的用户端轮询所述的解析服务器,具体为:
所述的用户端根据所述的任务ID轮询所述的解析服务器。
在另一种实施方式中,该APK安装包在线自动解析方法应用于解析服务器;所述APK安装包在线自动解析方法包括:
从用户端接收到所述APK安装包的解析任务,并获取与所述解析任务对应的APK安装包;
在线解析所述APK安装包并生成APK安装包解析结果;将所述的APK安装包解析结果反馈至所述的用户端。
在一种优选的实施方式中,所述的从用户端接收到所述APK安装包的解析任务,并获取与所述解析任务对应的APK安装包,具体为:
所述的解析服务器运行定时任务获取所述的解析任务;
所述的解析服务器根据所述的解析任务从云存储系统获取所述的APK安装包。
在更优选的实施方式中,所述的将所述的APK安装包解析结果反馈至所述的用户端,具体包括:
所述的解析服务器接受来自所述用户端的基于任务ID的轮询;
所述的解析服务器根据所述的任务ID进行数据校验,当通过该数据检验后,向所述的用户端反馈所述的APK安装包解析结果。
本发明还提供一种APK安装包在线自动解析系统,该系统如图2所示,至少包括通过网络连接的一个用户端(图示为3个或更多个)以及一个解析服务器,所述的用户端及所述的解析服务器之间通过数据交互实现上述各实施方式所述的APK安装包在线自动解析方法。
以下通过各实施例说明本发明的APK安装包在线自动解析方法在实际应用中的实现方式。
实施例1
为了实现APK的自动解析服务,能够快速地显示APK解析结果,从而不再需要通过审核人员手动去解析,提高APK审核效率,缩短APK的开发周期,本发明的APK安装包在线自动解析方法在实际应用中,如图3所示,可以包括以下步骤:
1、首先根据APK安装包的hash值生成一个唯一的task_id(任务ID),创建相应的解析任务订单,并在DB(数据库)中生成一条数据,该数据用来记录任务的状态,此时的初始状态为“待上传”;
2、上传APK安装包到云存储系统,待上传完成后,可以提交解析任务,此时更新解析任务的状态为“待解析”;
3、解析服务器运行定时任务,该定时任务用以获取未解析的解析任务,并可以同时过去多个未解析任务;在获得未解析任务后,将任务状态设置为“解析中”,并从云存储系统获取APK安装包,而后进行解析;
4、当解析完成,根据解析的结果将任务状态更新为“解析成功”或者“解析失败”,并记录解析结果到DB。
其中,APK安装包开发人员通过前端的用户端操作实现创建解析任务订单、上传APK安装包及提交解析任务的操作。在解析过程中,前端可实时显示任务状态,以便开发者了解解析进程。如图5所示,为解析过程中前端显示“解析中”状态的界面示意图。而图6所示为解析完成后前端显示“解析成功”状态的界面示意图。当解析任务完成后,用户端还可以通过轮询解析结果,获取APK解析信息,并返回前端展示。如果解析成功,则返回上传APK安装包符合平台规范的提示,如果解析失败,则对于不符合规范的APK安装包,也会给出相应的友好提示,帮助开发者快速地接入相关开放平台系统。
实施例2
与实施例1的区别在于,在步骤1之前,首先会由解析服务器根据APK安装包的hash值判断是否存在与该APK安装包对应的已有解析任务,若有,则可以根据该hash值从所述的数据库获取并显示该APK安装包对应的解析结果;若否,则根据所述的hash值生成唯一的任务ID,并创建具有该任务ID的解析任务订单。由此,可以避免对于已经进行过在线解析的APK安装包的重复解析。
实施例3
与实施例1、2的区别在于,用户端轮询解析结果时,解析服务器根据唯一的task_id(任务ID)进行数据校验,当通过该数据检验后,向所述的用户端反馈所述的解析结果。
如图4所示,解析服务器运行有应用服务和解析服务。所述的数据校验及hash值校验、数据组装等步骤通过应用服务实现,相关的APK安装包解析、APK解析信息(解析结果)的获取以及任务状态的更新通过解析服务实现。
实施例4
与上述实施例的不同点在于,解析服务器对于APK安装包的自动解析包括以下步骤:
获取云存储系统中的APK安装包之后,经过数据校验,并更新解析状态,开始解析过程。解析过程首先对APK安装包进行反编译获得smali文件,然后对该文件进行校验,参考平台的标准获得检验结果,以完成对于APK安装包的解析。
采用了该发明的APK安装包在线自动解析方法及系统,开发人员可通过用户端创建关于APK安装包的解析任务,并上传APK安装包至云存储;然后向解析服务器提交该解析任务;解析服务器从云存储自动获取APK安装包,并在线解析,产生解析结果后再反馈至用户端显示。从而能够实时将所上传的APK安装包的解析结果展示给开发人员,使开发人员可以根据提示进一步地选择后续的操作,使得开发者的接入成本降低,有效减轻了审核人员的负担,进而缩短了APK安装包的开发周期,改善了用户体验,且本发明的APK安装包在线自动解析方法及系统,其系统结构简单,方法实现过程简便,应用成本低,且应用范围相当广泛。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (10)

1.一种APK安装包在线自动解析方法,其特征在于,应用于用户端;所述APK安装包在线自动解析方法包括:
接收到任务创建请求,根据所述任务创建请求携带的所述APK安装包创建对应的解析任务,上传所述APK安装包;
将所述解析任务递交至解析服务器;
从所述的解析服务器获取并显示由所述的解析服务器自动在线解析所述APK安装包所产生的APK安装包解析结果。
2.根据权利要求1所述的APK安装包在线自动解析方法,其特征在于,根据所述任务创建请求携带的所述APK安装包创建对应的解析任务,上传所述的APK安装包,具体包括:
根据所述任务创建请求生成与所述APK安装包关联的任务订单;
在所述用户端的数据库中记录该任务的状态为“待上传”;
将所述APK安装包上传到云存储系统。
3.根据权利要求2所述的APK安装包在线自动解析方法,其特征在于,所述根据所述任务创建请求生成与所述APK安装包关联的任务订单,具体包括:
根据所述APK安装包的hash值判断是否存在与该APK安装包对应的已有解析任务;
若是,则根据该hash值从所述的数据库获取并显示该APK安装包对应的解析结果;
若否,则根据所述的hash值生成唯一的任务ID,并创建具有该任务ID的解析任务订单。
4.根据权利要求3所述的APK安装包在线自动解析方法,其特征在于,所述的将所述的解析任务递交至解析服务器,具体包括:
向所述的解析服务器提交所述的解析任务;
将记录于所述的数据库中的该任务的状态更新为“待解析”。
5.根据权利要求4所述的APK安装包在线自动解析方法,其特征在于,所述的从所述的解析服务器获取并显示由所述的解析服务器自动在线解析所述的APK安装包所产生的APK安装包解析结果,具体包括:
轮询所述解析服务器;
获取由所述的解析服务器自动在线解析所述的APK安装包所产生的APK安装包解析结果;
根据所述的APK安装包解析结果将所述的数据库中的该任务的状态更新为“解析成功”或“解析失败”;
显示所述的APK安装包解析结果。
6.根据权利要求5所述的APK安装包在线自动解析方法,其特征在于,所述的用户端轮询所述的解析服务器,具体为:
根据所述的任务ID轮询所述的解析服务器。
7.一种APK安装包在线自动解析方法,其特征在于,应用于解析服务器;所述APK安装包在线自动解析方法包括:
从用户端接收到所述APK安装包的解析任务,并获取与所述解析任务对应的APK安装包;
在线解析所述APK安装包并生成APK安装包解析结果;将所述的APK安装包解析结果反馈至所述的用户端。
8.根据权利要求7所述的APK安装包在线自动解析方法,其特征在于,所述的从用户端接收到所述APK安装包的解析任务,并获取与所述解析任务对应的APK安装包,具体为:
运行定时任务获取所述的解析任务;
根据所述的解析任务从云存储系统获取所述的APK安装包。
9.根据权利要求8所述的APK安装包在线自动解析方法,其特征在于,所述的将所述的APK安装包解析结果反馈至所述的用户端,具体包括:
接受来自所述用户端的基于任务ID的轮询;
根据所述的任务ID进行数据校验,当通过该数据检验后,向所述的用户端反馈所述的APK安装包解析结果。
10.一种APK安装包在线自动解析系统,其特征在于,该系统至少包括通过网络连接的一个用户端以及一个解析服务器,所述的用户端及所述的解析服务器之间通过数据交互实现权利要求1至9中任一项所述的APK安装包在线自动解析方法。
CN201910909923.1A 2019-09-25 2019-09-25 Apk安装包在线自动解析方法及系统 Pending CN112558986A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910909923.1A CN112558986A (zh) 2019-09-25 2019-09-25 Apk安装包在线自动解析方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910909923.1A CN112558986A (zh) 2019-09-25 2019-09-25 Apk安装包在线自动解析方法及系统

Publications (1)

Publication Number Publication Date
CN112558986A true CN112558986A (zh) 2021-03-26

Family

ID=75029586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910909923.1A Pending CN112558986A (zh) 2019-09-25 2019-09-25 Apk安装包在线自动解析方法及系统

Country Status (1)

Country Link
CN (1) CN112558986A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104200161A (zh) * 2014-08-05 2014-12-10 杭州安恒信息技术有限公司 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统
CN104537308A (zh) * 2015-01-23 2015-04-22 北京奇虎科技有限公司 提供应用安全审计功能的系统及方法
CN104766008A (zh) * 2014-01-07 2015-07-08 腾讯科技(深圳)有限公司 应用程序安装包的安全检测方法及服务器
CN105574367A (zh) * 2015-12-10 2016-05-11 北京奇虎科技有限公司 基于手机游戏的审核任务处理方法及装置、游戏平台系统
CN106648806A (zh) * 2017-01-03 2017-05-10 深圳铂睿智恒科技有限公司 应用服务器的应用安装包的分析方法、系统及应用服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104766008A (zh) * 2014-01-07 2015-07-08 腾讯科技(深圳)有限公司 应用程序安装包的安全检测方法及服务器
CN104200161A (zh) * 2014-08-05 2014-12-10 杭州安恒信息技术有限公司 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统
CN104537308A (zh) * 2015-01-23 2015-04-22 北京奇虎科技有限公司 提供应用安全审计功能的系统及方法
CN105574367A (zh) * 2015-12-10 2016-05-11 北京奇虎科技有限公司 基于手机游戏的审核任务处理方法及装置、游戏平台系统
CN106648806A (zh) * 2017-01-03 2017-05-10 深圳铂睿智恒科技有限公司 应用服务器的应用安装包的分析方法、系统及应用服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
耿皓: "Android APP安全性检测系统的设计与实现", ANDROID APP安全性检测系统的设计与实现, no. 2015, pages 52 - 54 *

Similar Documents

Publication Publication Date Title
CN111159049B (zh) 接口自动化测试方法及系统
US10204035B1 (en) Systems, methods and devices for AI-driven automatic test generation
WO2019100576A1 (zh) 自动化测试管理方法、装置、终端设备及存储介质
WO2016061762A1 (zh) 移动终端软件的多渠道sdk接入系统及方法
WO2018120965A1 (zh) 自动化测试方法、计算机可读存储介质及装置
CN110569159A (zh) 挡板生成方法、装置、设备及计算机存储介质
CN106612204B (zh) 业务校验方法及装置
CN114281680B (zh) 一种web自动化测试方法及系统
CN114374632A (zh) 一种物联网数据平台多协议测试提效方法
CN111506311A (zh) 互联网快速迭代开发、集成、发布方法和中台赋能引擎
CN109710535B (zh) 用于语音对话平台的服务校验方法及系统
CN105117340A (zh) 用于iOS浏览器应用质量评估的URL检测方法和装置
CN106682910B (zh) 一种信息处理方法、系统及相关设备
CN104318164B (zh) 一种应用程序的审核方法
CN112558986A (zh) Apk安装包在线自动解析方法及系统
CN111930625A (zh) 基于云服务平台的日志获取方法、装置及系统
CN111314330A (zh) 一种网络应用的运行方法和装置
CN116166533A (zh) 接口测试方法、装置、终端设备以及存储介质
CN112559000B (zh) 车辆的整车软件更新方法及装置
CN111078527B (zh) 用于对服务器进行压力测试的辅助系统以及方法
CN112199229A (zh) 数据处理方法、装置、设备和存储介质
CN113014443B (zh) 一种cdn资源是否命中缓存的测试方法及其系统
CN115878448A (zh) 数据库测试方法、分布式数据库、存储介质
CN112542166A (zh) 一种语音交互的方法和装置
CN106681899A (zh) 基于Jmeter的安卓UI自动化测试方法及系统

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