CN110874226B - 一种android系统功能升级的方法 - Google Patents

一种android系统功能升级的方法 Download PDF

Info

Publication number
CN110874226B
CN110874226B CN201810995193.7A CN201810995193A CN110874226B CN 110874226 B CN110874226 B CN 110874226B CN 201810995193 A CN201810995193 A CN 201810995193A CN 110874226 B CN110874226 B CN 110874226B
Authority
CN
China
Prior art keywords
configuration script
script
lua
configuration
interface
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
CN201810995193.7A
Other languages
English (en)
Other versions
CN110874226A (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.)
Shandong Chinasoft Goldencis Software Co ltd
Original Assignee
Shandong Chinasoft Goldencis Software 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 Shandong Chinasoft Goldencis Software Co ltd filed Critical Shandong Chinasoft Goldencis Software Co ltd
Priority to CN201810995193.7A priority Critical patent/CN110874226B/zh
Publication of CN110874226A publication Critical patent/CN110874226A/zh
Application granted granted Critical
Publication of CN110874226B publication Critical patent/CN110874226B/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/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明提供了一种android系统功能升级的方法,在android开发平台引入配置脚本lua,通过反射机制将关键的功能通过Java反射的方式暴露给配置脚本进行调用,并通过JNI接口实现对配置脚本的接口的调用(实现配置脚本端和移动端的互相调用完成我们需要的功能),并在android移动端实现了脚本版本库(可以随时更新服务端新的配置lua脚本),进行android端功能升级或者修复时只需要将新的lua脚本更新到升级服务器,手机端就能通过更新服务端新版本的配置脚本来实现功能的热升级或者是bug的热修复。本发明仅需开发完成新的lua配置脚本然后部署到服务端,移动端功能升级仅需后台下载新版本配置脚本,配置脚本升级过程无感知,不需要重新安装,后台静默升级。

Description

