CN105138351B - 一种为宿主配置插件包的方法与装置 - Google Patents

一种为宿主配置插件包的方法与装置 Download PDF

Info

Publication number
CN105138351B
CN105138351B CN201510464145.1A CN201510464145A CN105138351B CN 105138351 B CN105138351 B CN 105138351B CN 201510464145 A CN201510464145 A CN 201510464145A CN 105138351 B CN105138351 B CN 105138351B
Authority
CN
China
Prior art keywords
plug
package
host
file
signature
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
CN201510464145.1A
Other languages
English (en)
Other versions
CN105138351A (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201510464145.1A priority Critical patent/CN105138351B/zh
Priority to PCT/CN2015/096380 priority patent/WO2017020459A1/zh
Publication of CN105138351A publication Critical patent/CN105138351A/zh
Application granted granted Critical
Publication of CN105138351B publication Critical patent/CN105138351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

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

Abstract

本发明的目的是提供一种为宿主配置插件包的方法与装置。其中,本发明可以将从插件包中所提取的宿主指定的插件包标识信息写入宿主的插件包配置文件,并为插件包配置签名文件以将签名文件插入所述插件包,还将插入签名文件的插件包保存至宿主指定的路径下。本发明使为宿主配置插件包的过程自动化,从而节省了开发人员的时间成本,并且不易出错。

Description

一种为宿主配置插件包的方法与装置
技术领域
本发明涉及移动互联网技术领域,尤其涉及一种为宿主配置插件包的技术。
背景技术
随着移动互联网时代的到来,手机终端作为人们交流沟通的工具,得以被越来越广地应用。为了提供强大的功能,手机中的应用(APP)需要运行许多的程序,这导致了应用中方法的数量剧增。在此,应用中的“方法”可以被理解为实现特定功能的特定子程序。以安卓操作系统为例,当一个应用中的方法数超过了65536时,程序就不能够运行。
现有技术可以通过将插件集成在宿主应用中的方案来解决应用中方法数量的限制问题。然而,目前为宿主配置插件包多通过开发人员手动进行。这种手动配置插件包的方式不仅费时费力,并且容易出错。
发明内容
本发明的目的是提供一种为宿主配置插件包的方法与装置。
根据本发明的一个方面,提供了一种为宿主配置插件包的方法,其中,该方法包括:
-从插件包中提取宿主指定的插件包标识信息;
-将所述插件包标识信息写入所述宿主的插件包配置文件;
-为所述插件包配置签名文件,以将所述签名文件插入所述插件包;
-将插入所述签名文件的插件包保存至所述宿主指定的路径下。
根据本发明的另一个方面,还提供了一种为宿主配置插件包的装置,其中,该装置包括:
-用于从插件包中提取宿主指定的插件包标识信息的装置;
-用于将所述插件包标识信息写入所述宿主的插件包配置文件的装置;
-用于为所述插件包配置签名文件,以将所述签名文件插入所述插件包的装置;
-用于将插入所述签名文件的插件包保存至所述宿主指定的路径下的装置。
与现有技术相比,本发明可以将从插件包中所提取的宿主指定的插件包标识信息写入宿主的插件包配置文件,并为插件包配置签名文件以将签名文件插入所述插件包,还将插入签名文件的插件包保存至宿主指定的路径下。本发明使为宿主配置插件包的过程自动化,从而节省了开发人员的时间成本,并且不易出错。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个实施例的一种为宿主配置插件包的方法流程图;
图2示出根据本发明一个实施例的一种为宿主配置插件包的装置示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的程序指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备例如包括用户设备与网络设备。其中,所述用户设备包括但不限于个人计算机(PC)、笔记本电脑等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
本文后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本发明作进一步详细描述。
本发明可由任何具有所要求的处理能力的计算机设备实现。典型地,本发明可由PC实现。为便于说明起见,本说明书多以PC执行本发明的方案来进行举例说明,本领域技术人员应能理解,该等举例不应被视为对本发明的任何限制。
具体地,PC从插件包中提取宿主指定的插件包标识信息;接着,PC将所提取的插件包标识信息写入宿主的插件包配置文件;随后,PC为插件包配置签名文件,以将所配置的签名文件插入插件包;随后,PC将插入签名文件的插件包保存至宿主指定的路径下。
优选地,本发明的方案可以由安装并运行于PC中的应用程序来实现。在此,所述应用程序例如java程序、脚本程序等。
所述应用程序可以通过开发人员在命令行对话框中输入指令来执行。例如,开发人员可以在命令行对话框中输入该应用程序的名称,并输入一路径下的插件包以作为参数。其中,宿主的路径例如可以被保存在该应用程序的配置信息内。随后,开发人员输入回车命令这一个按键即可以立即执行该应用程序以实现为宿主配置插件包的全部过程。这大幅地节省了配置工作的时间,并解决了人工配置容易出错的问题。
或者,所述应用程序也可以具有图形化界面。开发人员可以通过在图形化界面中进行操作,来执行该应用程序。
在此,宿主可以为一种安装并运行于移动终端中的应用(可简称为APP),例如手机百度应用等。
其中,移动终端包括但不限于任何一种基于智能操作系统的手持式电子产品,其可与用户通过键盘、虚拟键盘、触摸板、触摸屏以及声控设备等输入设备来进行人机交互,诸如智能手机、平板电脑等。其中,智能操作系统包括但不限于任何通过向移动设备提供各种移动应用来丰富设备功能的操作系统,诸如安卓(Android)操作系统等。
优选地,本发明中所述宿主运行于安卓操作系统。
插件意指,被集成在宿主中的应用。插件例如百度知道应用、百度音乐应用等。在此,集成在宿主中的插件可以实现其自身特有的功能,从而增强宿主的功能和能力。
插件包意指插件的安装包。在安卓操作系统下,插件包通常为以apk为后缀名的文件。插件包中可以包含一个或多个子文件。
在插件集成在宿主中之后,当插件需要运行时,宿主可以根据之前所配置的信息验证该插件是否可以运行。例如,宿主可以实时地提取插件的标识信息,并将实时提取的插件的标识信息与插件包配置文件中的插件包标识信息进行比较,如果一致,宿主则可以允许该插件运行。又如,宿主可以将实时地根据此前被PC插入插件包中的签名文件来确定插件的签名信息,并将所确定的签名信息与预定的签名信息进行比较,如果一致,宿主则可以允许该插件运行。
图1示出根据本发明一个实施例的方法流程图,其具体示出一种为宿主配置插件包的过程。在步骤S1中,PC从插件包中提取宿主指定的插件包标识信息;在步骤S2中,PC将所提取的插件包标识信息写入宿主的插件包配置文件;在步骤S3中,PC为插件包配置签名文件,以将所配置的签名文件插入插件包;在步骤S4中,PC将插入签名文件的插件包保存至宿主指定的路径下。
本领域技术人员应能理解,步骤S1和步骤S2通常为连续进行的。步骤S3与步骤S1、S2之间并无严格的顺序关系。PC进行步骤S3与步骤S1、S2的先后顺序存在多种方式。例如,PC可以同时地进行步骤S3以及步骤S1和S2。又如,PC也可以先进行步骤S3,随后再进行步骤S1和步骤S2,或者先进行步骤S1和步骤S2,随后再进行步骤S3。
具体地,在步骤S1中,PC从插件包中提取宿主指定的插件包标识信息。
其中,所述插件包标识信息包括但不限于各种用于标识插件包的信息。所述插件包标识信息例如应用名称(如百度音乐)、包名(如baiduyinyue.apk)、版本号等。
在此,所述宿主指定的插件包标识信息可以包括前述插件包标识信息中的至少任一项。例如,宿主指定的插件包标识信息可以仅包括应用名称。又如,宿主指定的插件包标识信息可以包括应用名称、包名、版本号这三项。
插件包中的清单文件(manifest.xml)中包含插件包标识信息。PC例如可以从该清单文件中提取宿主指定的插件包标识信息。
优选地,PC可以按照以下2个子步骤提取宿主指定的插件包标识信息:
1)PC可以调用标识信息读取工具,以获得插件包的初始标识信息。
其中,所述标识信息读取工具意指智能操作系统所提供的用于读取插件包的标识信息的工具。标识信息读取工具例如可以通过读取插件包中的清单文件(manifest.xml)来获取插件包标识信息。所述标识信息读取工具例如安卓操作系统下的adb工具(AndroidDebug Bridge,简称为adb)。
插件包的初始标识信息意指通过标识信息读取工具所直接获得的插件包的标识信息。初始标识信息通常包括宿主指定的插件包标识信息以及其他冗余信息。在随后的步骤中,PC需对初始标识信息进行解析,以获得宿主指定的插件包标识信息。因此,所获得的初始标识信息需为PC可解析的。
在此,优选地,PC可以调用标识信息读取工具,以获得初始标识信息,该初始标识信息在命令行对话框中呈现。接着,PC可以将在命令行对话框中所呈现的初始标识信息保存在一可读文件中,以使得该初始标识信息可解析。
其中,呈现在命令行对话框中的初始标识信息无法被PC(例如PC中的脚本程序)解析,而保存在PC可读文件中的初始标识信息可以被PC(例如PC中的脚本程序)解析。
可替代地,PC可以调用标识信息读取工具,以直接获得可解析的初始标识信息。
在此,随着智能操作系统所提供标识信息读取工具的功能升级,PC应可以通过调用标识信息读取工具直接地获得可解析的初始标识信息(例如保存在文件中的初始标识信息)。
2)PC解析所获得的初始标识信息,以直接获得宿主指定的插件包标识信息。
在此,初始标识信息中通常以“名称/值”对的形式保存宿主指定的插件包标识信息。
PC例如可以根据预先设定的宿主指定的“名称”字符串,在初始标识信息中进行查找,以获得该“名称”字符串所对应的“值”字符串。该表示“值”的字符串即为宿主指定的插件包标识信息。
例如,PC可以根据宿主指定的“名称”字符串——“package name”,在初始标识信息中进行查找,该“名称”字符串所对应的“值”字符串即为宿主指定的插件包标识信息——包名。
又如,PC可以根据宿主指定的“名称”字符串——“version”,在初始标识信息中进行查找,该“名称”字符串所对应的“值”字符串即为宿主指定的插件包标识信息——版本号。
本领域技术人员应能理解,前述提取宿主指定的插件包标识信息的方式仅为举例,而不应被视为对本发明的任何限制,任何现有其它或今后可能出现的提取宿主指定的插件包标识信息的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S2中,PC将所提取的插件包标识信息写入宿主的插件包配置文件。
在此,宿主的插件包配置文件意指用于保存插件包的插件包标识信息的文件。宿主的插件包配置文件可以保存在任何设备中,如保存在PC本机和/或网络设备。PC需具有对宿主的插件包配置文件的执行写入操作的权限。
例如,PC将所提取的“应用名称”、“包名”、“版本号”等插件包标识信息写入宿主的插件包配置文件。
在步骤S3中,PC为插件包配置签名文件,以将所配置的签名文件插入插件包。
在此,签名文件包括但不限于各种包含签名信息的文件。
集成在宿主中的插件需要运行时,宿主可以根据该插件的签名文件来获得签名信息,并将该签名信息与预定的签名信息相比较。如果一致,则宿主可以允许该插件运行。如果不一致,则宿主不允许该插件运行。
在此,不同的插件包可以被分配相同的签名文件。或者,不同的插件包也可以被分配不同的签名文件。例如,每个插件包可以被分配一个签名文件,如随机码。又如,进一步地,插件包的签名文件还可以基于各种签名文件生成算法来生成。
PC为插件包配置签名文件以将所配置的签名文件插入插件包的方式包括但不限于以下3种:
1)PC可以自行为插件包分配或生成签名文件,并将所分配的或所生成的签名文件插入插件包。
2)PC还可以从第一签名装置为插件包获取签名文件,并将所获取的签名文件插入插件包中。
其中,所述第一签名装置可以装置于任何设备中。例如,所述第一签名装置可以装置于PC本机中或网络设备中。第一签名装置可以为插件包分配或生成签名文件,并提供给PC。相应地,PC可以从第一签名装置为插件包获取签名文件,并将所获取的签名文件插入插件包中。
其中,PC可以直接从第一签名装置获得统一的签名文件。或者,PC也可以把插件包或者其插件包标识信息发送给第一签名装置。相应地,第一签名装置可以根据所接收的插件包或其插件包标识信息来分配或生成签名文件。随后,第一签名装置可以将所生成的签名文件返回给PC。
3)PC可以将插件包提供给第二签名装置,以由该第二签名装置为该插件包配置签名文件并将该签名文件插入插件包中,随后,PC可以从第二签名装置接收插入签名文件的插件包。
其中,所述第二签名装置可以装置于任何设备中。例如,所述第二签名装置可以装置于PC本机中或网络设备中。第二签名装置可以为插件包分配或生成签名文件并将所分配的或所生成的签名文件插入插件包中。
本领域技术人员应能理解,前述为插件包配置签名文件以将所配置的签名文件插入插件包的方式仅为举例,而不应被视为对本发明的任何限制,任何现有其它或今后可能出现的为插件包配置签名文件以将所配置的签名文件插入插件包的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S4中,PC将插入签名文件的插件包保存至宿主指定的路径下。
在此,宿主指定的路径专用于保存插件包。插入签名文件的插件包被保存至宿主指定的路径下,即可使该插件包与宿主建立关联。PC将插入签名文件的插件包保存至宿主指定的路径下的步骤通常也可以被称为“对插件包进行打包处理”。
优选地,如果插件包的当前包名与插件包的清单文件中的包名一致,PC可以将插入签名文件的插件包保存至宿主指定的路径下。
在此,PC可以将插入签名文件的插件包当前的包名与该插件包的清单文件(manifest.xml)中的包名进行比较,如果一致,PC即可以直接将插入签名文件的插件包保存至宿主指定的路径下。
更优选地,如果插件包的当前包名与插件包的清单文件中的包名不一致,PC还可以将插件包的当前包名重命名为清单文件中的包名。接着,PC还可以按照重命名后的包名,将插入签名文件的插件包保存至宿主指定的路径下。
在此,插件包的当前包名与插件包的清单文件中的包名保持一致,可以使插件运行得更稳定、不易出错。
图2示出根据本发明一个实施例的装置示意图,其具体示出一种为宿主配置插件包的装置,也即配置装置10。如图2所示,配置装置10被装置于PC中,并具体包括装置11-14。
装置11从插件包中提取宿主指定的插件包标识信息(为便于区分,以下将装置11称为标识信息提取装置11);装置12将所提取的插件包标识信息写入宿主的插件包配置文件(为便于区分,以下将装置12称为标识信息写入装置12);装置13为插件包配置签名文件,以将所配置的签名文件插入插件包(为便于区分,以下将装置13称为签名文件配置装置13);装置14将插入签名文件的插件包保存至宿主指定的路径下(为便于区分,以下将装置14称为插件包保存装置14)。
本领域技术人员应能理解,标识信息提取装置11和标识信息写入装置12通常为连续执行的。签名文件配置装置13所执行的操作与标识信息提取装置11、标识信息写入装置12所分别执行的操作之间并无严格的顺序关系。签名文件配置装置13与标识信息提取装置11、标识信息写入装置12执行操作的先后顺序存在多种方式。例如,签名文件配置装置13可以与标识信息提取装置11同时执行操作。又如,签名文件配置装置13可以先执行操作,随后再由标识信息提取装置11、标识信息写入装置12来执行操作,或者标识信息提取装置11、标识信息写入装置12先执行操作,随后再由签名文件配置装置13来执行操作。
具体地,标识信息提取装置11从插件包中提取宿主指定的插件包标识信息。
其中,所述插件包标识信息包括但不限于各种用于标识插件包的信息。所述插件包标识信息例如应用名称(如百度音乐)、包名(如baiduyinyue.apk)、版本号等。
在此,所述宿主指定的插件包标识信息可以包括前述插件包标识信息中的至少任一项。例如,宿主指定的插件包标识信息可以仅包括应用名称。又如,宿主指定的插件包标识信息可以包括应用名称、包名、版本号这三项。
插件包中的清单文件(manifest.xml)中包含插件包标识信息。标识信息提取装置11例如可以从该清单文件中提取宿主指定的插件包标识信息。
优选地,标识信息提取装置11可以按照以下2个子操作提取宿主指定的插件包标识信息:
1)标识信息提取装置11可以调用标识信息读取工具,以获得插件包的初始标识信息。
其中,所述标识信息读取工具意指智能操作系统所提供的用于读取插件包的标识信息的工具。标识信息读取工具例如可以通过读取插件包中的清单文件(manifest.xml)来获取插件包标识信息。所述标识信息读取工具例如安卓操作系统下的adb工具(AndroidDebug Bridge,简称为adb)。
插件包的初始标识信息意指通过标识信息读取工具所直接获得的插件包的标识信息。初始标识信息通常包括宿主指定的插件包标识信息以及其他冗余信息。在随后的操作中,PC的标识信息提取装置11需对初始标识信息进行解析,以获得宿主指定的插件包标识信息。因此,标识信息提取装置11所获得的初始标识信息需为PC可解析的。
在此,优选地,标识信息提取装置11可以调用标识信息读取工具,以获得初始标识信息,该初始标识信息在命令行对话框中呈现。接着,标识信息提取装置11可以将在命令行对话框中所呈现的初始标识信息保存在一可读文件中,以使得该初始标识信息可解析。
其中,呈现在命令行对话框中的初始标识信息无法被PC的标识信息提取装置11(例如PC中的脚本程序)解析,而保存在PC可读文件中的初始标识信息可以被PC的标识信息提取装置11(例如PC中的脚本程序)解析。
可替代地,标识信息提取装置11可以调用标识信息读取工具,以直接获得可解析的初始标识信息。
在此,随着智能操作系统所提供标识信息读取工具的功能升级,标识信息提取装置11应可以通过调用标识信息读取工具直接地获得可解析的初始标识信息(例如保存在文件中的初始标识信息)。
2)标识信息提取装置11解析所获得的初始标识信息,以直接获得宿主指定的插件包标识信息。
在此,初始标识信息中通常以“名称/值”对的形式保存宿主指定的插件包标识信息。
标识信息提取装置11例如可以根据预先设定的宿主指定的“名称”字符串,在初始标识信息中进行查找,以获得该“名称”字符串所对应的“值”字符串。该表示“值”的字符串即为宿主指定的插件包标识信息。
例如,标识信息提取装置11可以根据宿主指定的“名称”字符串——“packagename”,在初始标识信息中进行查找,该“名称”字符串所对应的“值”字符串即为宿主指定的插件包标识信息——包名。
又如,标识信息提取装置11可以根据宿主指定的“名称”字符串——“version”,在初始标识信息中进行查找,该“名称”字符串所对应的“值”字符串即为宿主指定的插件包标识信息——版本号。
本领域技术人员应能理解,前述提取宿主指定的插件包标识信息的方式仅为举例,而不应被视为对本发明的任何限制,任何现有其它或今后可能出现的提取宿主指定的插件包标识信息的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,标识信息写入装置12将所提取的插件包标识信息写入宿主的插件包配置文件。
在此,宿主的插件包配置文件意指用于保存插件包的插件包标识信息的文件。宿主的插件包配置文件可以保存在任何设备中,如保存在PC本机和/或网络设备。标识信息写入装置12需具有对宿主的插件包配置文件的执行写入操作的权限。
例如,标识信息写入装置12将所提取的“应用名称”、“包名”、“版本号”等插件包标识信息写入宿主的插件包配置文件。
签名文件配置装置13为插件包配置签名文件,以将所配置的签名文件插入插件包。
在此,签名文件包括但不限于各种包含签名信息的文件。
集成在宿主中的插件需要运行时,宿主可以根据该插件的签名文件来获得签名信息,并将该签名信息与预定的签名信息相比较。如果一致,则宿主可以允许该插件运行。如果不一致,则宿主不允许该插件运行。
在此,不同的插件包可以被分配相同的签名文件。或者,不同的插件包也可以被分配不同的签名文件。例如,每个插件包可以被分配一个签名文件,如随机码。又如,进一步地,插件包的签名文件还可以基于各种签名文件生成算法来生成。
签名文件配置装置13为插件包配置签名文件以将所配置的签名文件插入插件包的方式包括但不限于以下3种:
1)签名文件配置装置13可以自行为插件包分配或生成签名文件,并将所分配的或所生成的签名文件插入插件包。
2)签名文件配置装置13还可以从第一签名装置为插件包获取签名文件,并将所获取的签名文件插入插件包中。
其中,所述第一签名装置可以装置于任何设备中。例如,所述第一签名装置可以装置于PC本机中或网络设备中。第一签名装置可以为插件包分配或生成签名文件,并提供给PC。相应地,PC的签名文件配置装置13可以从第一签名装置为插件包获取签名文件,并将所获取的签名文件插入插件包中。
其中,签名文件配置装置13可以直接从第一签名装置获得统一的签名文件。或者,签名文件配置装置13也可以把插件包或者其插件包标识信息发送给第一签名装置。相应地,第一签名装置可以根据所接收的插件包或其插件包标识信息来分配或生成签名文件。随后,第一签名装置可以将所生成的签名文件返回给PC。
3)签名文件配置装置13可以将插件包提供给第二签名装置,以由该第二签名装置为该插件包配置签名文件并将该签名文件插入插件包中,随后,签名文件配置装置13可以从第二签名装置接收插入签名文件的插件包。
其中,所述第二签名装置可以装置于任何设备中。例如,所述第二签名装置可以装置于PC本机中或网络设备中。第二签名装置可以为插件包分配或生成签名文件并将所分配的或所生成的签名文件插入插件包中。
本领域技术人员应能理解,前述为插件包配置签名文件以将所配置的签名文件插入插件包的方式仅为举例,而不应被视为对本发明的任何限制,任何现有其它或今后可能出现的为插件包配置签名文件以将所配置的签名文件插入插件包的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,插件包保存装置14将插入签名文件的插件包保存至宿主指定的路径下。
在此,宿主指定的路径专用于保存插件包。插入签名文件的插件包被保存至宿主指定的路径下,即可使该插件包与宿主建立关联。插件包保存装置14将插入签名文件的插件包保存至宿主指定的路径下的操作通常也可以被称为“对插件包进行打包处理”。
优选地,如果插件包的当前包名与插件包的清单文件中的包名一致,插件包保存装置14可以将插入签名文件的插件包保存至宿主指定的路径下。
在此,插件包保存装置14可以将插入签名文件的插件包当前的包名与该插件包的清单文件(manifest.xml)中的包名进行比较,如果一致,插件包保存装置14即可以直接将插入签名文件的插件包保存至宿主指定的路径下。
更优选地,如果插件包的当前包名与插件包的清单文件中的包名不一致,插件包保存装置14还可以将插件包的当前包名重命名为清单文件中的包名。接着,插件包保存装置14还可以按照重命名后的包名,将插入签名文件的插件包保存至宿主指定的路径下。
在此,插件包的当前包名与插件包的清单文件中的包名保持一致,可以使插件运行得更稳定、不易出错。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (16)

