CN113867768A - 操作系统处理方法、装置、电子设备及存储介质 - Google Patents
操作系统处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113867768A CN113867768A CN202111157495.5A CN202111157495A CN113867768A CN 113867768 A CN113867768 A CN 113867768A CN 202111157495 A CN202111157495 A CN 202111157495A CN 113867768 A CN113867768 A CN 113867768A
- Authority
- CN
- China
- Prior art keywords
- path
- file
- operating system
- under
- partition
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000005192 partition Methods 0.000 claims abstract description 92
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000006835 compression Effects 0.000 claims abstract description 19
- 238000007906 compression Methods 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims description 53
- 238000009434 installation Methods 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 6
- 238000011161 development Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 4
- 239000000306 component Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种操作系统处理方法、装置、电子设备及存储介质,涉及操作系统技术领域。该操作系统处理方法包括:获取预设操作系统的目标升级包,目标升级包包括:系统镜像文件、数据镜像文件,以及系统压缩文件。根据目标升级包中定义的路径,将系统镜像文件安装至系统分区中的第一路径下,将数据镜像文件安装至数据分区下的第二路径下,将系统压缩文件安装至数据分区中的第三路径下;其中,第一路径用于指向系统分区。一方面利用数据分区容量大的优势,解决了现有技术中系统分区有限,难以满足高版本升级需求的问题,另一方面使得系统分区有不断拓展的可能性。
Description
技术领域
本发明涉及操作系统技术领域,具体而言,涉及一种方法、装置、电子设备及存储介质。
背景技术
随着终端技术的迅速发展以及产品的升级迭代,系统分区需要不断进行升级更新,以满足新版本的需求。
现有的系统分区通过分区表划定固定大小,由于系统分区容量有限,一旦系统分区的内容超限,就会面临无法更新等问题。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种操作系统处理方法、装置、电子设备及存储介质,以便克服系统分区容量小,无法满足高版本升级要求的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种操作系统处理方法,包括:
获取预设操作系统的目标升级包,所述目标升级包包括:系统镜像文件、数据镜像文件,以及系统压缩文件;
根据目标升级包中定义的路径,将所述系统镜像文件安装至系统分区中的第一路径下,将所述数据镜像文件安装至数据分区下的第二路径下,将所述系统压缩文件安装至所述数据分区中的第三路径下;其中,所述第一路径用于指向系统分区。
可选的,所述系统压缩文件包括:多种不同类型的系统文件;所述将所述系统压缩文件安装至所述数据分区中的第三路径下,包括:
将所述多种不同类型的系统文件分别安装至所述第三路径下的多个文件目录下。
可选的,所述多种不同类型的系统文件包括如下至少两种系统文件:应用安装文件、程序函数库文件、资源文件。
可选的,所述方法还包括:
在所述预设操作系统的安装路径下的安装包管理服务中增加自定义路径作为扫描路径,以在所述预设操作系统启动时采用增加路径后的安装路径进行扫描,所述自定义路径用于指向所述第三路径。
可选的,若所述多种不同类型的系统文件中包括程序函数库文件,则所述方法还包括:
在所述预设操作系统的函数库路径下函数连接服务中增加所述程序函数库文件所在的文件目录作为扫描路径;
在所述预设操作系统的安装路径下的动态链接库文件中增加所述程序函数库文件所在的文件目录作为扫描路径。
可选的,所述方法还包括:
为所述自定义路径增加所述系统压缩文件对应的安全访问权限标签。
可选的,所述方法还包括:
修改所述预设操作系统的命令解释器,以在执行所述预设操作系统的恢复出厂设置操作时保留所述自定义路径。
第二方面,本申请实施例还提供了一种操作系统处理装置,包括获取模块、安装模块;
所述获取模块,具体用于根据所述目标升级包中定义的路径,获取预设操作系统的目标升级包,所述目标升级包包括:系统镜像文件、数据镜像文件,以及系统压缩文件;
所述安装模块,具体用于根据所述目标升级包中定义的路径,将所述系统镜像文件安装至系统分区中的第一路径下,将所述数据镜像文件安装至数据分区下的第二路径下,将所述系统压缩文件安装至所述数据分区中的第三路径下。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如第一方面任一所述的操作系统处理方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述的操作系统处理方法的步骤。
本申请的有益效果是:本申请实施例提供一种操作系统处理方法,包括:获取预设操作系统的目标升级包,目标升级包包括:系统镜像文件、数据镜像文件,以及系统压缩文件;根据所述目标升级包中定义的路径,将目标升级包放置于数据分区中,其中,将系统镜像文件安装至数据分区中的第一路径下,将数据镜像文件安装至数据分区下的第二路径下,将系统压缩文件安装至数据分区中的第三路径下;其中,第一路径用于指向系统分区。从而将原本需要安装在系统分区的目标升级包中的部分文件如系统压缩文件安装置数据分区中,一方面利用数据分区容量大的优势,解决了现有技术中系统分区有限,难以满足高版本升级需求的问题,另一方面使得系统分区有不断拓展的可能性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请一实施例提供的一种操作系统处理方法的流程图;
图2为本申请另一实施例提供的一种操作系统处理方法的流程图;
图3为本申请又一实施例提供的一种操作系统处理方法的流程图;
图4为本申请一实施例提供的一种操作系统处理装置的示意图;
图5为本申请一实施例提供的另一种操作系统处理装置的示意图;
图6为本申请实施例提供的一种电子设备的示意图。
图例:100-操作系统处理装置;401-获取模块;403-安装模块;501-权限处理模块;601-处理器;602-存储介质。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
在本申请中,除非另有明确的规定和限定,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包含至少一个特征。在本发明中的描述中,“多个”的含义是至少两个,例如两个、三个,除非另有明确具体的限定。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请的操作系统处理方法应用于终端设备,该终端设备例如可以是个人数字助理(personal digital assistant,PDA)、车载电脑、台式电脑、笔记本电脑、智能电视、智能手机等能够运行本申请程序的计算机设备。再例如,该操作系统处理装置还可以为能够运行本申请程序的嵌入式设备。
图1为本申请一实施例提供的一种操作系统处理方法的流程图;如图1所示,该方法包括:
步骤101:获取预设操作系统的目标升级包,目标升级包包括:系统镜像文件、数据镜像文件,以及系统压缩文件。
需要说明的是,本申请的预设操作系统可以是windows操作系统、linux操作系统、安卓操作系统、苹果操作系统(IOS)等,本申请对操作系统的具体类型不做限定。
终端设备获取开发人员开发好的预设操作系统的目标升级包,需要说明的是,在一种可能的实现方式中,终端设备可以向开发端或者开发服务器请求获取目标升级包;在另一种可能的实现方式中,终端设备可以自动接收开发端或者开发服务器发送的目标升级包。在此,首先对开发人员开发目标升级包的具体步骤进行说明。该步骤主要分为两个阶段:编译阶段、打包阶段。如何获取该目标升级包为:
在编译阶段,从系统源文件中抽出需要被剥离的部分,将剥离出的内容压缩成模块。需要说明的是,上述系统源文件是目标升级包的基本组成部分,也是目标升级包的核心组成部分。在从系统源文件中进行剥离抽取时,开发人员可以根据实际的开发需求或者用户的使用需求选择需要剥离的资源。
在一种可能的实现方式中,从系统源文件中抽出需要被剥离的部分,可以按照文件类型进行抽取,例如,抽取系统源文件中应用安装文件(例如apk类型的文件);抽取系统源文件中程序函数库文件(例如so类型的文件);抽取系统源文件中归档文件(例如jar类型的文件);抽取系统源文件中音视频文件(例如mp4类型的文件)。
在另一种可能的实现方式中,可以对应系统源文件中原有的文件路径进行抽取。也就是按原文件路径抽取。例如,按照系统源文件中原有的目录,从中选择若干个目录(即若干系统源文件的组成部分)进行抽取,抽取出的部分即为本申请的系统压缩文件。需要说明的是,原文件路径可以与本申请的自定义路径相对应。这种抽取方式,管理方便、便于移动,且安装访问不易出错。
上述仅为示例说明,在实际实现过程中,对系统源文件进行抽取的具体方式或者抽取的具体文件、文件类型等还可能存在其他方式,本申请对此不做限定,只要其能够完成抽取即可。此外,还需要说明的是,对系统源文件进行抽取时,对所抽取的内容没有完整性要求,是可以裁剪的,即可以根据开发人员的需要或者业务需求,从某一资源文件中抽取一部分内容。
在一种示例实现方式中,可以抽取WIFI、蓝牙、GPS等业务模块的文件,亦可以抽取计算器、日历等一些终端设备原生预置的apk等可定制的功能的文件。本申请对具体抽取的内容不做限定。
本申请对抽取的具体方式不做限定,在一种可能的实现方式中,可以在编译阶段生成系统源文件的过程中,通过编写简单的命令解释器(shell)脚本,将待剥离内容移动到自定义路径下(例如使用基于linux的mv命令),该自定义路径指向第三路径即自定义路径下放置的文件在最终安装时将安装在数据分区的第三路径下。
从系统源文件中抽出需要被剥离的部分后,将这部分内容放在自定义路径下,并对这部分内容进行压缩,将其压缩成模块,得到系统压缩文件。
在一种可能的实现方式中,通过将这部分内容放在自定义路径下的方式,定义这部分内容的层级,例如,使用安卓系统,设定自定义路径为android-system,则路径android-system/lib64为该自定义路径下的子路径,其可以对应64位的so文件;同理,路径android-system/lib可以对应32位的so文件等。上述仅为实例说明,在实际的实现过程中,开发人员可以根据实际的开发需求设定自定义路径,本申请使用的操作系统也不限于安卓、视窗等,只要能使用本申请所提供的操作系统处理方法的操作系统即可。
在一种具体的实现方式中,可以根据系统文件命名确定自定义路径的命名,例如,系统文件命名为system/app,可以将自定义路径命名为:data/android-system/app;系统文件命名为system/lib,可以将自定义路径命名为:data/android-system/lib;系统文件命名为system/lib64,可以将自定义路径命名为:data/android-system/lib64;系统文件命名为system/jar,可以将自定义路径命名为:data/android-system/jar/等,由此更方便开发人员或者用户了解其所包含的具体内容,避免误删等情况的发生。
需要说明的是,在对从系统源文件中抽出需要被剥离的部分进行压缩时,可以根据资源类型压缩,也可以根据文件路径进行压缩。例如,利用之前定义好的自定义路径的目录层级,将最外层目录对应内容进行压缩,压缩成一个模块即可。也就是说,模块内部的内容之间可能不存在联系。在一种可能的实现方式中,可以设置两级目录就够,或者两级以上目录,压缩时将最外层的目录压缩成一个模块。
例如,将系统压缩文件全部放在data/android-system目录下,在此目录下,还可以设置data/android-system/app、data/android-system/lib两个子目录,压缩时,将data/android-system压缩成一个模块,得到系统压缩文件。
上述仅为示例说明,在实际实现中,还可能存在其他压缩方式,本申请对此不做限定。
需要说明的是,压缩后的模块,即系统压缩文件的名称可以自定义,例如android-system.tar.gz等,本申请对此不做限定。
通过上述步骤完成编译阶段的任务,进入打包阶段。
在打包阶段,将上述阶段的系统镜像文件system.img、系统压缩文件以及数据镜像文件data.img等制成目标升级包。需要说明的是,在一种可能的实现方式中,在制作ROM包过程中,将打包的模块写入数据分区中。还需要说明的是,压缩后的模块,即系统压缩文件的优先级与system.img、userdata.img、vendor.img等镜像文件的优先级相同。
还需要说明的是,设备下载目标升级包后的写入的位置有多种可能,例如,下载到电脑ROM中或者是下载到本设备的数据分区中等。
在一种具体的实现方式中,如果在电脑上使用fast boot工具通过USB线进行更新,则该目标升级包可以下载在电脑上通过USB线将目标升级包安装到设备上。
在另一种具体的实现方式中,如果将目标升级包下载到设备上通过Recovery刷机,则该目标升级包存储在数据分区(用户数据存储路径)下,例如data路径、mnt路径等。
上述仅为实例说明,在实际的实现中,目标升级包还可能有其他在设备中写入的具体路径,本申请对此不做限定,只要能够实现本申请的对系统分区的扩展功能即可。
在一种可能的实现方式中,目标升级包可以为ROM包,该ROM包中可以包含系统镜像文件system.img、数据镜像文件data.img,以及系统压缩文件(例如android-system.tar.gz)。需要说明的是,该ROM包还可以包括:boot.img、misc.img、recovery.img、vendor.img、oem.img、dtbo.img等文件。
由此开发人员完成打包阶段。终端设备请求获取预设操作系统的目标升级包,或者自动接收服务器发送的目标升级包。该目标升级包中包括系统镜像文件、数据镜像文件,以及系统压缩文件。
步骤102:根据目标升级包中定义的路径,将系统镜像文件安装至数据分区中的第一路径下,将数据镜像文件安装至数据分区下的第二路径下,将系统压缩文件安装至数据分区中的第三路径下;这里,第三路径为目标升级包中定义的自定义路径的安装路径,即自定义路径用于指向第三路径,即自定义路径下放置的文件在最终安装时将安装在数据分区的第三路径下。在一种可能的实现方式中,终端设备将预设操作系统的目标升级包下载至数据分区中然后通过Recovery刷机进行系统更新;在另一种可能的实现方式中,终端设备自动将目标升级包下载至数据分区中然后通过Recovery刷机进行系统更新;上述仅为示例说明,在实际实现中,还可能有其他形式的获取预设操作系统的目标升级包的方式,本申请对此不做限定。
将系统镜像文件安装至系统分区中的第一路径下,将所述系统压缩文件安装至数据分区中的第三路径下。需要说明的是,上述第三路径是数据分区中扩展区域的路径,即第三路径为系统分区的扩展区域的路径。在一种可能的实现方式中,用户在终端设备上将预设操作系统的目标升级包下载至数据分区中,在下载时,该目标升级包的放置路径由用户进行设定;在另一种可能的实现方式中,终端设备自动将目标升级包下载至数据分区中,下载时该目标升级包的放置路径由目标升级包指定,安装时的系统镜像文件和系统压缩文件安装在,第一路径、第三路径下,即该路径可以由目标升级包指定。上述仅为实例说明,在具体的实现过程中,第一路径、第三路径还可以有其他的设置方式,本申请对此不做限定,只要将系统镜像文件安装至系统分区中的第一路径下、系统压缩文件安装至所述数据分区中的第三路径下即可。
需要说明的是,在一种可能的实现方式中,目标升级包中第一路径下的系统镜像文件,在升级成功后会覆盖系统原先的系统分区。也就是说目标升级包放在数据分区中,在安装成功/升级成功后会将系统镜像文件中的内容覆盖原有的系统分区中的内容。另外,数据镜像文件及系统压缩文件安装后覆盖原数据分区的文件。上述仅为实例说明,在实际实现中,目标升级包还可能有其他具体升级方式,本申请对此不做限定。
综上,本申请实施例提供一种操作系统处理方法,包括:获取预设操作系统的目标升级包,目标升级包包括:系统镜像文件、数据镜像文件,以及系统压缩文件;根据所述目标升级包中定义的路径,将系统镜像文件安装至系统分区中的第一路径下,将数据镜像文件安装至数据分区下的第二路径下,将系统压缩文件安装至数据分区中的第三路径下。将原本需要安装在系统分区的目标升级包中的部分文件如系统压缩文件安装至数据分区中,一方面利用数据分区容量大的优势,解决了现有技术中系统分区有限,难以满足高版本升级需求的问题,另一方面使得系统分区有不断拓展的可能性。
可选的,在上述图1的基础上,本申请还提供一种操作系统处理方法的可能实现方式,其中,系统压缩文件包括:多种不同类型的系统文件;将系统压缩文件安装至数据分区中的第三路径下的方法包括:
将多种不同类型的系统文件分别安装至第三路径下的多个文件目录下。
需要说明的是,系统压缩文件可以包括多种不同类型的系统文件,例如应用安装文件、程序函数库文件、资源文件等,具体来说,可以包括apk文件、so文件、jar文件、图片文件等资源类型的文件,上述仅为实例说明,在实际实现过程中,系统压缩文件中的系统文件的具体类型可以由开发人员根据实际开发需求进行设定,本申请对此不做限定。
将多种不同类型的系统文件分别安装至第三路径下的多个文件目录下,在一种可能的实现方式中,在数据分区的目录(--data)下,设定自定义路径为--data/xx,其中xx为自定义名称,在此基础上,可以在该路径下建立多个子目录,即多个文件。例如系统压缩文件中包含aaa、bbb、ccc类型的文件,则可以将上述系统文件按照文件类型分别放在--data/xx/aaa、--data/xx/bbb、--data/xx/ccc/中。这里,自定义路径用于指向第三路径,即自定义路径下放置的文件在最终安装时将安装在数据分区的第三路径下。
在一种具体的实现方式中,在安卓系统、数据分区的目录(--data)下,设定自定义路径为--data/android-system,在此基础上,可以在该路径下建立多个子目录,即多个文件。例如系统压缩文件中包含app、lib、jar类型的文件,则可以将上述系统文件按照文件类型分别放在--data/android-system/app/、--data/android-system/lib、--data/android-system/jar/中。
需要说明的是,按照系统文件的具体类型将不同类型的系统文件安装到第三路径中的对应文件目录下,也就是说,具体的文件目录的数量根据开发人员抽取的系统文件的具体数量不同而不同,本申请对文件目录的具体数目不做限定,只要该数目能够满足本申请的使用需求即可。此外,以文件类型进行区分建立文件的形式仅为示例,在实际实现过程中,还可以将几种类型的系统文件安装在一个文件目录下,本申请对此不做限定。
通过将多种不同类型的系统文件分别安装至所述第三路径下的多个文件目录下,管理简单、管理方便、便于移动,且安装访问不易出错。
可选的,在上述实施例的基础上,本申请还提供一种操作系统处理方法的可能实现方式,上述多种不同类型的系统文件包括如下至少两种系统文件:应用安装文件、程序函数库文件、资源文件。
在一种可能的实现方式中,上述多种不同类型的系统文件包括应用安装文件(例如windows操作系统下--.exe、--.com文件;Android操作系统下--.apk文件等)、程序函数库文件(例如--.lib、--.dll文件等)、资源文件(例如图片资源--.png、--.bmp等)。上述仅为示例说明,在实际实现中,在不同的操作系统中还可能存在不同形式的应用安装文件、程序函数库文件、资源文件,本申请对此不做限定。此外,系统文件包括应用安装文件、程序函数库文件、资源文件中至少两种系统文件即可,对其包含的系统文件的类型、数量等本申请不做限定。
通过限定多种不同类型的系统文件包括应用安装文件、程序函数库文件、资源文件中至少两种系统文件,进一步明确限定了系统压缩文件的生成方案。
可选的,在上述实施例的基础上,本申请还提供一种操作系统处理方法的可能实现方式,该方法包括:
在预设操作系统的安装路径下的安装包管理服务中增加自定义路径作为扫描路径,以在预设操作系统启动时采用增加路径后的安装路径进行扫描。
需要说明的是,部分操作系统,往往只会在固定的路径进行扫描,以获取必要的系统启动所需的文件。由于在编译、打包阶段中,将系统分区下的一些文件抽取到了自定义路径下,因而需要拓展扫描区域,即增加自定义路径为扫描区域,根据不同文件类型,扩展扫描区域需要在不同源代码目录(例如安卓开放源代码(Android Open Source Project,AOSP))下拓展。
例如安卓系统,会在固定的路径进行扫描,以获取系统启动文件。在编译阶段、打包阶段中,将系统分区(system分区)下的一些文件(系统压缩文件)抽取到了自定义路径下(如data/android-system),因此需要增加自定义路径data/android为拓展扫描区域,根据不同文件类型,在不同源代码目录(例如安卓开放源代码(Android Open Source Project,AOSP))下进行拓展。
通过在预设操作系统的安装路径下的安装包管理服务中增加自定义路径作为扫描路径,以在预设操作系统启动时采用增加路径后的安装路径进行扫描。在数据分区通过增加扫描路径实现了对系统分区的扩展,同时,在预设操作系统启动时,可以根据增加的扫描路径进行扫描,实现了与第三路径对应的自定义路径中的系统压缩文件的调用。即自定义路径指向第三路径,预设操作系统启动更新时,从自定义路径调用系统压缩文件,更新完成后系统压缩文件安装至数据分区的第三路径中。
可选的,在上述实施例的基础上,若多种不同类型的系统文件中包括程序函数库文件,本申请还提供一种操作系统处理方法的可能实现方式,图2为本申请另一实施例提供的一种操作系统处理方法的流程图;如图2所示,该方法包括:
步骤201:在预设操作系统的函数库路径下函数连接服务中增加程序函数库文件所在的文件目录作为扫描路径。
在一种具体的实现方式中,可以通过在framework路径下PackageManagerService.java中增加data/android-system路径进行安装扫描,以增加程序函数库文件(例如apk文件)所在的文件目录作为扫描路径。需要说明的是,该路径对应的程序函数库文件的优先级同system/app等系统预置应用的优先级相同。
需要说明的是,上述仅为实例说明,在实际实现中,对其他类型的操作系统,在预设操作系统的函数库路径下函数连接服务中增加程序函数库文件所在的文件目录作为扫描路径的方式可能不同,本申请对此不做限定,只要能够实现本申请的增加扫描路径的目的即可。
步骤202:在预设操作系统的安装路径下的动态链接库文件中增加程序函数库文件所在的文件目录作为扫描路径。
在一种具体的实现方式中,可以通过在bionic路径下linker.cpp中增加so等扫描路径,以便系统能够获取到动态库;同时在system路径下的id.config.txt中协同修改,增加动态链接库文件(例如so文件)扫描路径。
需要说明的是,上述仅为实例说明,在实际实现中,对其他类型的操作系统,在预设操作系统的安装路径下的动态链接库文件中增加程序函数库文件所在的文件目录作为扫描路径的方式可能不同,本申请对此不做限定,只要能够实现本申请的增加扫描路径的目的即可。
应该理解的是,虽然图2流程图中步骤201、步骤202的步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤或者阶段的至少一部分轮流或者交替地执行。本申请对具体的执行顺序不做限定。
通过在预设操作系统的函数库路径下函数连接服务中增加程序函数库文件所在的文件目录作为扫描路径、在预设操作系统的安装路径下的动态链接库文件中增加程序函数库文件所在的文件目录作为扫描路径进一步对上述增加扫描路径的方式进行说明。
可选的,在上述图1-图2基础上,本申请还提供一种操作系统处理方法的可能实现方式,图3为本申请又一实施例提供的一种操作系统处理方法的流程图,如图3所示,该方法包括:
步骤301:为自定义路径增加系统压缩文件对应的安全访问权限标签。
需要说明的是,在部分操作系统中,需要取得安全访问权限才能够对有安全访问权限标签的文件执行相关操作,例如,在现行的Android系统中,存在SEAndroid权限(即SE权限)。SEAndroid是在Android系统中基于SELinux推出的强制访问控制模型,来完善此前在自主访问模型中只要取得root权限就可以为所欲为的情况。SEAndroid是一种基于域-类型(domain-type)模型的强制访问控制(Mandatory Access Control,MAC)安全系统,其原则是任何进程想在SEAndroid系统中执行操作,都必须先在安全策略的配置文件中赋予权限。也就是说,任何进程正常执行时,都需要有一个正确的标签。如果标签不匹配,就无权执行。
为自定义路径增加系统压缩文件对应的安全访问权限标签即赋予了自定义路径增加的系统压缩文件访问权限。
需要说明的是,上述扫描路径、赋予安全访问权限标签的过程的是在系统运行时动态进行的。
在一种具体的实现方式中,由于MAC策略的限制,需要给切换路径的文件以安卓系统可以访问的SEAndroid标签,才能确保文件被读取执行,比如给data/android-system增加对应的SE权限标签:u:object_r:system_file:s0。
通过为自定义路径增加系统压缩文件对应的安全访问权限标签,确保系统压缩文件能够被正确读取执行。
步骤302:修改预设操作系统的命令解释器,以在执行预设操作系统的恢复出厂设置操作时保留自定义路径。
由于数据分区是可读写分区,如果执行恢复出厂,删除自定义路径所对应的系统文件,设备很大可能会出现故障。为了保证恢复出厂、升级等操作不会擦除数据分区自定义路径,需要在执行恢复出厂操作(或者双清缓存时),保留自定义路径。
例如,在安卓操作系统下,data分区是可读写分区,为了保证恢复出厂、升级等操作不会擦除数据分区自定义路径(例如data/android-system),需要在执行恢复出厂操作(或者双清缓存时),保留data/android-system的路径。
可以通过修改预设操作系统的命令解释器(shell脚本),以在执行预设操作系统的恢复出厂设置操作(或者执行双清wipe(清除系统缓存和清除用户数据并恢复出厂设置(wipe data/factory reset))时保留自定义路径。
需要说明的是,上述仅为示例,在实际实现中,可能存在其他保留自定义路径的方式,本申请对此不做限定。
通过修改预设操作系统的命令解释器,以在执行预设操作系统的恢复出厂设置操作时保留自定义路径,使得恢复出厂时,自定义路径对应的数据分区的文件即安装后的数据分区中的第三路径的文件与系统分区的文件一样不会被擦除,从而维护恢复出厂时系统的稳定性以及方案的周全。
下述对用以执行本申请所提供的操作系统处理装置、电子设备及计算机可读存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
本申请实施例提供一种操作系统处理装置的可能实现示例,能够执行上述实施例提供的操作系统处理方法。图4为本申请一实施例提供的一种操作系统处理装置的示意图。如图4所示,上述操作系统处理装置100,包括:获取模块401、安装模块403。
获取模块401,具体用于获取预设操作系统的目标升级包,目标升级包包括:系统镜像文件、数据镜像文件,以及系统压缩文件;
安装模块403,具体用于根据所述目标升级包中定义的路径,将系统镜像文件安装至系统分区中的第一路径下,将数据镜像文件安装至数据分区下的第二路径下,将系统压缩文件安装至数据分区中的第三路径下。
可选的,获取模块中的系统压缩文件包括:多种不同类型的系统文件。
安装模块403,具体用于将多种不同类型的系统文件分别安装至第三路径下的多个文件目录下。具体来说系统文件指系统压缩文件,自定义路径指向第三路径,即将自定义路径对应的系统压缩文件安装至数据分区的第三路径下。
可选的,获取模块401中的多种不同类型的系统文件包括:如下至少两种系统文件:应用安装文件、程序函数库文件、资源文件。
可选的,安装模块403,具体用于在预设操作系统的安装路径下的安装包管理服务中增加自定义路径作为扫描路径,以在预设操作系统启动时采用增加路径后的安装路径进行扫描。
可选的,若上述获取模块401中多种不同类型的系统文件中包括程序函数库文件,则安装模块403,具体用于在预设操作系统的函数库路径下函数连接服务中增加程序函数库文件所在的文件目录作为扫描路径;在预设操作系统的安装路径下的动态链接库文件中增加程序函数库文件所在的文件目录作为扫描路径。
可选的,图5为本申请一实施例提供的另一种操作系统处理装置的示意图,如图5所示,上述操作系统处理装置,还包括:权限处理模块501。
权限处理模块501,具体用于为第三路径增加系统压缩文件对应的安全访问权限标签。
可选的,上述操作系统处理装置,还包括:恢复出厂设置处理模块。
恢复出厂设置处理模块,具体用于修改预设操作系统的命令解释器,以在执行预设操作系统的恢复出厂设置操作时保留自定义路径。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
本申请实施例提供一种电子设备的可能实现示例,能够执行上述实施例提供的操作系统处理方法。图6为本申请实施例提供的一种电子设备的示意图,该设备可以集成于操作系统处理装置或者操作系统处理装置的芯片,该终端可以是具备数据处理功能的计算设备。
该电子设备包括:处理器601、存储介质602和总线,存储介质存储有处理器可执行的程序指令,当控制设备运行时,处理器与存储介质之间通过总线通信,处理器执行程序指令,以执行时执行上述操作系统处理方法的步骤。具体实现方式和技术效果类似,这里不再赘述。
本申请实施例提供一种计算机可读存储介质的可能实现示例,能够执行上述实施例提供的操作系统处理方法,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述操作系统处理方法的步骤。
存储在一个存储介质中的计算机程序,可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种操作系统处理方法,其特征在于,包括:
获取预设操作系统的目标升级包,所述目标升级包包括:系统镜像文件、数据镜像文件,以及系统压缩文件;
根据所述目标升级包中定义的路径,将将所述系统镜像文件安装至系统分区中的第一路径下,将所述数据镜像文件安装至数据分区下的第二路径下,将所述系统压缩文件安装至所述数据分区中的第三路径下。
2.根据权利要求1所述的方法,其特征在于,所述系统压缩文件包括:多种不同类型的系统文件;所述将所述系统压缩文件安装至所述数据分区中的第三路径下,包括:
将所述多种不同类型的系统文件分别安装至所述第三路径下的多个文件目录下。
3.根据权利要求2所述的方法,其特征在于,所述多种不同类型的系统文件包括如下至少两种系统文件:应用安装文件、程序函数库文件、资源文件。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述预设操作系统的安装路径下的安装包管理服务中增加自定义路径作为扫描路径,以在所述预设操作系统启动时采用增加路径后的安装路径进行扫描,所述自定义路径用于指向所述第三路径。
5.根据权利要求4所述的方法,其特征在于,若所述多种不同类型的系统文件中包括程序函数库文件,则所述方法还包括:
在所述预设操作系统的函数库路径下函数连接服务中增加所述程序函数库文件所在的文件目录作为扫描路径;
在所述预设操作系统的安装路径下的动态链接库文件中增加所述程序函数库文件所在的文件目录作为扫描路径。
6.根据权利要求4-5中任一所述的方法,其特征在于,所述方法还包括:
为所述自定义路径增加所述系统压缩文件对应的安全访问权限标签。
7.根据权利要求1-5中任一所述的方法,其特征在于,所述方法还包括:
修改所述预设操作系统的命令解释器,以在执行所述预设操作系统的恢复出厂设置操作时保留自定义路径。
8.一种操作系统处理装置,其特征在于,包括:获取模块、安装模块;
所述获取模块,具体用于获取预设操作系统的目标升级包,所述目标升级包包括:系统镜像文件、数据镜像文件,以及系统压缩文件;
所述安装模块,具体用于根据所述目标升级包中定义的路径,将所述系统镜像文件安装至系统分区中的第一路径下,将所述数据镜像文件安装至数据分区下的第二路径下,将所述系统压缩文件安装至所述数据分区中的第三路径下。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至7任一所述的操作系统处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的操作系统处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111157495.5A CN113867768A (zh) | 2021-09-30 | 2021-09-30 | 操作系统处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111157495.5A CN113867768A (zh) | 2021-09-30 | 2021-09-30 | 操作系统处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113867768A true CN113867768A (zh) | 2021-12-31 |
Family
ID=79000870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111157495.5A Pending CN113867768A (zh) | 2021-09-30 | 2021-09-30 | 操作系统处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867768A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661322A (zh) * | 2022-03-11 | 2022-06-24 | 荣耀终端有限公司 | 操作系统的升级方法、电子设备及存储介质 |
WO2023168746A1 (zh) * | 2022-03-07 | 2023-09-14 | 深圳市德驰微视技术有限公司 | 基于域控制器平台的arm linux操作系统的USB升级方法及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120054734A1 (en) * | 2010-08-31 | 2012-03-01 | Apple Inc. | Device software upgrade using a dynamically sized partition |
US20170286092A1 (en) * | 2016-03-29 | 2017-10-05 | Hisense Mobile Communications Technology Co., Ltd. | Terminal device and version upgrading method |
CN107632835A (zh) * | 2017-09-22 | 2018-01-26 | 北京小米移动软件有限公司 | 应用安装方法及装置 |
CN107861744A (zh) * | 2017-11-17 | 2018-03-30 | 青岛海信移动通信技术股份有限公司 | 系统升级方法及装置 |
CN110543369A (zh) * | 2019-09-11 | 2019-12-06 | 国美视界(北京)科技有限公司 | 一种安卓系统存储空间结构的构建方法、装置及其构建结构 |
CN110865837A (zh) * | 2019-11-14 | 2020-03-06 | 青岛海信移动通信技术股份有限公司 | 一种进行系统升级的方法和终端 |
CN111949303A (zh) * | 2020-07-06 | 2020-11-17 | 深圳市华曦达科技股份有限公司 | 升级包处理方法、装置、电子设备及存储介质 |
CN113126893A (zh) * | 2020-01-16 | 2021-07-16 | 深圳市万普拉斯科技有限公司 | 扩展系统分区的方法、装置、存储介质和计算机设备 |
-
2021
- 2021-09-30 CN CN202111157495.5A patent/CN113867768A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120054734A1 (en) * | 2010-08-31 | 2012-03-01 | Apple Inc. | Device software upgrade using a dynamically sized partition |
US20170286092A1 (en) * | 2016-03-29 | 2017-10-05 | Hisense Mobile Communications Technology Co., Ltd. | Terminal device and version upgrading method |
CN107632835A (zh) * | 2017-09-22 | 2018-01-26 | 北京小米移动软件有限公司 | 应用安装方法及装置 |
CN107861744A (zh) * | 2017-11-17 | 2018-03-30 | 青岛海信移动通信技术股份有限公司 | 系统升级方法及装置 |
CN110543369A (zh) * | 2019-09-11 | 2019-12-06 | 国美视界(北京)科技有限公司 | 一种安卓系统存储空间结构的构建方法、装置及其构建结构 |
CN110865837A (zh) * | 2019-11-14 | 2020-03-06 | 青岛海信移动通信技术股份有限公司 | 一种进行系统升级的方法和终端 |
CN113126893A (zh) * | 2020-01-16 | 2021-07-16 | 深圳市万普拉斯科技有限公司 | 扩展系统分区的方法、装置、存储介质和计算机设备 |
CN111949303A (zh) * | 2020-07-06 | 2020-11-17 | 深圳市华曦达科技股份有限公司 | 升级包处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
蔡洁: "基于高通平台的Android系统分区管理", 《硅谷》, vol. 7, no. 19, 8 October 2014 (2014-10-08) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023168746A1 (zh) * | 2022-03-07 | 2023-09-14 | 深圳市德驰微视技术有限公司 | 基于域控制器平台的arm linux操作系统的USB升级方法及设备 |
CN114661322A (zh) * | 2022-03-11 | 2022-06-24 | 荣耀终端有限公司 | 操作系统的升级方法、电子设备及存储介质 |
CN114661322B (zh) * | 2022-03-11 | 2023-05-23 | 荣耀终端有限公司 | 操作系统的升级方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109491695B (zh) | 一种集成安卓应用的增量更新方法 | |
US9727327B1 (en) | Software distribution framework | |
KR101143112B1 (ko) | 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법 | |
CN105867947B (zh) | 预置应用程序升级后的数据处理方法及装置 | |
CN107506221B (zh) | 应用程序升级方法、装置及设备 | |
CN108847950B (zh) | 电子装置、云系统软件自动部署方法及存储介质 | |
Gilbert et al. | Pocket ISR: Virtual machines anywhere | |
CN111492347A (zh) | 用于更新容器的系统和方法 | |
CN109062617B (zh) | 一种支持多类型设备的平台的应用方法、移动终端 | |
CN112256286B (zh) | 一种应用运行的方法、装置及计算机存储介质 | |
CN104137057A (zh) | 生成和高速缓存软件代码 | |
CN113867768A (zh) | 操作系统处理方法、装置、电子设备及存储介质 | |
WO2021143845A1 (zh) | 扩展系统分区的方法、装置、存储介质和计算机设备 | |
JP2008502968A (ja) | 中間オブジェクト指向言語を備えるソフトウェアをポータブル・デバイスにロードするための方法 | |
CN107797818A (zh) | 应用程序升级方法及装置 | |
CN111897623B (zh) | 一种集群管理方法、装置、设备及存储介质 | |
US20170052779A1 (en) | Method and Device for Running Version File | |
CN112286543B (zh) | 一种应用服务部署方法及装置 | |
CN111556127B (zh) | 一种可穿戴设备升级方法及相关设备 | |
US10552135B1 (en) | Reducing a size of an application package | |
KR20120069400A (ko) | 모바일 플랫폼에서의 어플리케이션 보관 방법 | |
CN108536444B (zh) | 插件编译方法、装置、计算机设备和存储介质 | |
CN113220314B (zh) | App资源加载及apk生成方法、装置、设备及介质 | |
CN116069366A (zh) | 客户端应用程序更新方法及装置、存储介质及电子设备 | |
CN114969720A (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 |