一种android系统功能升级的方法
技术领域
本发明涉及android系统功能升级技术领域,具体地说是一种android系统功能升级的方法。
背景技术
由于市面上定制版的android系统型号很多,android系统app开发会遇到频繁的手机适配场景,常规的适配方式是需要适配新的系统或者机型都调整android安装包的相关源码重新进行android安装包打包,然后提示用户重新安装android安装包进行覆盖安装升级,这种方式需要进行频繁的重新打包(每次适配都需要重新打包),下载整个android安装包(流量开销很大,和android安装包文件的体积挂钩,尤其是在流量环境下),用户手动重新安装,代价比较高。
发明内容
本发明的目的是解决上述现有技术的不足,提供一种android系统功能升级的方法。
本发明解决其技术问题所采用的技术方案是:
一种android系统功能升级的方法,包括以下步骤:
步骤一、移动端定时向服务端对比本地配置脚本和服务端配置脚本的版本号;
步骤二、移动端接收到服务端返回的数据动态并进行加载解析,提取所需字段,并获取相应字段对应的配置脚本内容;
步骤三、将配置脚本内容缓存到配置脚本端的本地配置脚本目录下,配置脚本文件名为配置脚本名+配置脚本版本号的方式,并更新内存中的配置脚本缓存;
步骤四、调用者运行配置脚本端的配置脚本时将需要运行的配置脚本名传给脚本框架;
步骤五、脚本框架接口根据配置脚本名检索其所对应的配置脚本文件名所在的绝对路径,读取该配置脚本文件名对应的文件内容并反馈给脚本框架接口;
步骤六、脚本框架接口将文件内容通过JNI接口传递给解析引擎进行配置脚本的编译和执行;
步骤七、配置脚本执行完成后将配置脚本的执行结果返回给JNI接口的调用者。
优选的,所述脚本框架集成cjson功能加入对Json描述语言的支持,并通过android开发包将新的配置脚本编译成能被JNI接口直接调用的库。
优选的,所述移动端通过反射查找配置脚本端需要调用的Java类和函数,如果查找成功,按照配置脚本端调用的方式进行传参调用,如果查找失败,抛出接口异常;所述移动端封装配置脚本调用接口,提供传参功能,并实现Java对象传递、配置脚本语法检查和配置脚本调用功能。
优选的,所述步骤六的具体执行流程为:
a、JNI接口的调用者通过JNI接口加载缓存的文件内容,并进行基本语法检测;
b、获取配置脚本的入口函数,将配置脚本需要调用的Java类传入;
c、将需要传递给配置脚本的字符串参数存到lua栈中;
d、使用调用函数调用配置脚本,调用完成后将配置脚本返回的字符串反馈给调用函数。
优选的,所述配置脚本端可调用移动端接口,在配置脚本初始化入口将lua接口进行初始化并内置到lua函数库中,所述lua接口包括bindClass方法和newInstance方法,
所述bindClass方法:在配置脚本中绑定Java类,用以调用Java静态类函数;
所述newInstance方法:在配置脚本中创建新的Java类对象。
优选的,所述配置脚本缓存以哈希表的方式进行缓存,键值为配置脚本名,对应的配置脚本信息包括在本地的绝对路径、配置脚本的版本号、配置脚本的具体内容。
进一步的,所述字符串为Json串。
进一步的,所述配置脚本为lua配置脚本。
本发明以很小的代价进行功能的热更新和热修复,仅需开发完成新的lua配置脚本然后部署到服务端,移动端功能升级不再需要下载整个新的android安装包,仅需后台下载新版本配置脚本,配置脚本升级过程无感知,不需要重新安装,后台静默升级。
附图说明
构成本发明的一部分附图用来提供对本发明的进一步理解。在附图中:
图1是本发明一种android系统功能升级的方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
缩略语和关键术语定义:
lua:一种轻量级嵌入式脚本,由c语言开发,俗称“胶水语言”,能够方便的和c/c++语言进行互相调用,能运行在所有支持c语言的操作系统中。
Json:JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式,使用“键”“值”的方式进行数据描述。
APK:APK是AndroidPackage的缩写,即android安装包(apk),是android平台开发编译生成的应用安装包。
JNI:JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。从Java1.1开始,JNI标准成为Java平台的一部分,它允许Java代码和其他语言写的代码进行交互。
热更新、热修复:指不需要重启应用,用户无感知的前提下实现功能的调整和bug的修复。
在android开发平台引入配置脚本lua,通过反射机制将关键的功能通过Java反射的方式暴露给配置脚本进行调用,并通过JNI接口实现对配置脚本的接口的调用(实现配置脚本端和移动端的互相调用完成我们需要的功能),并在android移动端实现了脚本版本库(可以随时更新服务端新的配置lua脚本),进行android端功能升级或者修复时只需要将新的lua脚本更新到升级服务器,手机端就能通过更新服务端新版本的配置脚本来实现功能的热升级或者是bug的热修复。
一种android系统功能升级的方法,包括以下步骤:
步骤一、移动端定时向服务端对比本地lua配置脚本和服务端lua配置脚本的版本号;
步骤二、移动端接收到服务端返回的数据动态并进行加载解析,提取所需字段,并获取相应字段对应的lua配置脚本内容;
步骤三、将lua配置脚本内容缓存到配置脚本端的本地配置脚本目录下,配置脚本文件名为lua配置脚本名+lua配置脚本版本号的方式,并更新内存中的lua配置脚本缓存;
步骤四、调用者运行配置脚本端的lua配置脚本时将需要运行的lua配置脚本名传给脚本框架;
步骤五、脚本框架接口根据lua配置脚本名检索其所对应的lua配置脚本文件名所在的绝对路径,读取该lua配置脚本文件名对应的文件内容并反馈给脚本框架接口;
步骤六、脚本框架接口将文件内容通过JNI接口加载缓存的文件内容,并进行基本语法检测;获取lua配置脚本的入口函数ScripyEntry,将lua配置脚本需要调用的Java类传入;将需要传递给lua配置脚本的Json字符串参数存到lua栈中;使用调用函数调用lua配置脚本,调用完成后将lua配置脚本返回的Json字符串反馈给调用函数,通过lua解析引擎进行lua配置脚本的编译和执行;
步骤七、lua配置脚本执行完成后将lua配置脚本的执行结果返回给JNI接口的调用者。
所述脚本框架集成cjson功能加入对Json描述语言的支持,并通过android开发包将新的lua配置脚本编译成能被JNI接口直接调用的库。
所述移动端通过反射查找lua配置脚本端需要调用的Java类和函数,如果查找成功,按照lua配置脚本端调用的方式进行传参调用,如果查找失败,抛出接口异常;所述移动端封装lua配置脚本调用接口,提供传参功能,并实现Java对象传递、lua配置脚本语法检查和lua配置脚本调用功能。
所述配置脚本端可调用移动端接口,在lua配置脚本初始化入口将lua接口进行初始化并内置到lua函数库中,所述lua接口包括bindClass方法和newInstance方法,
所述bindClass方法:在配置脚本中绑定Java类,用以调用Java静态类函数;
所述newInstance方法:在lua配置脚本中创建新的Java类对象,该方法的实现原理是lua的底层c实现通过jdk的JNI反射接口查找上层Java模块的javaNewInstance接口,在该接口中真正的创建指定的Java对象,并将该对象映射成lua成员变量提供给lua配置脚本使用,通过该变量可以反射的形式调用Java层的类接口。
配置脚本的版本管理的设计模式采用单一功能原则,每个lua配置脚本完成单个的功能模块,随apk打包的lua配置脚本放到apk的asset资源目录下面,首次安装时写入缓存中,调用lua配置脚本的接口通过lua配置脚本名进行调用。
lua配置脚本名格式如下testscript_1001.lua,前面的是lua配置脚本名供接口调用,后面的是lua配置脚本的版本号。
脚本版本维护模块首次加载会先加载位于asset中所有的适配脚本,然后定时的检查服务端是否有更新的lua配置脚本,检查的方式是定时的将本地现有的lua配置脚本名和lua配置脚本版本号提交给服务端,服务端收到移动端提交的请求后检查服务端的缓存,查看该lua配置脚本对应的版本号,如果版本号比移动端的大就将该lua配置脚本内容base64编码后反馈给移动端,移动端接收到服务端反馈的脚本内容base64解码后写入到本地文件中存储,并写入到移动端的脚本缓存中。
本地脚本缓存以哈希表的方式进行缓存,键值是lua配置脚本名,对应的lua配置脚本信息有lua配置脚本在本地的绝对路径,lua配置脚本的版本号,lua配置脚本的具体内容等。调用接口调用时仅传入lua配置脚本名即可调用,调用者传入lua配置脚本名后脚本引擎框架会到缓存的哈希表中,缓存完成后清除旧的脚本缓存,并将旧脚本文件从android内存中删除。
移动端和服务端为了尽量降低网络对脚本执行的影响设计为异步的方式进行执行。实现方式是启动单独的线程进行和服务端数据的交换,从服务端获取到lua配置脚本信息以后将新的脚本信息刷入lua配置脚本缓存。lua配置脚本调用接口试图获取lua配置脚本内容时直接从lua配置脚本缓存中获取,最大程度避免了网络延迟对lua配置脚本调用的影响。
移动端和服务端之间的数据交互基于易扩展,易维护原则设计为Json格式,移动端接收到服务端返回的数据动态的加载解析,提取自己需要的字段,这里我们协议的格式大致如下:
请求lua配置脚本的Json格式:
{
“script”:”请求的lua配置脚本名称”,
“curVer”:”移动端本地的lua配置脚本版本号”
}
服务端回执的Json格式:
{
“status”:0,//结果状态,0:成功1:失败
“version”:”服务端的脚本版本号”,
“desc”:”失败的相关描述(如果需要的话)”,
“content”:“配置脚本的具体内容,base64编码”
}
移动端收到服务端返回的Json后先解析出status字段,如果该字段不为0,说明服务端没有更新的脚本,直接返回,如果为0,获取version字段,跟本地的lua配置脚本版本号进行对比,如果版本号小于或者等于本地的版本,不再处理,直接返回。如果version字段大于本地脚本版本,继续获取content字段,获取到后进行base64解码,然后将配置脚本内容缓存到本地脚本目录下,脚本文件名同样是配置脚本名+配置脚本版本号的方式,同时更新内存中的lua配置脚本缓存。
调用者尝试运行脚本时只需将需要运行的脚本名传给脚本框架即可,接口从缓存的哈希表中检索lua配置脚本文件所在绝对路径,然后读取该lua配置脚本文件的内容并将lua配置脚本反馈给接口,调用接口收到lua配置脚本文件的具体内容后将lua配置脚本内容通过JNI接口传递给底层的lua解析引擎进行真正的脚本编译和执行,脚本执行完成后将脚本的执行结果通过Json串的方式返回给JNI调用者。
配置脚本端和移动端的android调用层通过Json串来进行数据交换,android调用层调用一个脚本时会将需要告诉脚本的数据格式化成一个Json字符串,并将这个字符串作为配置脚本的首个参数传递给配置脚本,配置脚本的入口函数ScripyEntry执行完成之后,同样将生成的结果生成Json串,将脚本的执行结果以Json串的形式告诉android调用方,至此,android调用方和配置脚本之间的交互就完成了。
已开发完成的android app的某个功能需要适配一个新的手机型号,需要做的就是将调试完成新的lua配置脚本更新下lua配置脚本的版本号,然后部署到apk连接的服务器端,apk端即会自动的下载并调用新的lua配置脚本,这样,无需重新安装整个apk包只需要更新单个的lua配置脚本即可完成功能的热更新。
所述一种android系统功能升级的方法是基于Android系统的移动设备来实现的,所述移动设备包括处理器和存储器,所述处理器读取并执行存储器中实现android系统功能升级的方法的程序。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种android系统功能升级的方法,包括以下步骤:
步骤一、移动端定时向服务端对比本地配置脚本和服务端配置脚本的版本号;
步骤二、移动端接收到服务端返回的数据动态并进行加载解析,提取所需字段,并获取相应字段对应的配置脚本内容;
步骤三、将配置脚本内容缓存到配置脚本端的本地配置脚本目录下,配置脚本文件名为配置脚本名+配置脚本版本号的方式,并更新内存中的配置脚本缓存;
步骤四、调用者运行配置脚本端的配置脚本时将需要运行的配置脚本名传给脚本框架;
步骤五、脚本框架接口根据配置脚本名检索其所对应的配置脚本文件名所在的绝对路径,读取该配置脚本文件名对应的文件内容并反馈给脚本框架接口;
步骤六、脚本框架接口将所述步骤五的文件内容通过JNI接口传递给解析引擎进行配置脚本的编译和执行;
步骤七、配置脚本执行完成后将配置脚本的执行结果返回给JNI接口的调用者;
所述步骤六的具体执行流程为:
a、JNI接口的调用者通过JNI接口加载缓存的文件内容,并进行基本语法检测;
b、获取配置脚本的入口函数,将配置脚本需要调用的Java类传入;
c、将需要传递给配置脚本的字符串参数存到lua栈中;
d、使用调用函数调用配置脚本,调用完成后将配置脚本返回的字符串反馈给调用函数。
2.根据权利要求1所述的一种android系统功能升级的方法,其特征在于:所述脚本框架集成cjson功能加入对Json描述语言的支持,并通过android开发包将新的配置脚本编译成能被JNI接口直接调用的库。
3.根据权利要求1所述的一种android系统功能升级的方法,其特征在于:所述移动端通过反射查找配置脚本端需要调用的Java类和函数,如果查找成功,按照配置脚本端调用的方式进行传参调用,如果查找失败,抛出接口异常;所述移动端封装配置脚本调用接口,提供传参功能,并实现Java对象传递、配置脚本语法检查和配置脚本调用功能。
4.根据权利要求1所述的一种android系统功能升级的方法,其特征在于:所述配置脚本端可调用移动端接口,在配置脚本初始化入口将lua接口进行初始化并内置到lua函数库中,所述lua接口包括bindClass方法和newInstance方法,
所述bindClass方法:在配置脚本中绑定Java类,用以调用Java静态类函数;
所述newInstance方法:在配置脚本中创建新的Java类对象。
5.根据权利要求1所述的一种android系统功能升级的方法,其特征在于:所述配置脚本缓存以哈希表的方式进行缓存,键值为配置脚本名,对应的配置脚本信息包括在本地的绝对路径、配置脚本的版本号、配置脚本的具体内容。
6.根据权利要求1所述的一种android系统功能升级的方法,其特征在于:所述字符串为Json串。
7.根据权利要求2-5任一项权利要求所述的一种android系统功能升级的方法,其特征在于:所述配置脚本为lua配置脚本。
CN201810995193.7A 2018-08-29 2018-08-29 一种android系统功能升级的方法 Active CN110874226B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810995193.7A CN110874226B (zh) 2018-08-29 2018-08-29 一种android系统功能升级的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810995193.7A CN110874226B (zh) 2018-08-29 2018-08-29 一种android系统功能升级的方法