1.一种为宿主配置插件包的方法,其中,该方法包括:
-从插件包中提取宿主指定的插件包标识信息;
-将所述插件包标识信息写入所述宿主的插件包配置文件;
-为所述插件包配置签名文件,以将所述签名文件插入所述插件包;
-将插入所述签名文件的插件包保存至所述宿主指定的路径下。
2.根据权利要求1所述的方法,其中,所述提取步骤具体包括:
-调用标识信息读取工具,以获得初始标识信息;
-解析所述初始标识信息,以获得所述插件包标识信息。
3.根据权利要求2所述的方法,其中,所述初始标识信息的获得步骤具体包括:
-调用所述标识信息读取工具,以获得所述初始标识信息,所述初始标识信息在命令行对话框中呈现;
-将所述初始标识信息保存在一可读文件中,以使得所述初始标识信息可解析。
4.根据权利要求1至3中任一项所述的方法,其中,所述配置签名文件的步骤还包括:
-从第一签名装置为所述插件包获取所述签名文件。
5.根据权利要求1至3中任一项所述的方法,其中,所述配置签名文件的步骤具体包括:
-将所述插件包提供给第二签名装置,以由所述第二签名装置为其配置所述签名文件并将所述签名文件插入所述插件包中;
-从所述第二签名装置接收插入所述签名文件的插件包。
6.根据权利要求1所述的方法,其中,所述保存步骤具体包括:
-如果所述插件包的当前包名与所述插件包的清单文件中的包名一致,将插入所述签名文件的插件包保存至所述宿主指定的路径下。
7.根据权利要求6所述的方法,其中,所述保存步骤还包括:
-如果所述插件包的当前包名与所述插件包的清单文件中的包名不一致,将所述插件包的当前包名重命名为所述清单文件中的包名;
-按照重命名后的包名,将插入所述签名文件的插件包保存至所述宿主指定的路径下。
8.根据权利要求1所述的方法,其中,所述宿主运行于安卓操作系统。
9.一种为宿主配置插件包的装置,其中,该装置包括:
-用于从插件包中提取宿主指定的插件包标识信息的装置;
-用于将所述插件包标识信息写入所述宿主的插件包配置文件的装置;
-用于为所述插件包配置签名文件,以将所述签名文件插入所述插件包的装置;
-用于将插入所述签名文件的插件包保存至所述宿主指定的路径下的装置。
10.根据权利要求9所述的装置,其中,所述提取插件包标识信息的装置具体用于:
-调用标识信息读取工具,以获得初始标识信息;
-解析所述初始标识信息,以获得所述插件包标识信息。
11.根据权利要求10所述的装置,其中,获得所述初始标识信息的操作具体包括:
-调用所述标识信息读取工具,以获得所述初始标识信息,所述初始标识信息在命令行对话框中呈现;
-将所述初始标识信息保存在一可读文件中,以使得所述初始标识信息可解析。
12.根据权利要求9至11中任一项所述的装置,其中,所述配置签名文件的装置还用于:
-从第一签名装置为所述插件包获取所述签名文件。
13.根据权利要求9至11中任一项所述的装置,其中,所述配置签名文件的装置具体用于:
-将所述插件包提供给第二签名装置,以由所述第二签名装置为其配置所述签名文件并将所述签名文件插入所述插件包中;
-从所述第二签名装置接收插入所述签名文件的插件包。
14.根据权利要求9所述的装置,其中,所述保存插入所述签名文件的插件包的装置具体用于:
-如果所述插件包的当前包名与所述插件包的清单文件中的包名一致,将插入所述签名文件的插件包保存至所述宿主指定的路径下。
15.根据权利要求14所述的装置,其中,所述保存插入所述签名文件的插件包的装置还用于:
-如果所述插件包的当前包名与所述插件包的清单文件中的包名不一致,将所述插件包的当前包名重命名为所述清单文件中的包名;
-按照重命名后的包名,将插入所述签名文件的插件包保存至所述宿主指定的路径下。
16.根据权利要求9所述的装置,其中,所述宿主运行于安卓操作系统。
CN201510464145.1A 2015-07-31 2015-07-31 一种为宿主配置插件包的方法与装置 Active CN105138351B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510464145.1A CN105138351B (zh) 2015-07-31 2015-07-31 一种为宿主配置插件包的方法与装置
PCT/CN2015/096380 WO2017020459A1 (zh) 2015-07-31 2015-12-04 一种为宿主配置插件包的方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510464145.1A CN105138351B (zh) 2015-07-31 2015-07-31 一种为宿主配置插件包的方法与装置

