CN110457049B - 实现插件自动化的方法、装置、电子设备及存储介质 - Google Patents

实现插件自动化的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110457049B
CN110457049B CN201910569340.9A CN201910569340A CN110457049B CN 110457049 B CN110457049 B CN 110457049B CN 201910569340 A CN201910569340 A CN 201910569340A CN 110457049 B CN110457049 B CN 110457049B
Authority
CN
China
Prior art keywords
plug
hook
storage area
server
automation
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
CN201910569340.9A
Other languages
English (en)
Other versions
CN110457049A (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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910569340.9A priority Critical patent/CN110457049B/zh
Publication of CN110457049A publication Critical patent/CN110457049A/zh
Application granted granted Critical
Publication of CN110457049B publication Critical patent/CN110457049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

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

Abstract

本发明涉及一种实现插件自动化的方法、装置、电子设备及存储介质,所述方法包括:在检测到向服务器提交内容的内容提交操作时,执行预设的钩子文件中的钩子函数,利用钩子函数调用插件管理器;若预设的钩子存储区域中未存储插件,通过插件管理器向服务器发送用于获取插件的插件获取请求;若接收到服务器返回的插件,将插件存储至钩子存储区域中,以使系统自动安装插件。本发明实施例能够通过执行预设的用于调用插件管理器的钩子函数,进而可以调用插件管理器,通过插件管理器进行插件的自动下载及安装,无需开发人员人工操作,即可实现插件的自动下载安装,简化插件的使用过程,节省开发人员的时间及精力,便于开发人员使用。

Description

实现插件自动化的方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种实现插件自动化的方法、装置、电子设备及存储介质。
背景技术
程序开发过程中,经常需要使用到一些插件,如:具有提高代码质量功能的插件、具有代码风格检查功能的插件或者具有单元测试功能的插件等等。
然而,想要插件实现其具有的功能,首先需要开发人员自行逐个下载,再由开发人员逐个安装,整个过程操作繁琐重复,占据开发人员大量的时间及精力,给开发人员带来极大不便。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供了一种实现插件自动化的方法、装置、电子设备及存储介质。
第一方面,本发明提供了一种实现插件自动化的方法,包括:
在检测到向服务器提交内容的内容提交操作时,执行预设的钩子文件中的钩子函数,利用所述钩子函数调用插件管理器;
若预设的钩子存储区域中未存储插件,通过所述插件管理器向服务器发送用于获取插件的插件获取请求;
若接收到服务器返回的插件,将所述插件存储至所述钩子存储区域中,以使系统自动安装所述插件。
可选地,所述方法还包括:
若预设的钩子存储区域中已存储插件,通过所述插件管理器向服务器发送用插件更新请求,所述插件更新请求中包括:所述钩子存储区域中已存储的插件的插件标识及插件版本号;
若接收到服务器返回的与所述插件标识对应且插件版本号不同的插件,利用返回的插件更新所述钩子存储区域中对应的已存储的插件。
可选地,所述方法还包括:
在插件更新完毕后,通过所述插件管理器提取所述提交内容的内容类型;
触发与所述内容类型对应的插件,通过所述插件对所述提交内容进行处理;
将经过处理的提交内容提交至所述服务器。
可选地,所述方法还包括:
在集成开发工具Xcode被触发编译时,运行预先添加在所述Xcode 中的安装脚本,通过所述安装脚本确定钩子存储区域中是否存在钩子文件;
若所述钩子存储区域中存在所述钩子文件,向所述钩子文件中添加所述钩子函数。
可选地,向所述钩子文件中添加所述钩子函数,包括:
检测所述钩子文件的编程语言;
向所述钩子文件中添加与所述编程语言的语言类型对应的钩子函数。
第二方面,本发明提供了一种实现插件自动化的装置,包括:
执行调用模块,用于在检测到向服务器提交内容的内容提交操作时,执行预设的钩子文件中的钩子函数,利用所述钩子函数调用插件管理器;
插件获取模块,用于若预设的钩子存储区域中未存储插件,通过所述插件管理器向服务器发送用于获取插件的插件获取请求;
存储安装模块,用于若接收到服务器返回的插件,将所述插件存储至所述钩子存储区域中,以使系统自动安装所述插件。
可选地,所述装置还包括:
请求更新模块,用于若预设的钩子存储区域中已存储插件,通过所述插件管理器向服务器发送用插件更新请求,所述插件更新请求中包括:所述钩子存储区域中已存储的插件的插件标识及插件版本号;
插件更新模块,用于若接收到服务器返回的与所述插件标识对应且插件版本号不同的插件,利用返回的插件更新所述钩子存储区域中对应的已存储的插件。
可选地,所述装置还包括:
类型提取模块,用于在插件更新完毕后,通过所述插件管理器提取所述提交内容的内容类型;
插件触发模块,用于触发与所述内容类型对应的插件,通过所述插件对所述提交内容进行处理;
内容提交模块,用于将经过处理的提交内容提交至所述服务器。
可选地,所述装置还包括:
钩子确定模块,用于在集成开发工具Xcode被触发编译时,运行预先添加在所述Xcode中的安装脚本,通过所述安装脚本确定钩子存储区域中是否存在钩子文件;
钩子添加模块,用于若所述钩子存储区域中存在所述钩子文件,向所述钩子文件中添加所述钩子函数。
可选地,所述钩子添加模块,还用于:
语言检测单元,用于检测所述钩子文件的编程语言;
钩子添加单元,用于向所述钩子文件中添加与所述编程语言的语言类型对应的钩子函数。
第三方面,本发明提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面所述的实现插件自动化的方法。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有实现插件自动化的方法程序,所述实现插件自动化的方法程序被处理器执行时实现第一方面所述的实现插件自动化的方法的步骤。
本发明实施例提供的上述技术方案与现有技术相比具有如下优点:
本发明实施例能够在检测到向服务器提交内容的内容提交操作时,执行预设的钩子文件中的钩子函数,利用所述钩子函数调用插件管理器;若预设的钩子存储区域中未存储插件,通过所述插件管理器向服务器发送用于获取插件的插件获取请求;若接收到服务器返回的插件,可以将所述插件存储至所述钩子存储区域中,以使系统自动安装所述插件。
本发明实施例能够通过执行预设的用于调用插件管理器的钩子函数,进而可以调用插件管理器,通过插件管理器进行插件的自动下载及安装,无需开发人员人工操作,即可实现插件的自动下载安装,简化插件的使用过程,节省开发人员的时间及精力,便于开发人员使用。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的一种实现插件自动化的方法的流程示意图;
图2为本发明又一实施例提供的一种实现插件自动化的方法的流程示意图;
图3为本发明又一实施例提供的一种实现插件自动化的方法的流程示意图;
图4为本发明又一实施例提供的一种实现插件自动化的方法的流程示意图;
图5为本发明一个实施例提供的一种实现插件自动化的装置的结构图;
图6为本发明一个实施例提供的一种电子设备的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中,想要插件实现其具有的功能,首先需要开发人员自行下载,再由开发人员安装,整个过程占据开发人员大量的时间及精力,给开发人员带来极大不便,为此,本发明实施例提供的一种实现插件自动化的方法、装置、电子设备及存储介质,所述实现插件自动化的方法可以应用于具有Mac系统的计算机等电子设备中,如图 1所示,所述实现插件自动化的方法包括:
步骤S101,在检测到向服务器提交内容的内容提交操作时,执行预设的钩子文件中的钩子函数,利用所述钩子函数调用插件管理器;
在该步骤中,内容提交操作可以指开发人员进行内容提交时输入的操作,钩子函数可以预先被配置为与内容提交操作挂钩,这样,一旦检测到内容提交操作,即可执行钩子函数,利用钩子函数调用插件管理器。
在本发明实施例中,插件管理器:指运行在计算机等电子设备中的控制软件,用于下载、更新和触发插件等,插件管理器可以根据当前钩子存储区域中的插件情况进行相应的处理,比如,钩子存储区域中没有插件,可以自动下载插件;若钩子存储区域中的插件不是最新,可以更新插件,如果钩子存储区域中有插件并且是最新,那么根据提交内容直接触发对应的插件。
在本发明实施例中,钩子函数是利用预先集成在集成开发工具 Xcode中的安装脚本添加至钩子存储区域中的。
如图2所示,可以通过如下方式利用预先集成在Xcode中的安装脚本将钩子函数添加至钩子存储区域中。
步骤S201,在集成开发工具Xcode被触发编译时,运行预先添加在所述Xcode中的安装脚本,通过所述安装脚本确定钩子存储区域中是否存在钩子文件。
Xcode是运行在操作系统Mac OS X上的集成开发工具(IDE), Xcode中具有编译器,能够在开发人员点击“编译”按钮时对开发人员于预先添加的源代码文件进行编译。
钩子文件(git hook)是设置在钩子存储区域(工作目录下.git/hooks 文件夹)中的文件,由于在现有技术中钩子存储区域中的文件无法修改,而本发明实施例的目的是需要在钩子存储区域中添加钩子函数,而钩子函数可以通过向钩子存储区域的钩子文件中添加的方式添加,或者,直接向钩子存储区域中添加包含钩子函数的钩子文件的方式添加,这两种方式均属于修改钩子存储区域中的文件,所以本发明实施例中需要通过在Xcode中集成安装脚本的方式,利用Xcode的插件机制,通过运行安装脚本,实现修改钩子存储区域中的文件的目的,也即:将钩子函数添加至钩子存储区域中。
在本发明实施例中,钩子存储区域中可以预先存储:集成开发工具Xcode、安装脚本等。
在本发明实施例中,由于预先在Xcode中添加安装脚本,所以在 Xcode的编译按钮被触发时,Xcode会运行该安装脚本,在安装脚本被运行时,可以确定所述钩子存储区域中是否存在钩子文件,也就是说,安装脚本会查验钩子存储区域.git/hooks中是否存在pre-commit 文件。
步骤S202,若所述钩子存储区域中存在所述钩子文件,向所述钩子文件中添加所述钩子函数。
在该步骤中,向所述钩子文件中添加钩子函数,包括:
首先检测所述钩子文件的编程语言,然后向所述钩子文件中添加与所述编程语言的语言类型对应的钩子函数。
在本发明实施例中,可以通过代码类型检测工具检测钩子文件 (pre-commit文件)的编程语言,示例性的,如检测结果为当前 pre-commit文件是python语言,则向钩子文件注入python语言编写的钩子函数。
在本发明实施例中,所述钩子函数是一段脚本代码,用于调用预设的插件管理器,插件管理器也可以预先存储于钩子存储区域中。
本发明实施例能够利用预先集成在Xcode中的安装脚本,实现钩子函数的自动安装,绕过了现有技术中钩子存储区域中无法修改钩子文件的限制,实现成功的在已有的钩子文件中添加钩子函数。
步骤S203,若所述钩子存储区域中不存在所述钩子文件,将包含所述钩子函数的钩子文件添加至所述钩子存储区域。
在实际应用中,如果钩子存储区域中不存在所述钩子文件,则可以直接将自定义的pre-commit文件(也即包含钩子函数的钩子文件) 放至.git/hooks文件夹中。
本发明实施例能够在钩子存储区域中不存在所述钩子文件时,自动向钩子存储区域中添加包含钩子函数的钩子文件,进而便于钩子函数调用插件管理器管理插件。
步骤S102,若预设的钩子存储区域中未存储插件,通过所述插件管理器向服务器发送用于获取插件的插件获取请求;
在该步骤中,可以扫描钩子存储区域中是否存在插件,若钩子存储区域中不存在插件,则可以确定钩子存储区域中未存储插件。
步骤S103,若接收到服务器返回的插件,将所述插件存储至所述钩子存储区域中,以使系统自动安装所述插件。
在该步骤中,由于本发明实施例中提到的插件均为可执行文件,所以在将接收到的插件存储至钩子存储区域中后。系统即可自动加载执行插件,实现插件的安装。
本发明实施例能够在检测到向服务器提交内容的内容提交操作时,执行预设的钩子文件中的钩子函数,利用所述钩子函数调用插件管理器;若预设的钩子存储区域中未存储插件,通过所述插件管理器向服务器发送用于获取插件的插件获取请求;若接收到服务器返回的插件,可以将所述插件存储至所述钩子存储区域中,以使系统自动安装所述插件。
本发明实施例能够通过执行预设的用于调用插件管理器的钩子函数,进而可以调用插件管理器,通过插件管理器进行插件的自动下载及安装,无需开发人员人工操作,即可实现插件的自动下载安装,简化插件的使用过程,节省开发人员的时间及精力,便于开发人员使用。
由于插件在下载至钩子存储区域中并完成安装后,随着时间的推进,可能某些插件的版本会发生更新,如果由开发人员进行插件的手动更新仍然会操作比较繁琐,占用开发人员的时间精力,为此,在本发明的又一实施例中,如图3所示,所述实现插件自动化的方法还可以包括以下步骤:
步骤S301,若预设的钩子存储区域中已存储插件,通过所述插件管理器向服务器发送用插件更新请求,所述插件更新请求中包括:所述钩子存储区域中已存储的插件的插件标识及插件版本号;
服务器在接收到插件标识及插件版本号后,会根据插件标识查找对应的插件,将查找到的插件的版本号与接收到的插件版本号对比,如果查找到的插件的版本号对应的版本大于插件版本号对应的版本,可以确定查找到的插件的版本号与插件版本号不同。
步骤S302,若接收到服务器返回的与所述插件标识对应且插件版本号不同的插件,利用返回的插件更新所述钩子存储区域中对应的已存储的插件。
在该步骤中,可以删除钩子存储区域中已存储的插件,并将服务器返回的插件存储与钩子存储区域中。
本发明实施例能够对插件进行更新,无需开发人员人工操作,即可实现插件的自动更新,简化插件使用过程,节省开发人员的时间及精力,便于开发人员使用。
由于在插件更新完毕后,如果由开发人员进行插件的手动触发仍然会操作比较繁琐,占用开发人员的时间精力,为此,在本发明的又一实施例中,如图4所示,所述实现插件自动化的方法还可以包括以下步骤:
步骤S401,在插件更新完毕后,通过所述插件管理器提取所述提交内容的内容类型;
提取提交内容的类型可以指提取提交内容的后缀。
示例性的,若提交内容为图片,其后缀为.jpg,若提交内容为代码,则其后缀为为.h或者.m等。
步骤S402,触发与所述内容类型对应的插件,通过所述插件对所述提交内容进行处理;
在本发明实施例中,可以预先设置内容类型与插件之间的对应关系,插件管理器可以按照所述对应关系,调用与所述内容类型对应的插件,并利用插件对提交内容进行处理。
示例性的,若提交内容为图片,则调用与.jpg内容类型对应的图片压缩插件,利用图片压缩插件对图片进行压缩;若提交内容为代码,则调用与.h或者.m对应的代码插件,代码插件分析代码是否有漏洞等等。
步骤S403,将经过处理的提交内容提交至所述服务器。
本发明实施例在插件管理器自触发与所述内容类型对应的插件,通过所述插件对所述提交内容进行处理,所以可以无需开发人员操作,即可自动调用插件实现相应的插件功能(例如:通过插件管理器自动安装了用于进行代码校验的插件,那么将提高提交到远端的代码的正确性;通过插件管理器自动安装了用于进行图片压缩的插件,那么提高提交到远端的图片的压缩率,减少图片的体积)时,保证提交到远端的代码及相关文件的正确性和稳定性。
本发明实施例能够对插件进行调用,无需开发人员人工操作,即可实现插件的自动调用,简化插件使用过程,节省开发人员的时间及精力,便于开发人员使用。
在本发明的又一实施例中,还提供一种实现插件自动化的装置,如图5所示,该装置包括:
执行调用模块11,用于在检测到向服务器提交内容的内容提交操作时,执行预设的钩子文件中的钩子函数,利用所述钩子函数调用插件管理器;
插件获取模块12,用于若预设的钩子存储区域中未存储插件,通过所述插件管理器向服务器发送用于获取插件的插件获取请求;
存储安装模块13,用于若接收到服务器返回的插件,将所述插件存储至所述钩子存储区域中,以使系统自动安装所述插件。
在本发明的又一实施例中,所述装置还包括:
请求更新模块,用于若预设的钩子存储区域中已存储插件,通过所述插件管理器向服务器发送用插件更新请求,所述插件更新请求中包括:所述钩子存储区域中已存储的插件的插件标识及插件版本号;
插件更新模块,用于若接收到服务器返回的与所述插件标识对应且插件版本号不同的插件,利用返回的插件更新所述钩子存储区域中对应的已存储的插件。
在本发明的又一实施例中,所述装置还包括:
类型提取模块,用于在插件更新完毕后,通过所述插件管理器提取所述提交内容的内容类型;
插件触发模块,用于触发与所述内容类型对应的插件,通过所述插件对所述提交内容进行处理;
内容提交模块,用于将经过处理的提交内容提交至所述服务器。
在本发明的又一实施例中,所述装置还包括:
钩子确定模块,用于在集成开发工具Xcode被触发编译时,运行预先添加在所述Xcode中的安装脚本,通过所述安装脚本确定钩子存储区域中是否存在钩子文件;
钩子添加模块,用于若所述钩子存储区域中存在所述钩子文件,向所述钩子文件中添加所述钩子函数。
在本发明的又一实施例中,所述钩子添加模块,还用于:
语言检测单元,用于检测所述钩子文件的编程语言;
钩子添加单元,用于向所述钩子文件中添加与所述编程语言的语言类型对应的钩子函数。
在本发明的又一实施例中,所述装置还包括:
文件添加模块,用于若所述钩子存储区域中不存在所述钩子文件,将包含所述钩子函数的钩子文件添加至所述钩子存储区域。
在本发明的又一实施例中,还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现方法实施例所述的实现插件自动化的方法。
在本发明的又一实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有实现插件自动化的方法程序,所述实现插件自动化的方法程序被处理器执行时实现方法实施例所述的实现插件自动化的方法的步骤。
本发明实施例提供的电子设备,处理器通过执行存储器上所存放的程序实现了获取视频的播放操作,根据播放操作确认相应的帧率降低策略,根据帧率降低策略对视频数据对应的帧数据进行调整后进行播放,保证播放设备可以良好的播放视频。
上述电子设备提到的通信总线1140可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构 (ExtendedIndustryStandardArchitecture,简称EISA)总线等。该通信总线 1140可以分为地址总线、数据总线、控制总线等。为便于表示,图6 中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1120用于上述电子设备与其他设备之间的通信。
存储器1130可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器1110可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称 DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘 SolidStateDisk(SSD))等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种实现插件自动化的方法,其特征在于,包括:
在检测到向服务器提交内容的内容提交操作时,执行预设的钩子文件中的钩子函数,利用所述钩子函数调用插件管理器;
若预设的钩子存储区域中未存储插件,通过所述插件管理器向服务器发送用于获取插件的插件获取请求;
若接收到服务器返回的插件,将所述插件存储至所述钩子存储区域中,以使系统自动安装所述插件。
2.根据权利要求1所述的实现插件自动化的方法,其特征在于,所述方法还包括:
若预设的钩子存储区域中已存储插件,通过所述插件管理器向服务器发送用插件更新请求,所述插件更新请求中包括:所述钩子存储区域中已存储的插件的插件标识及插件版本号;
若接收到服务器返回的与所述插件标识对应且插件版本号不同的插件,利用返回的插件更新所述钩子存储区域中对应的已存储的插件。
3.根据权利要求2所述的实现插件自动化的方法,其特征在于,所述方法还包括:
在插件更新完毕后,通过所述插件管理器提取所述提交内容的内容类型;
触发与所述内容类型对应的插件,通过所述插件对所述提交内容进行处理;
将经过处理的提交内容提交至所述服务器。
4.根据权利要求1所述的实现插件自动化的方法,其特征在于,所述方法还包括:
在集成开发工具Xcode被触发编译时,运行预先添加在所述Xcode中的安装脚本,通过所述安装脚本确定钩子存储区域中是否存在钩子文件;
若所述钩子存储区域中存在所述钩子文件,向所述钩子文件中添加所述钩子函数。
5.根据权利要求4所述的实现插件自动化的方法,其特征在于,向所述钩子文件中添加所述钩子函数,包括:
检测所述钩子文件的编程语言;
向所述钩子文件中添加与所述编程语言的语言类型对应的钩子函数。
6.一种实现插件自动化的装置,其特征在于,包括:
执行调用模块,用于在检测到向服务器提交内容的内容提交操作时,执行预设的钩子文件中的钩子函数,利用所述钩子函数调用插件管理器;
插件获取模块,用于若预设的钩子存储区域中未存储插件,通过所述插件管理器向服务器发送用于获取插件的插件获取请求;
存储安装模块,用于若接收到服务器返回的插件,将所述插件存储至所述钩子存储区域中,以使系统自动安装所述插件。
7.根据权利要求6所述的实现插件自动化的装置,其特征在于,所述装置还包括:
请求更新模块,用于若预设的钩子存储区域中已存储插件,通过所述插件管理器向服务器发送用插件更新请求,所述插件更新请求中包括:所述钩子存储区域中已存储的插件的插件标识及插件版本号;
插件更新模块,用于若接收到服务器返回的与所述插件标识对应且插件版本号不同的插件,利用返回的插件更新所述钩子存储区域中对应的已存储的插件。
8.根据权利要求7所述的实现插件自动化的装置,其特征在于,所述装置还包括:
类型提取模块,用于在插件更新完毕后,通过所述插件管理器提取所述提交内容的内容类型;
插件触发模块,用于触发与所述内容类型对应的插件,通过所述插件对所述提交内容进行处理;
内容提交模块,用于将经过处理的提交内容提交至所述服务器。
9.根据权利要求6所述的实现插件自动化的装置,其特征在于,所述装置还包括:
钩子确定模块,用于在集成开发工具Xcode被触发编译时,运行预先添加在所述Xcode中的安装脚本,通过所述安装脚本确定钩子存储区域中是否存在钩子文件;
钩子添加模块,用于若所述钩子存储区域中存在所述钩子文件,向所述钩子文件中添加所述钩子函数。
10.根据权利要求9所述的实现插件自动化的装置,其特征在于,所述钩子添加模块,还用于:
语言检测单元,用于检测所述钩子文件的编程语言;
钩子添加单元,用于向所述钩子文件中添加与所述编程语言的语言类型对应的钩子函数。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的实现插件自动化的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有实现插件自动化的方法程序,所述实现插件自动化的方法程序被处理器执行时实现权利要求1-5任一所述的实现插件自动化的方法的步骤。
CN201910569340.9A 2019-06-27 2019-06-27 实现插件自动化的方法、装置、电子设备及存储介质 Active CN110457049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910569340.9A CN110457049B (zh) 2019-06-27 2019-06-27 实现插件自动化的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910569340.9A CN110457049B (zh) 2019-06-27 2019-06-27 实现插件自动化的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110457049A CN110457049A (zh) 2019-11-15
CN110457049B true CN110457049B (zh) 2023-01-10

