一种车机状态栏的修复方法、装置、介质和电子设备与流程
未命名
10-19
阅读:101
评论:0
1.本技术涉及车辆系统升级技术技术领域,具体而言,涉及一种车机状态栏的修复方法、装置、介质和电子设备。
背景技术:
2.车机状态栏,是一个系统级的应用。类似于手机的状态栏、底部的home键、常用应用区和快捷菜单。特点是,常显在桌面上方和/或下方。因此需要脚本进行动态控制。而不是像普通应用那样,点击桌面进行启动控制。
3.车机系统上线后,当车机状态栏出现问题时,由于车机不在开发人员身边,只能依靠用户反馈,才能分析定位问题。当找到原因修复后,还需要依赖系统重新发布版本,并引导用户参与更新。不仅流程复杂,消耗流量,产品升级慢,还严重影响用户体验。
4.因此,本技术提供了一种车机状态栏的修复方法,以解决上述技术问题。
技术实现要素:
5.本技术的目的在于提供一种车机状态栏的修复方法、装置、介质和电子设备,能够解决上述提到的至少一个技术问题。具体方案如下:
6.根据本技术的具体实施方式,第一方面,本技术提供一种车机状态栏的修复方法,包括:
7.可选的,所述补丁包包括dex文件的补丁包;
8.相应地,所述基于所述下发补丁规则将所述补丁包下发至前台,包括:
9.基于所述下发补丁规则将所述dex文件的补丁包下发至前台,加入dex元素数组中的优先读取位置。
10.可选的,所述响应于接收到所述前台的修复请求,运行所述修复脚本,以便利用所述前台的补丁包修复所述状态栏,包括:
11.响应于接收到所述前台的修复请求,启动所述修复脚本监听所述状态栏的运行状态;
12.当所述状态栏的运行状态为停止状态时,所述修复脚本利用所述前台的补丁包修复所述状态栏。
13.可选的,所述响应于接收到所述前台的修复请求,启动所述修复脚本监听所述状态栏的运行状态,包括:
14.响应于接收到所述前台的修复请求,启动所述修复脚本周期性的向所述状态栏发送探测消息;
15.当在预设时长内未接收到所述状态栏响应于所述探测消息发送的反馈消息时,确定所述状态栏的运行状态为停止状态。
16.可选的,所述方法还包括:
17.当接收到所述状态栏响应于所述探测消息发送的反馈消息时,确定所述状态栏的
运行状态为活动状态。
18.可选的,所述当所述状态栏的运行状态为停止状态时,所述修复脚本利用所述前台的补丁包修复所述状态栏之后,还包括:
19.所述修复脚本通过动态再启动的方式将与所述状态栏相关的应用再拉起。
20.可选的,所述获取用于修复状态栏的补丁包,包括:
21.响应于接收到紧急修复申请,获取用于修复状态栏的补丁包。
22.根据本技术的具体实施方式,第二方面,本技术提供一种车机状态栏的修复装置,包括:
23.获取单元,用于获取用于修复状态栏的补丁包;
24.确定单元,用于基于所述补丁包确定下发补丁规则和修复脚本;
25.下发单元,用于基于所述下发补丁规则将所述补丁包下发至前台;
26.修复单元,用于响应于接收到所述前台的修复请求,运行所述修复脚本,以便利用所述前台的补丁包修复所述状态栏。
27.可选的,所述补丁包包括dex文件的补丁包;
28.相应地,所述基于所述下发补丁规则将所述补丁包下发至前台,包括:
29.基于所述下发补丁规则将所述dex文件的补丁包下发至前台,加入dex元素数组中的优先读取位置。
30.可选的,所述响应于接收到所述前台的修复请求,运行所述修复脚本,以便利用所述前台的补丁包修复所述状态栏,包括:
31.响应于接收到所述前台的修复请求,启动所述修复脚本监听所述状态栏的运行状态;
32.当所述状态栏的运行状态为停止状态时,所述修复脚本利用所述前台的补丁包修复所述状态栏。
33.可选的,所述响应于接收到所述前台的修复请求,启动所述修复脚本监听所述状态栏的运行状态,包括:
34.响应于接收到所述前台的修复请求,启动所述修复脚本周期性的向所述状态栏发送探测消息;
35.当在预设时长内未接收到所述状态栏响应于所述探测消息发送的反馈消息时,确定所述状态栏的运行状态为停止状态。
36.当接收到所述状态栏响应于所述探测消息发送的反馈消息时,确定所述状态栏的运行状态为活动状态。
37.可选的,所述当所述状态栏的运行状态为停止状态时,所述修复脚本利用所述前台的补丁包修复所述状态栏之后,还包括:
38.所述修复脚本通过动态再启动的方式将与所述状态栏相关的应用再拉起。
39.可选的,所述获取用于修复状态栏的补丁包,包括:
40.响应于接收到紧急修复申请,获取用于修复状态栏的补丁包。
41.根据本技术的具体实施方式,第三方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上任一项所述车机状态栏的修复方法。
42.根据本技术的具体实施方式,第四方面,本技术提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上任一项所述车机状态栏的修复方法。
43.本技术实施例的上述方案与现有技术相比,至少具有以下有益效果:
44.本技术提供了一种车机状态栏的修复方法、装置、介质和电子设备。本技术的管理后台在获取修复状态栏的补丁包后,确定与所述补丁包相匹配的下发补丁规则和修复脚本,利用下发补丁规则下发补丁包,利用状态栏的系统级应用增加了保活机制,利用了修复脚本使用灵活、方便编辑的特点,通过修复脚本动态控制状态栏的修复。实现了状态栏修复的自动化,修复速度快,使用户在无感的情况下完成修复,提高了用户体验。
附图说明
45.图1示出了根据本技术实施例的车机状态栏的修复方法的流程图;
46.图2示出了根据本技术实施例的车机状态栏的修复装置的单元框图。
具体实施方式
47.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
48.在本技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
49.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
50.应当理解,尽管在本技术实施例中可能采用术语第一、第二、第三等来描述,但这些描述不应限于这些术语。这些术语仅用来将描述区分开。例如,在不脱离本技术实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
51.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
52.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
53.特别需要说明的是,在说明书中存在的符号和/或数字,如果在附图说明中未被标
记的,均不是附图标记。
54.下面结合附图详细说明本技术的可选实施例。
55.对本技术提供的实施例,即一种车机状态栏的修复方法的实施例,本技术应用于车机的管理后台。
56.管理后台,是指管理系统和配置系统。
57.下面结合图1对本技术实施例进行详细说明。
58.步骤s101,获取用于修复状态栏的补丁包。
59.补丁包,是在车机状态栏上出现缺陷时,针对状态栏在运行过程中暴露的问题而发布的解决问题的小程序包。补丁包包括代码修复包和资源更新包。
60.车机状态栏的补丁包是通过远程服务器下发至车辆中的基准包生成的,然后交给管理后台进行修复。
61.步骤s102,基于所述补丁包确定下发补丁规则和修复脚本。
62.在管理后台中预设了多个下发补丁规则和多个修复脚本。管理后台根据所述补丁包的类型和用途指定相应的下发补丁规则和修复脚本。
63.下发补丁规则,规定了补丁包下发至至前台的执行规则。例如,是否需要强制修复,或者推荐修复;针对哪些区域;针对哪个时间段,比如,晚上10点之后;针对某一些车辆,比如对h9系列进行统一修复。
64.修复脚本,是利用前台的补丁包修复状态栏的执行主体。车机状态栏启动分为:冷启动,热启动,是否需要动态拉起,是否强制升级等。修复脚本中的内容包括:是否安装应用新包、是否重启应用、是否卸载应用和/或是否清除应用缓存。通过管理后台配置修复脚本,以实现状态栏修复的目的。
65.下发补丁规则和修复脚本均是与补丁包相匹配的,不同类型的补丁包应用不同的下发补丁规则和修复脚本。
66.步骤s103,基于所述下发补丁规则将所述补丁包下发至前台。
67.所述前台,包括与用户直接交互的界面。例如,车机状态栏。
68.在一些具体实施例中,所述补丁包包括dex文件的补丁包。
69.相应地,所述基于所述下发补丁规则将所述补丁包下发至前台,包括:
70.步骤s103a,基于所述下发补丁规则将所述dex文件的补丁包下发至前台,加入dex元素数组中的优先读取位置。
71.加入dex元素数组中的优先读取位置后,当加载class时,优先找到dex元素数组中处于优先读取位置的补丁包中的dex文件(即最新加入的补丁包中的dex文件),加载后将不再寻找dex文件,使原来的apk文件中同名的类就不会再加载,从而达到修复的目的,避免了原有系统有问题的同名类的干扰。
72.步骤s104,响应于接收到所述前台的修复请求,运行所述修复脚本,以便利用所述前台的补丁包修复所述状态栏。
73.区别于桌面中普通应用,状态栏的系统级应用增加了保活机制,利用了修复脚本使用灵活、方便编辑的特点,通过修复脚本动态控制状态栏的修复。
74.在一些具体实施例中,所述响应于接收到所述前台的修复请求,运行所述修复脚本,以便利用所述前台的补丁包修复所述状态栏,包括以下步骤:
75.步骤s104-1,响应于接收到所述前台的修复请求,启动所述修复脚本监听所述状态栏的运行状态。
76.在一些具体实施例中,所述响应于接收到所述前台的修复请求,启动所述修复脚本监听所述状态栏的运行状态,包括以下步骤:
77.步骤s104-1-1,响应于接收到所述前台的修复请求,启动所述修复脚本周期性的向所述状态栏发送探测消息。
78.步骤s104-1-2a,当在预设时长内未接收到所述状态栏响应于所述探测消息发送的反馈消息时,确定所述状态栏的运行状态为停止状态。
79.所述状态栏的运行状态为停止状态,可以理解为,状态栏没有运行。
80.在一些具体实施例中,所述方法还包括以下步骤:
81.步骤s104-1-2b,当接收到所述状态栏响应于所述探测消息发送的反馈消息时,确定所述状态栏的运行状态为活动状态。
82.所述状态栏的运行状态为活动状态,可以理解为,状态栏正在运行。
83.步骤s104-2,当所述状态栏的运行状态为停止状态时,所述修复脚本利用所述前台的补丁包修复所述状态栏。
84.当状态栏没有运行时,修复脚本便能够在不影响状态栏使用的情况下,对状态栏进行修复。
85.在一些具体实施例中,所述当所述状态栏的运行状态为停止状态时,所述修复脚本利用所述前台的补丁包修复所述状态栏之后,还包括以下步骤:
86.步骤s104-3,所述修复脚本通过动态再启动的方式将与所述状态栏相关的应用再拉起。
87.修复后的状态栏并不能马上起作用,为了能够使修改后的状态栏马上起作用,修复脚本通过动态再启动的方式使补丁包强制加载,从而使状态栏在修复后的状态下运行。
88.在一些具体实施例中,所述获取用于修复状态栏的补丁包,包括:
89.步骤s101a,响应于接收到紧急修复申请,获取用于修复状态栏的补丁包。
90.例如,当点击应用的快捷键时应用出现崩溃现象,便可以发送紧急修复申请;此时可以紧急获取用于修复状态栏的补丁包,对车机状态栏进行紧急修复,使用户在无感的情况下对问题进行修复。
91.本技术实施例的管理后台在获取修复状态栏的补丁包后,确定与所述补丁包相匹配的下发补丁规则和修复脚本,利用下发补丁规则下发补丁包,利用状态栏的系统级应用增加了保活机制,利用了修复脚本使用灵活、方便编辑的特点,通过修复脚本动态控制状态栏的修复。实现了状态栏修复的自动化,修复速度快,使用户在无感的情况下完成修复,提高了用户体验。
92.本技术还提供了承接上述实施例的装置实施例,用于实现如上实施例所述的方法步骤,基于相同的名称含义的解释与如上实施例相同,具有与如上实施例相同的技术效果,此处不再赘述。
93.如图2所示,本技术提供一种车机状态栏的修复装置200,包括:
94.获取单元201,用于获取用于修复状态栏的补丁包;
95.确定单元202,用于基于所述补丁包确定下发补丁规则和修复脚本;
96.下发单元203,用于基于所述下发补丁规则将所述补丁包下发至前台;
97.修复单元204,用于响应于接收到所述前台的修复请求,运行所述修复脚本,以便利用所述前台的补丁包修复所述状态栏。
98.可选的,所述补丁包包括dex文件的补丁包;
99.相应地,所述基于所述下发补丁规则将所述补丁包下发至前台,包括:
100.基于所述下发补丁规则将所述dex文件的补丁包下发至前台,加入dex元素数组中的优先读取位置。
101.可选的,所述响应于接收到所述前台的修复请求,运行所述修复脚本,以便利用所述前台的补丁包修复所述状态栏,包括:
102.响应于接收到所述前台的修复请求,启动所述修复脚本监听所述状态栏的运行状态;
103.当所述状态栏的运行状态为停止状态时,所述修复脚本利用所述前台的补丁包修复所述状态栏。
104.可选的,所述响应于接收到所述前台的修复请求,启动所述修复脚本监听所述状态栏的运行状态,包括:
105.响应于接收到所述前台的修复请求,启动所述修复脚本周期性的向所述状态栏发送探测消息;
106.当在预设时长内未接收到所述状态栏响应于所述探测消息发送的反馈消息时,确定所述状态栏的运行状态为停止状态。
107.当接收到所述状态栏响应于所述探测消息发送的反馈消息时,确定所述状态栏的运行状态为活动状态。
108.可选的,所述当所述状态栏的运行状态为停止状态时,所述修复脚本利用所述前台的补丁包修复所述状态栏之后,还包括:
109.所述修复脚本通过动态再启动的方式将与所述状态栏相关的应用再拉起。
110.可选的,所述获取用于修复状态栏的补丁包,包括:
111.响应于接收到紧急修复申请,获取用于修复状态栏的补丁包。
112.本技术实施例的管理后台在获取修复状态栏的补丁包后,确定与所述补丁包相匹配的下发补丁规则和修复脚本,利用下发补丁规则下发补丁包,利用状态栏的系统级应用增加了保活机制,利用了修复脚本使用灵活、方便编辑的特点,通过修复脚本动态控制状态栏的修复。实现了状态栏修复的自动化,修复速度快,使用户在无感的情况下完成修复,提高了用户体验。
113.本实施例提供一种电子设备,所述电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上实施例所述的方法步骤。
114.本技术实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行如上实施例所述的方法步骤。
115.最后应说明的是:本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于
实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述比较简单,相关之处参见方法部分说明即可。
116.以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
技术特征:
1.一种车机状态栏的修复方法,其特征在于,包括:获取用于修复状态栏的补丁包;基于所述补丁包确定下发补丁规则和修复脚本;基于所述下发补丁规则将所述补丁包下发至前台;响应于接收到所述前台的修复请求,运行所述修复脚本,以便利用所述前台的补丁包修复所述状态栏。2.根据权利要求1所述的方法,其特征在于,所述补丁包包括dex文件的补丁包;相应地,所述基于所述下发补丁规则将所述补丁包下发至前台,包括:基于所述下发补丁规则将所述dex文件的补丁包下发至前台,加入dex元素数组中的优先读取位置。3.根据权利要求1所述的方法,其特征在于,所述响应于接收到所述前台的修复请求,运行所述修复脚本,以便利用所述前台的补丁包修复所述状态栏,包括:响应于接收到所述前台的修复请求,启动所述修复脚本监听所述状态栏的运行状态;当所述状态栏的运行状态为停止状态时,所述修复脚本利用所述前台的补丁包修复所述状态栏。4.根据权利要求3所述的方法,其特征在于,所述响应于接收到所述前台的修复请求,启动所述修复脚本监听所述状态栏的运行状态,包括:响应于接收到所述前台的修复请求,启动所述修复脚本周期性的向所述状态栏发送探测消息;当在预设时长内未接收到所述状态栏响应于所述探测消息发送的反馈消息时,确定所述状态栏的运行状态为停止状态。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当接收到所述状态栏响应于所述探测消息发送的反馈消息时,确定所述状态栏的运行状态为活动状态。6.根据权利要求3所述的方法,其特征在于,所述当所述状态栏的运行状态为停止状态时,所述修复脚本利用所述前台的补丁包修复所述状态栏之后,还包括:所述修复脚本通过动态再启动的方式将与所述状态栏相关的应用再拉起。7.根据权利要求4所述的方法,其特征在于,所述获取用于修复状态栏的补丁包,包括:响应于接收到紧急修复申请,获取用于修复状态栏的补丁包。8.一种车机状态栏的修复装置,其特征在于,包括:获取单元,用于获取用于修复状态栏的补丁包;确定单元,用于基于所述补丁包确定下发补丁规则和修复脚本;下发单元,用于基于所述下发补丁规则将所述补丁包下发至前台;修复单元,用于响应于接收到所述前台的修复请求,运行所述修复脚本,以便利用所述前台的补丁包修复所述状态栏。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的方法。10.一种电子设备,其特征在于,包括:
一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现如权利要求1至7中任一项所述的方法。
技术总结
本申请提供了一种车机状态栏的修复方法、装置、介质和电子设备。本申请的管理后台在获取修复状态栏的补丁包后,确定与所述补丁包相匹配的下发补丁规则和修复脚本,利用下发补丁规则下发补丁包,利用状态栏的系统级应用增加了保活机制,利用了修复脚本使用灵活、方便编辑的特点,通过修复脚本动态控制状态栏的修复。实现了状态栏修复的自动化,修复速度快,使用户在无感的情况下完成修复,提高了用户体验。验。验。
技术研发人员:王彬龙
受保护的技术使用者:一汽(北京)软件科技有限公司
技术研发日:2023.07.24
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/