Publications (2)

Publication Number Publication Date
CN105138351A CN105138351A (zh) 2015-12-09
CN105138351B true CN105138351B (zh) 2019-10-18

Family

ID=54723709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510464145.1A Active CN105138351B (zh) 2015-07-31 2015-07-31 一种为宿主配置插件包的方法与装置

Country Status (2)

Country Link
CN (1) CN105138351B (zh)
WO (1) WO2017020459A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092494B (zh) * 2016-02-18 2020-09-01 腾讯科技(深圳)有限公司 访问apk资源的方法和装置
CN107222453B (zh) * 2016-03-22 2020-01-31 阿里巴巴集团控股有限公司 一种文件传输方法及装置
CN105930183A (zh) * 2016-04-13 2016-09-07 乐视控股(北京)有限公司 一种视频应用程序升级方法和装置
CN109918075A (zh) * 2017-12-12 2019-06-21 北京奇虎科技有限公司 利用打包插件的sdk打包方法、打包插件及相应终端
CN109032651B (zh) * 2018-08-24 2022-06-10 深圳创维-Rgb电子有限公司 应用更新方法、智能终端及计算机可读存储介质
CN109145591B (zh) * 2018-09-10 2021-11-16 上海连尚网络科技有限公司 应用程序的插件加载方法
CN111176663B (zh) * 2019-12-20 2024-02-02 抖音视界有限公司 应用程序的数据处理方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880456A (zh) * 2012-07-31 2013-01-16 北京奇虎科技有限公司 一种创建插件方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179378B (zh) * 2006-12-21 2012-06-13 腾讯科技(深圳)有限公司 一种执行插件的方法及系统
CN101887376B (zh) * 2010-07-09 2015-09-16 中兴通讯股份有限公司 Widget引擎加载脚本插件的方法及Widget引擎
CN102411506B (zh) * 2011-07-07 2014-03-12 杭州典能科技有限公司 Java系统业务单元插件式管理系统及业务功能动态变更方法
CN104156225B (zh) * 2013-05-14 2018-07-06 腾讯科技(深圳)有限公司 一种安装包的下载方法、系统及服务器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880456A (zh) * 2012-07-31 2013-01-16 北京奇虎科技有限公司 一种创建插件方法及装置