Family

ID=68481765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910569340.9A Active CN110457049B (zh) 2019-06-27 2019-06-27 实现插件自动化的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110457049B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552524B (zh) * 2020-05-06 2023-10-13 Oppo(重庆)智能科技有限公司 一种插件加载方法、装置及计算机可读存储介质
CN112667246B (zh) * 2021-01-08 2024-03-01 深圳前海微众银行股份有限公司 应用功能扩展的方法、装置及电子设备
CN112835639B (zh) * 2021-01-29 2024-02-27 百度在线网络技术(北京)有限公司 一种Hook实现方法、装置、设备、介质及产品
CN114706567B (zh) * 2022-06-07 2022-09-20 广州易方信息科技股份有限公司 通过gitlab提交代码关联PM系统任务进度的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491236A (zh) * 2018-03-23 2018-09-04 努比亚技术有限公司 一种插件加载方法、装置及计算机可读存储介质
CN108563472A (zh) * 2018-04-03 2018-09-21 北京奇虎科技有限公司 基于多开应用的服务插件加载方法及装置
CN108984224A (zh) * 2018-06-13 2018-12-11 中国平安人寿保险股份有限公司 一种插件管理方法、计算机可读存储介质及终端设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9223594B2 (en) * 2011-07-01 2015-12-29 Exxonmobil Upstream Research Company Plug-in installer framework

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491236A (zh) * 2018-03-23 2018-09-04 努比亚技术有限公司 一种插件加载方法、装置及计算机可读存储介质
CN108563472A (zh) * 2018-04-03 2018-09-21 北京奇虎科技有限公司 基于多开应用的服务插件加载方法及装置
CN108984224A (zh) * 2018-06-13 2018-12-11 中国平安人寿保险股份有限公司 一种插件管理方法、计算机可读存储介质及终端设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PluginManager分析;Achillisjack;《https://blog.csdn.net/u012439416/article/details/76595675》;20170802;全文 *
pytest插件探索——hook开发;hdw868;《https://segmentfault.com/a/1190000018623872》;20190323;全文 *