Publications (2)

Publication Number Publication Date
CN110874226A CN110874226A (zh) 2020-03-10
CN110874226B true CN110874226B (zh) 2023-05-02

Family

ID=69714766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810995193.7A Active CN110874226B (zh) 2018-08-29 2018-08-29 一种android系统功能升级的方法

Country Status (1)

Country Link
CN (1) CN110874226B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991449B (zh) * 2023-09-28 2024-03-08 阿里云计算有限公司 内核子系统热升级方法、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848064A (en) * 1996-08-07 1998-12-08 Telxon Corporation Wireless software upgrades with version control
CN104111855A (zh) * 2014-07-29 2014-10-22 广东能龙教育股份有限公司 一种基于Lua的iOS客户端功能动态更新的方法
CN104123168A (zh) * 2014-08-07 2014-10-29 广州金山网络科技有限公司 一种应用升级方法及装置
CN104156247A (zh) * 2014-08-14 2014-11-19 广州金山网络科技有限公司 一种应用升级方法及装置
CN105657191A (zh) * 2016-03-29 2016-06-08 Tcl集团股份有限公司 一种基于Android系统的应用增量升级方法及系统
CN106648784A (zh) * 2016-12-27 2017-05-10 Tcl集团股份有限公司 一种基于android系统的OTA升级方法及系统、android终端
WO2017088388A1 (zh) * 2015-11-25 2017-06-01 乐视控股(北京)有限公司 应用的sdk的升级方法及系统
CN106874195A (zh) * 2017-01-18 2017-06-20 环球智达科技(北京)有限公司 一种针对android应用的bug修复和持续交付方案
CN108279902A (zh) * 2018-02-08 2018-07-13 合肥盈云信息科技有限公司 基于Lua脚本技术的多终端共享底层框架生成、应用方法
CN108304205A (zh) * 2018-01-30 2018-07-20 努比亚技术有限公司 一种应用程序的更新方法、终端及计算机可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013033222A1 (en) * 2011-08-29 2013-03-07 Fiberlink Communications Corporation Platform for deployment and distribution of modules to endpoints
US10846074B2 (en) * 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
CN105706060B (zh) * 2013-09-04 2018-11-27 惠普发展公司,有限责任合伙企业 数据包的报头部分下载
CN106598673B (zh) * 2016-12-16 2021-01-01 武汉斗鱼网络科技有限公司 一种应用程序升级方法及系统
CN107948239A (zh) * 2017-10-16 2018-04-20 大唐网络有限公司 基于Android系统的版本升级方法及其系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848064A (en) * 1996-08-07 1998-12-08 Telxon Corporation Wireless software upgrades with version control
CN104111855A (zh) * 2014-07-29 2014-10-22 广东能龙教育股份有限公司 一种基于Lua的iOS客户端功能动态更新的方法
CN104123168A (zh) * 2014-08-07 2014-10-29 广州金山网络科技有限公司 一种应用升级方法及装置
CN104156247A (zh) * 2014-08-14 2014-11-19 广州金山网络科技有限公司 一种应用升级方法及装置
WO2017088388A1 (zh) * 2015-11-25 2017-06-01 乐视控股(北京)有限公司 应用的sdk的升级方法及系统
CN105657191A (zh) * 2016-03-29 2016-06-08 Tcl集团股份有限公司 一种基于Android系统的应用增量升级方法及系统
CN106648784A (zh) * 2016-12-27 2017-05-10 Tcl集团股份有限公司 一种基于android系统的OTA升级方法及系统、android终端
CN106874195A (zh) * 2017-01-18 2017-06-20 环球智达科技(北京)有限公司 一种针对android应用的bug修复和持续交付方案
CN108304205A (zh) * 2018-01-30 2018-07-20 努比亚技术有限公司 一种应用程序的更新方法、终端及计算机可读存储介质
CN108279902A (zh) * 2018-02-08 2018-07-13 合肥盈云信息科技有限公司 基于Lua脚本技术的多终端共享底层框架生成、应用方法