Also Published As

Publication number Publication date
WO2017020459A1 (zh) 2017-02-09
CN105138351A (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
CN105138351B (zh) 一种为宿主配置插件包的方法与装置
US8631390B2 (en) Archiving a build product
EP2677451B1 (en) License verification method and apparatus, and computer readable storage medium storing program therefor
CN110427215A (zh) 一种应用于前端开发的程序版本差异展示方法及装置
KR102224759B1 (ko) 컴퓨터 애플리케이션에 대한 언어 번역 현지화를 위한 기법
US8160865B1 (en) Systems and methods for managing coordinate geometry for a user interface template
CN103902717A (zh) 一种企业内部门户个性化的实现系统和方法
WO2015014150A1 (en) Method,apparatus,and application platform for updating application object attribute
CN110275704A (zh) 页面数据处理方法和装置,存储介质和电子设备
WO2015172451A1 (zh) 一种软件升级方法、服务器及终端
CN108351790B (zh) 用于期望状态配置的非单调最终收敛的设备、方法和介质
CN104834759A (zh) 电子设计的实现方法和装置
US10303331B2 (en) Live mobile application visual editor demo
CN104598268A (zh) 应用的处理方法及装置
US20180032510A1 (en) Automated translation of source code
US10073852B2 (en) Computer-readable storage medium, file management apparatus, and file management method
WO2017067459A1 (zh) 一种桌面数据加载方法及装置
US11099969B2 (en) Estimating the number of coding styles by analyzing source code
CN106776552B (zh) 文件识别方法、装置、服务器和计算机存储介质
CN111273913B (zh) 一种输出规范表示的应用程序接口数据的方法及装置
US10185706B2 (en) Generating web browser views for applications
CN104539697B (zh) 一种客户端、服务器及制作安卓移动应用的方法
CN114090002A (zh) 前端界面构建方法、装置、电子设备和存储介质
JP2007157128A (ja) 機器設定装置、機器設定方法、情報取得装置、情報取得方法、記録媒体及びプログラム
CN114115855A (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
GR01 Patent grant
GR01 Patent grant