Also Published As

Publication number Publication date
CN110457049A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
CN110457049B (zh) 实现插件自动化的方法、装置、电子设备及存储介质
JP5658283B2 (ja) アプリケーションの稼働方法、装置及びシステム
CN105786538B (zh) 基于安卓系统的软件升级方法和装置
CN107992308B (zh) 一种安卓终端应用程序的插件化管理方法
US20180181482A1 (en) Monitoring Activity of Software Development Kits Using Stack Trace Analysis
CN108874426B (zh) 一种应用程序更新方法、装置及可读存储介质
CN111427596B (zh) 一种软件升级的方法、装置及终端设备
CN110119280A (zh) 多固件升级的方法及装置
EP3828696A1 (en) Method invoke chain tracing method, electronic apparatus, and computer-readable storage medium
CN110659210A (zh) 一种信息获取方法、装置、电子设备及存储介质
CN108874427B (zh) 一种更新进度获取方法、装置及可读存储介质
CN111538523A (zh) 差分升级方法、设备及存储介质
CN113342419B (zh) 一种推送系统加载方法、装置、电子设备及存储介质
CN110750280A (zh) 一种基于Android平台的应用升级方法及系统、存储介质
CN113094064A (zh) 网关软件模块升级方法、装置、设备及存储介质
CN112181467A (zh) 终端的存储器固件升级方法、装置、终端和存储介质
CN109901849B (zh) 应用程序安装方法、装置、电子设备及存储介质
CN110764809A (zh) Ota升级apn方法、装置、设备和介质
CN113590179B (zh) 插件检测方法、装置、电子设备及存储介质
KR101434094B1 (ko) 안드로이드 플랫폼에서 인텐트 모니터링을 통한 유해 어플리케이션 차단 방법
CN116521251A (zh) 服务管理方法、装置、计算机设备及存储介质
CN112379943A (zh) Electron应用程序的插件应用方法及装置、存储介质
CN113867756A (zh) 软件升级方法、终端设备及可读存储介质
CN112527371A (zh) 一种引导加载程序升级方法、装置、电子设备及存储介质
CN110825406A (zh) 一种软件升级的方法及相关设备

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