Also Published As

Publication number Publication date
CN110874226A (zh) 2020-03-10

Similar Documents

Publication Publication Date Title
CN105100191B (zh) 一种云编译实现Java应用安装的方法、装置及系统
US7310801B2 (en) Servicing a component-based software product throughout the software product lifecycle
US6948164B2 (en) Method and system for modifying executable code to add additional functionality
US10331425B2 (en) Automated source code adaption to inject features between platform versions
CN111090452B (zh) 服务环境的切换方法及计算机可读存储介质
CN112835975B (zh) 一种在区块链中部署、更新、调用智能合约的方法
CN110175055B (zh) 一种基于服务的浏览器与指纹仪的调用方法
US20030229685A1 (en) Hardware abstraction interfacing system and method
CN105468427A (zh) 一种自动编译和发布的实现方法及系统
CN112463198B (zh) 基于Electron的更新方法及系统
US20090144711A1 (en) System and method for common compiler services based on an open services gateway initiative architecture
US10866803B2 (en) Generating interaction libraries
KR102052776B1 (ko) 병행가능하고 신뢰성 있는 설치를 위한 설치 엔진 및 패키지 포맷
CN112363726A (zh) 一种内核模块的跨内核版本编译方法及系统
CN112148297A (zh) 一种服务器智能加密打包方法和装置
CN110874226B (zh) 一种android系统功能升级的方法
WO2022120640A1 (zh) 基于electron的更新方法及系统
CN113220303A (zh) 一种内核模块的编译方法和系统
WO2024088151A1 (zh) 一种获得补丁包的方法及通信装置
CN111683005B (zh) 一种物联网智能网关设备及其构建方法
CN110659022B (zh) 一种基于Java自动调用Python脚本的方法
CN107239265B (zh) Java函数与C函数的绑定方法及装置
CN109933355A (zh) 应用程序升级方法及装置
KR101955356B1 (ko) 취약 함수 사용에 의한 취약점을 보완하기 위한 바이너리 패치 장치 및 그 방법
KR102337961B1 (ko) 모노리틱 아키텍처와 마이크로서비스 아키텍처를 모두 지원하는 개발 프레임워크 제공 시스템, 이를 이용한 애플리케이션 개발 방법 및 이를 위한 컴퓨터 프로그램

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
PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20231113

Granted publication date: 20230502