CN109062617A - 一种支持多类型设备的平台的应用方法、移动终端 - Google Patents
一种支持多类型设备的平台的应用方法、移动终端 Download PDFInfo
- Publication number
- CN109062617A CN109062617A CN201810671900.7A CN201810671900A CN109062617A CN 109062617 A CN109062617 A CN 109062617A CN 201810671900 A CN201810671900 A CN 201810671900A CN 109062617 A CN109062617 A CN 109062617A
- Authority
- CN
- China
- Prior art keywords
- equipment
- image file
- platform
- file
- facility information
- 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.)
- Granted
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Abstract
本申请适用于操作系统技术领域,提供了一种支持多类型设备的平台的应用方法、移动终端及计算机可读存储介质,所述方法包括:基于所述平台的设备加载所述平台的镜像文件,所述平台的镜像文件是基于所述平台的代码仓库编译获得的支持多类型设备的文件,在所述设备中的镜像文件对应的操作系统初始化时,获取所述设备的设备信息,并执行所述镜像文件中与所述设备信息对应的初始化脚本文件,在所述设备中的镜像文件对应的操作系统运行时,基于所述设备的设备信息,执行与所述设备信息对应的操作,通过本申请可以提高android系统包修改时的效率、便于android系统包的管理。
Description
技术领域
本申请属于操作系统技术领域,尤其涉及一种支持多类型设备的平台的应用方法、移动终端及计算机可读存储介质。
背景技术
Android平台是基于Linux平台的自由及开放源代码的操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。目前Android操作系统主要使用于移动设备,如智能手机和平板电脑等。
目前,Android的系统包通常是与硬件设备一一对应的,即基于不同类型的设备,需要设置有不同的Android的系统包。然而,这种设置方式导致开发人员在修改Android系统包中的bug和新增常用功能时,就需要将每个类型的设备对应Android系统包均修改一遍,并且后期针对不同类型的机型,生成不同的Android系统包,导致后期发布的版本太多,不方便管理。
发明内容
有鉴于此,本申请实施例提供了一种支持多类型设备的平台的应用方法、移动终端及计算机可读存储介质,以解决目前对android系统包的修改繁琐、效率低、且android系统包不方便管理的问题。
本申请实施例的第一方面提供了一种支持多类型设备的平台的应用方法,包括:
基于所述平台的设备加载所述平台的镜像文件,所述平台的镜像文件是基于所述平台的代码仓库编译获得的支持多类型设备的文件;
在所述设备中的镜像文件对应的操作系统初始化时,获取所述设备的设备信息,并执行所述镜像文件中与所述设备信息对应的初始化脚本文件;
在所述设备中的镜像文件对应的操作系统运行时,基于所述设备的设备信息,执行与所述设备信息对应的操作。
本申请实施例的第二方面提供了一种移动终端,基于支持多类型设备的平台,所述移动终端包括:
加载模块,用于加载所述平台的镜像文件,所述平台的镜像文件是基于所述平台的代码仓库编译获得的支持多类型设备的文件;
初始化模块,用于在所述移动终端中的镜像文件对应的操作系统初始化时,获取所述移动终端的设备信息,并执行所述镜像文件中与所述设备信息对应的初始化脚本文件;
运行模块,用于在所述移动终端中的镜像文件对应的操作系统运行时,基于所述设备的设备信息,执行与所述设备信息对应的操作。
本申请实施例的第三方面提供了一种移动终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例第一方面提供的所述方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现本申请实施例第一方面提供的所述方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被一个或多个处理器执行时实现本申请实施例第一方面提供的所述方法的步骤。
本申请实施例通过基于平台的设备加载所述平台的镜像文件,所述平台的镜像文件是基于所述平台的代码仓库编译获得的支持多类型设备的文件,在所述设备中的镜像文件对应的操作系统初始化时,获取所述设备的设备信息,并执行所述镜像文件中与所述设备信息对应的初始化脚本文件,在所述设备中的镜像文件对应的操作系统运行时,基于所述设备的设备信息,执行与所述设备信息对应的操作。所述设备信息能够确定设备的类型,在所述设备中,所述镜像文件对应的操作系统初始化时,是基于所述设备的设备信息,执行的是与所述设备的设备信息对应的初始化脚本文件,在初始化后,运行时,也是基于所述设备的设备信息,执行与所述设备信息对应的操作,这样,所述平台的镜像文件就可以设置为:多种类型的设备通用的文件和每个类型的设备独有文件的之和,所述平台的镜像文件就可以加载到基于所述平台的多个类型的设备中,初始化和运行时,就根据当前的设备的设备信息执行与所述设备信息相关的操作即可。在修改通用bug和新增通用功能时,只需要修改一套镜像文件即可,同时由于多类型的设备共有一套镜像文件,也使得方便文件管理。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种支持多类型设备的平台的应用方法的实现流程示意图;
图2是本申请实施例提供的另一种支持多类型设备的平台的应用方法的实现流程示意图;
图3是本申请实施例提供的一种移动终端的示意框图;
图4是本申请实施例提供的另一种移动终端的示意框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
图1是本申请实施例提供的一种支持多类型设备的平台的应用方法的实现流程示意图,如图所示该方法可以包括以下步骤:
步骤S101,基于所述平台的设备加载所述平台的镜像文件,所述平台的镜像文件是基于所述平台的代码仓库编译获得的支持多类型设备的文件。
在本申请实施例中,所述平台可以是android平台,同样,对应的设备的操作系统就是android系统,对于android系统而言,开发人员开发时生成的镜像文件包括:PCI版本的镜像文件、Debug版本的镜像文件、Release版本的镜像文件。
在支持多类型设备的平台的应用中,开发人员在开发的过程中,首先需要创建代码仓库,然后基于所述平台的代码仓库编译获得镜像文件,由于所述镜像文件实际上是三个版本的文件,分别为PCI版本、Debug版本和Release版本,所以,为了最终能够获得三个版本的镜像文件,需要通过编译系统传递不同的条件变量控制,将条件变量传递到boot0,u-boot,Android中,而kernel中因为没有与版本有关的内容,因此不使用此变量。通过条件变量编译区分不同版本的镜像文件,也就是说不同版本的镜像文件并不是二进制兼容的,他们属于编译时识别,后续根据不同的版本打包输出不同版本的镜像文件。这样,不同版本的镜像文件就获得了。虽然,所述平台的镜像文件是基于所述平台的代码仓库编译获得的支持多类型设备的文件。然而,这样依然无法解决不同类型的设备如何与支持多类型设备的镜像文件适配的问题。
步骤S102,在所述设备中的镜像文件对应的操作系统初始化时,获取所述设备的设备信息,并执行所述镜像文件中与所述设备信息对应的初始化脚本文件。
在本申请实施例中,在所述设备中的镜像文件对应的操作系统初始化时,表示加载了开发人员基于所述android平台编译生成的镜像文件之后,还需要对所述设备进行初始化,由于目前镜像文件中不仅包括了多种类型的设备通用的文件,还包括不同类型的设备独有的文件,所以,为了保证所述设备以后能够正常运行,在进行初始化时,需要获取所述设备的设备信息,所述设备的设备信息能够确定设备的类型,并执行所述镜像文件中与所述设备信息对应的初始化脚本文件。除了执行通用的部分的脚本文件,还要执行所述设备信息独有的脚本文件,即每个设备信息对应的文件是两部分:通用部分和独有部分。
步骤S103,在所述设备中的镜像文件对应的操作系统运行时,基于所述设备的设备信息,执行与所述设备信息对应的操作。
在本申请实施例中,在所述设备中的镜像文件对应的操作系统运行时,仍然需要获取所述设备的设备信息,以执行与所述设备信息对应的相关的操作。
本申请实施例从加载了基于支持多类型设备的镜像文件的设备一侧对本申请实施例进行说明。需要说明的一点是,虽然本申请实施例是从加载了基于支持多类型设备的镜像文件的设备一侧对本申请实施例进行说明,然而,本申请实施例中的镜像文件的获得过程是,开发人员基于所述平台的代码仓库,通过条件变量传递版本信息,编译获得的三个版本的文件。这三个版本的文件中包含了支持的设备的信息,可以加载到任意支持的类型的设备中。这样就是实现了统一代码仓库,统一镜像文件。无疑,对于开发人员而言,如果需要修复bug,就需要修改一份3个版本的镜像文件即可,若增加通用功能,也是修改一份3个版本的镜像文件即可,提高了开发人员的工作效率,并且,还有利于文件的管理。
图2是本申请实施例提供的另一种支持多类型设备的平台的应用方法的流程示意图,可以包括以下步骤:
步骤S201,基于所述平台的设备加载所述平台的一个版本的镜像文件,所述镜像文件是基于所述平台的代码仓库,通过条件变量传递版本信息,编译获得的支持多类型设备的文件。
该步骤与步骤S101的内容一致,具体可参照步骤S101的描述,在此不再赘述。
需要说明的一点是,虽然编译获得的镜像文件包括三个版本的。然而,设备中通常存在一个版本的镜像文件,在设备中已经存在一个版本的镜像文件的情况下,如果再次加载镜像文件,那么再次加载的镜像文件会覆盖所述设备之前加载的镜像文件。
步骤S202,在所述设备中的镜像文件对应的操作系统初始化时,通过镜像文件中的u-boot文件,从所述设备的配置文件或Secure Processor中获取所述设备的第一类设备信息。
图1所示实施例中,描述了开发人员如何编译获得不同版本的镜像文件,本申请实施例重点从加载了所述镜像文件的设备一侧,描述如何可以基于所述镜像文件,根据不同类型的设备,初始化运行所述镜像文件对应的操作系统。
实际应用中,所述设备的类型信息也可以从配置文件中获得,还可以从SecureProcessor中获得,然而,从所述配置文件中或所述Secure Processor中获得的不止类型信息,还包括了其它设备信息,我们将从配置文件或Secure Processor中获取的设备信息命名为第一类设备信息,所述第一类设备信息用来表示从配置文件中或所述SecureProcessor中获得设备信息。所述第一类设备信息包括设备的类型信息。在获得了设备的类型信息之后,就可以继续获得所述设备的设备树信息。
步骤S203,通过所述镜像文件中的u-boot文件,基于所述设备的第一类设备信息,获取所述设备的设备树文件,所述设备树文件为所述镜像文件支持的所有类型的设备的集合。
我们以从Secure Processor中获得为例,说明如何通过所述镜像文件中的u-boot文件获取所述设备的设备树文件。所述设备的类型信息从Secure Processor中获取时,表示所述配置文件存放在Secure Processor端。通过与Secure Processor端的通信接口向Secure Processor发出读取类型信息的请求,可以通过类型信息中的设备ID、主板和接口板版本作为关键字,也可以在知道所述设备的设备树的名称的前提下直接将设备树的名称作为关键字,Secure Processor端从配置文件的压缩包中查找与所述关键字匹配的设备树文件,如果查找到,就可以解压缩设备树文件并放到内存中。
所述设备的类型信息通过u-boot确定,u-boot文件可以根据所述设备的类型信息获取所述设备的设备树文件(DTB),所述设备树文件为所述镜像文件支持的所有类型的设备的集合,所述设备树文件也保存了设备信息,我们可以将从设备树文件中获得的设备信息命名为第二类设备信息,所述第二类设备信息用来表示用设备树文件中获得的设备信息。通过所述第一类设备信息和/或第二类设备信息,就可以在所述操作系统的初始化和运行阶段,针对不同类型的设备,执行与所述设备相关的文件或操作。
在设备的生产阶段,设备的配置文件就会下载到所述设备中,所述配置文件可以区分不同类型的设备或者不同硬件版本的设备。
步骤S204,加载所述操作系统的内核,并将所述设备的设备树文件和第一类设备信息传递给所述操作系统的内核,以便于所述操作系统的内核基于所述设备树文件加载与所述设备对应的硬件资源。
在本申请实施例中,在获得了第一类设备信息和设备树文件之后,还需要将所述设备树文件和第一类设备信息传递到所述操作系统的内核中,例如,kernel。这时可以加载所述操作系统的内核,并将所述设备的设备树文件和第一类设备信息传递给所述操作系统的内核,所述操作系统的内核基于所述设备树文件就可以加载与所述设备对应的硬件资源,例如,硬件驱动。
步骤S205,所述操作系统的内核从所述设备树文件中获取第二类设备信息,并将所述第一类设备信息和所述第二类设备信息作为所述设备的设备信息传递到所述设备的操作系统中的property子系统中,以便于所述设备的操作系统运行时,从所述property子系统中获取所述设备的设备信息,执行与所述设备信息对应的设备的操作。
在本申请实施例中,还需要从所述设备树文件中获取第二类设备信息,然后将第二类设备信息和第一类设备作为所述设备的设备信息传递到所述设备的操作系统中的property子系统中。Property是Android系统中一个重要的概念,在Android系统内,主要用于系统配置,以及不同服务间的简单信息分享,还包含了设备信息,例如设备名字,蓝牙名字,编译信息,网络dns地址,以及其他的一些设备信息。这样,所述操作系统在运行时就可以从所述property子系统中获取所述设备信息,执行与所述设备信息对应的设备的操作。
步骤S206,在所述设备中的镜像文件对应的操作系统运行时,从所述property子系统中获取所述设备信息,执行与所述设备信息对应的设备的操作。
步骤S207,在接收到重新加载镜像文件的指令后,接收待重新加载的镜像文件,并加载该镜像文件,所述待重新加载的镜像文件为基于所述平台的代码仓库在原镜像文件的基础上修改获得的。
在本申请实施例中,操作系统中难免存在一些bug,或者增加一些新的功能,这是就需要对系统进行升级。对于开发人员而言,只需要修改针对支持多类型设备的操作系统的3个版本文件即可,无需向以往那样针对每个类型的设备的操作系统分别进行修改。无疑大大节省了时间,提高了工作效率。假设上一次加载的操作系统的版本为android 2.4,那么修改后的版本就为android 2.5,重新加载的镜像文件android 2.5就是基于所述平台的代码仓库在原镜像文件android 2.4的基础上修改获得的,设备一侧接收到重新加载镜像文件android 2.5的指令后,接收待重新加载的镜像文件android 2.5,并加载该镜像文件android2.5,加载后,按照上述初始化方法和运行方法继续操作即可。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图3是本申请一实施例提供的移动终端的示意框图,为了便于说明,仅示出与本申请实施例相关的部分。
该移动终端3可以是内置于手机、平板电脑、笔记本等移动终端内的软件单元、硬件单元或者软硬结合的单元,也可以作为独立的挂件集成到所述手机、平板电脑、笔记本等移动终端中。
所述移动终端3,基于支持多类型的设备的平台,所述移动终端3包括:
加载模块31,用于加载所述平台的镜像文件,所述平台的镜像文件是基于所述平台的代码仓库编译获得的支持多类型设备的文件;
初始化模块32,用于在所述移动终端中的镜像文件对应的操作系统初始化时,获取所述移动终端的设备信息,并执行所述镜像文件中与所述设备信息对应的初始化脚本文件;
运行模块33,用于在所述移动终端中的镜像文件对应的操作系统运行时,基于所述设备的设备信息,执行与所述设备信息对应的操作。
可选的,所述加载模块31还用于:
基于所述平台的设备加载所述平台的一个版本的镜像文件,所述镜像文件是基于所述平台的代码仓库,通过条件变量传递版本信息,编译获得的支持多类型设备的文件。
可选的,所述平台为android平台;所述操作系统为android系统;
所述条件变量位于所述镜像文件的boot0文件、u-boot文件、Android文件中;
所述镜像文件包括:PCI版本的镜像文件、Debug版本的镜像文件、Release版本的镜像文件。
可选的,所述初始化模块32包括:
设备类型获取单元321,用于通过镜像文件中的u-boot文件,从所述设备的配置文件或Secure Processor中获取所述设备的第一类设备信息。
可选的,所述初始化模块32还包括:
设备树获取单元322,用于在获取所述设备的第一类设备信息之后,通过所述镜像文件中的u-boot文件,基于所述设备的第一类设备信息,获取所述设备的设备树文件,所述设备树文件为所述镜像文件支持的所有类型的设备的集合。
可选的,所述初始化模块32还包括:
第一信息传递单元323,用于加载所述操作系统的内核,并将所述设备的第一类设备信息和所述设备树文件传递给所述操作系统的内核,以便于所述操作系统的内核基于所述第一类设备信息和所述设备树文件加载与所述设备对应的硬件资源;
第二信息传递单元324,用于所述操作系统的内核从所述设备树文件中获取第二类设备信息,并将所述第一类设备信息和所述第二类设备信息作为所述设备的设备信息传递到所述设备的操作系统中的property子系统中,以便于所述设备的操作系统运行时,从所述property子系统中获取所述设备的设备信息,执行与所述设备的设备信息对应的设备的操作。
可选的,所述移动终端3还包括:
重新加载模块34,用于在接收到重新加载镜像文件的指令后,接收待重新加载的镜像文件,并加载该镜像文件,所述待重新加载的镜像文件为基于所述平台的代码仓库在原镜像文件的基础上修改获得的。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述移动终端的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图4是本申请又一实施例提供的移动终端的示意框图。如图4所示,该实施例的移动终端4包括:一个或多个处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个支持多设备的平台的应用方法实施例中的步骤,例如图1所示的步骤S101至S103。或者,所述处理器40执行所述计算机程序42时实现上述移动终端实施例中各模块/单元的功能,例如图3所示模块31至33的功能。
示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述移动终端4中的执行过程。例如,所述计算机程序42可以被分割成加载模块、初始化模块、运行模块。
加载模块,用于加载所述平台的镜像文件,所述平台的镜像文件是基于所述平台的代码仓库编译获得的支持多类型设备的文件;
初始化模块,用于在所述移动终端中的镜像文件对应的操作系统初始化时,获取所述移动终端的设备信息,并执行所述镜像文件中与所述设备信息对应的初始化脚本文件;
运行模块,用于在所述移动终端中的镜像文件对应的操作系统运行时,基于所述设备的设备信息,执行与所述设备信息对应的操作。
其它模块或者单元可参照图3所示的实施例中的描述,在此不再赘述。
所述移动终端包括但不仅限于处理器40、存储器41。本领域技术人员可以理解,图4仅仅是移动终端4的一个示例,并不构成对移动终端4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述移动终端还可以包括输入设备、输出设备、网络接入设备、总线等。
所述处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述移动终端4的内部存储单元,例如移动终端4的硬盘或内存。所述存储器41也可以是所述移动终端4的外部存储设备,例如所述移动终端4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述移动终端4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述移动终端所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的移动终端和方法,可以通过其它的方式实现。例如,以上所描述的移动终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种支持多类型设备的平台的应用方法,其特征在于,包括:
基于所述平台的设备加载所述平台的镜像文件,所述平台的镜像文件是基于所述平台的代码仓库编译获得的支持多类型设备的文件;
在所述设备中的镜像文件对应的操作系统初始化时,获取所述设备的设备信息,并执行所述镜像文件中与所述设备信息对应的初始化脚本文件;
在所述设备中的镜像文件对应的操作系统运行时,基于所述设备的设备信息,执行与所述设备信息对应的操作。
2.如权利要求1所述的支持多类型设备的平台的应用方法,其特征在于,所述基于所述平台的设备加载所述平台的镜像文件包括:
基于所述平台的设备加载所述平台的一个版本的镜像文件,所述镜像文件是基于所述平台的代码仓库,通过条件变量传递版本信息,编译获得的支持多类型设备的文件。
3.如权利要求2所述的支持多类型设备的平台的应用方法,其特征在于,所述平台为android平台;所述操作系统为android系统;
所述条件变量位于所述镜像文件的boot0文件、u-boot文件、Android文件中;
所述镜像文件包括:PCI版本的镜像文件、Debug版本的镜像文件、Release版本的镜像文件。
4.如权利要求3所述的支持多类型设备的平台的应用方法,其特征在于,所述获取所述设备的设备信息包括:
通过镜像文件中的u-boot文件,从所述设备的配置文件或Secure Processor中获取所述设备的第一类设备信息。
5.如权利要求4所述的支持多类型设备的平台的应用方法,其特征在于,在获取所述设备的第一类设备信息之后,还包括:
通过所述镜像文件中的u-boot文件,基于所述设备的第一类设备信息,获取所述设备的设备树文件,所述设备树文件为所述镜像文件支持的所有类型的设备的集合。
6.如权利要求5所述的支持多设备的平台的应用方法,其特征在于,在获取所述设备的设备树文件之后,还包括:
加载所述操作系统的内核,并将所述设备的第一类设备信息和所述设备树文件传递给所述操作系统的内核,以便于所述操作系统的内核基于所述设备树文件加载与所述设备对应的硬件资源;
所述操作系统的内核从所述设备树文件中获取第二类设备信息,并将所述第一类设备信息和所述第二类设备信息作为所述设备的设备信息传递到所述设备的操作系统中的property子系统中,以便于所述设备的操作系统运行时,从所述property子系统中获取所述设备的设备信息,执行与所述设备信息对应的设备的操作。
7.如权利要求1所述的支持多设备的平台的应用方法,其特征在于,还包括:
在接收到重新加载镜像文件的指令后,接收待重新加载的镜像文件,并加载该镜像文件,所述待重新加载的镜像文件为基于所述平台的代码仓库在原镜像文件的基础上修改获得的。
8.一种移动终端,其特征在于,基于支持多类型设备的平台,所述移动终端包括:
加载模块,用于加载所述平台的镜像文件,所述平台的镜像文件是基于所述平台的代码仓库编译获得的支持多类型设备的文件;
初始化模块,用于在所述移动终端中的镜像文件对应的操作系统初始化时,获取所述移动终端的设备信息,并执行所述镜像文件中与所述设备信息对应的初始化脚本文件;
运行模块,用于在所述移动终端中的镜像文件对应的操作系统运行时,基于所述设备的设备信息,执行与所述设备信息对应的操作。
9.一种移动终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810671900.7A CN109062617B (zh) | 2018-06-26 | 2018-06-26 | 一种支持多类型设备的平台的应用方法、移动终端 |
PCT/CN2019/081045 WO2020001112A1 (zh) | 2018-06-26 | 2019-04-02 | 一种支持多类型设备的平台的应用方法、移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810671900.7A CN109062617B (zh) | 2018-06-26 | 2018-06-26 | 一种支持多类型设备的平台的应用方法、移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062617A true CN109062617A (zh) | 2018-12-21 |
CN109062617B CN109062617B (zh) | 2020-07-28 |
Family
ID=64821646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810671900.7A Active CN109062617B (zh) | 2018-06-26 | 2018-06-26 | 一种支持多类型设备的平台的应用方法、移动终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109062617B (zh) |
WO (1) | WO2020001112A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976751A (zh) * | 2019-03-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 模型操作方法、相关装置及计算机可读介质 |
WO2020001112A1 (zh) * | 2018-06-26 | 2020-01-02 | 百富计算机技术(深圳)有限公司 | 一种支持多类型设备的平台的应用方法、移动终端 |
CN111240752A (zh) * | 2019-12-31 | 2020-06-05 | 北京元心科技有限公司 | 操作系统自适配方法及系统 |
CN112286568A (zh) * | 2020-09-22 | 2021-01-29 | 福建升腾资讯有限公司 | 一种Android系统多版本兼容方法 |
CN112463244A (zh) * | 2020-10-29 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种cpu启动方法、装置、电子设备及计算机可读存储介质 |
CN112631671A (zh) * | 2020-12-31 | 2021-04-09 | 东软睿驰汽车技术(沈阳)有限公司 | 一种操作系统初始化的方法和装置 |
CN112783516A (zh) * | 2021-01-07 | 2021-05-11 | 广东天波信息技术股份有限公司 | 硬件适配的方法、电子设备和计算机可读存储介质 |
CN112955868A (zh) * | 2019-12-18 | 2021-06-11 | 深圳市大疆创新科技有限公司 | 软件扩展方法、终端设备、可移动平台、负载和存储介质 |
CN113282280A (zh) * | 2021-06-18 | 2021-08-20 | 卡斯柯信号有限公司 | 面向功能可扩充的通用信号设备交互方法、设备及介质 |
CN113286090A (zh) * | 2021-06-07 | 2021-08-20 | 经纬恒润(天津)研究开发有限公司 | 摄像头多驱动动态配置方法、加载方法及相关装置 |
WO2022052739A1 (zh) * | 2020-09-10 | 2022-03-17 | 华为技术有限公司 | 设备树修复方法、系统及计算机可读存储介质 |
CN114661330A (zh) * | 2022-05-25 | 2022-06-24 | 武汉海微科技有限公司 | 车辆硬件程序更新方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140379925A1 (en) * | 2013-06-21 | 2014-12-25 | Electronics And Telecommunications Research Institute | Apparatus and method for interworking between app store servers to share application information |
CN104484211A (zh) * | 2014-12-29 | 2015-04-01 | 广东欧珀移动通信有限公司 | 共享镜像文件的方法及装置 |
CN104767635A (zh) * | 2015-01-12 | 2015-07-08 | 武汉烽火网络有限责任公司 | 一种基于命令行动态替换用于多设备共镜像的方法 |
CN105138389A (zh) * | 2015-07-30 | 2015-12-09 | 北京京东尚科信息技术有限公司 | 一种集群中虚拟设备的管理方法及系统 |
CN105260205A (zh) * | 2015-09-30 | 2016-01-20 | 中山市天启电子科技有限公司 | 一种嵌入式板上实现双操作系统启动的方法 |
CN105607941A (zh) * | 2015-11-25 | 2016-05-25 | 上海斐讯数据通信技术有限公司 | 一种安卓项目中配置编译的装置和方法 |
CN105607921A (zh) * | 2015-10-29 | 2016-05-25 | Tcl集团股份有限公司 | 一种基于Android系统的系统服务启动方法及系统 |
CN107463427A (zh) * | 2017-06-29 | 2017-12-12 | 北京北信源软件股份有限公司 | 一种虚拟机操作系统类型与版本的获取方法与装置 |
CN107526587A (zh) * | 2017-08-02 | 2017-12-29 | 中国航空无线电电子研究所 | 一种综合模块化航空电子系统的构建方法 |
CN107632828A (zh) * | 2016-07-18 | 2018-01-26 | 迈普通信技术股份有限公司 | 多dts文件支持方法、编译装置及嵌入式设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101854975B1 (ko) * | 2016-02-18 | 2018-05-04 | 라인 가부시키가이샤 | 패키지 파일에 대한 기능 확장 방법 및 시스템 |
CN107577477B (zh) * | 2017-09-06 | 2021-09-14 | 武汉虹信科技发展有限责任公司 | 一种基于dtb文件的多平台软件版本自适应方法及系统 |
CN109062617B (zh) * | 2018-06-26 | 2020-07-28 | 百富计算机技术(深圳)有限公司 | 一种支持多类型设备的平台的应用方法、移动终端 |
-
2018
- 2018-06-26 CN CN201810671900.7A patent/CN109062617B/zh active Active
-
2019
- 2019-04-02 WO PCT/CN2019/081045 patent/WO2020001112A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140379925A1 (en) * | 2013-06-21 | 2014-12-25 | Electronics And Telecommunications Research Institute | Apparatus and method for interworking between app store servers to share application information |
CN104484211A (zh) * | 2014-12-29 | 2015-04-01 | 广东欧珀移动通信有限公司 | 共享镜像文件的方法及装置 |
CN104767635A (zh) * | 2015-01-12 | 2015-07-08 | 武汉烽火网络有限责任公司 | 一种基于命令行动态替换用于多设备共镜像的方法 |
CN105138389A (zh) * | 2015-07-30 | 2015-12-09 | 北京京东尚科信息技术有限公司 | 一种集群中虚拟设备的管理方法及系统 |
CN105260205A (zh) * | 2015-09-30 | 2016-01-20 | 中山市天启电子科技有限公司 | 一种嵌入式板上实现双操作系统启动的方法 |
CN105607921A (zh) * | 2015-10-29 | 2016-05-25 | Tcl集团股份有限公司 | 一种基于Android系统的系统服务启动方法及系统 |
CN105607941A (zh) * | 2015-11-25 | 2016-05-25 | 上海斐讯数据通信技术有限公司 | 一种安卓项目中配置编译的装置和方法 |
CN107632828A (zh) * | 2016-07-18 | 2018-01-26 | 迈普通信技术股份有限公司 | 多dts文件支持方法、编译装置及嵌入式设备 |
CN107463427A (zh) * | 2017-06-29 | 2017-12-12 | 北京北信源软件股份有限公司 | 一种虚拟机操作系统类型与版本的获取方法与装置 |
CN107526587A (zh) * | 2017-08-02 | 2017-12-29 | 中国航空无线电电子研究所 | 一种综合模块化航空电子系统的构建方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020001112A1 (zh) * | 2018-06-26 | 2020-01-02 | 百富计算机技术(深圳)有限公司 | 一种支持多类型设备的平台的应用方法、移动终端 |
CN109976751A (zh) * | 2019-03-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 模型操作方法、相关装置及计算机可读介质 |
CN112955868A (zh) * | 2019-12-18 | 2021-06-11 | 深圳市大疆创新科技有限公司 | 软件扩展方法、终端设备、可移动平台、负载和存储介质 |
CN111240752A (zh) * | 2019-12-31 | 2020-06-05 | 北京元心科技有限公司 | 操作系统自适配方法及系统 |
WO2022052739A1 (zh) * | 2020-09-10 | 2022-03-17 | 华为技术有限公司 | 设备树修复方法、系统及计算机可读存储介质 |
CN112286568A (zh) * | 2020-09-22 | 2021-01-29 | 福建升腾资讯有限公司 | 一种Android系统多版本兼容方法 |
CN112463244A (zh) * | 2020-10-29 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种cpu启动方法、装置、电子设备及计算机可读存储介质 |
CN112463244B (zh) * | 2020-10-29 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种cpu启动方法、装置、电子设备及计算机可读存储介质 |
CN112631671A (zh) * | 2020-12-31 | 2021-04-09 | 东软睿驰汽车技术(沈阳)有限公司 | 一种操作系统初始化的方法和装置 |
CN112783516A (zh) * | 2021-01-07 | 2021-05-11 | 广东天波信息技术股份有限公司 | 硬件适配的方法、电子设备和计算机可读存储介质 |
CN113286090A (zh) * | 2021-06-07 | 2021-08-20 | 经纬恒润(天津)研究开发有限公司 | 摄像头多驱动动态配置方法、加载方法及相关装置 |
CN113282280A (zh) * | 2021-06-18 | 2021-08-20 | 卡斯柯信号有限公司 | 面向功能可扩充的通用信号设备交互方法、设备及介质 |
CN114661330A (zh) * | 2022-05-25 | 2022-06-24 | 武汉海微科技有限公司 | 车辆硬件程序更新方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109062617B (zh) | 2020-07-28 |
WO2020001112A1 (zh) | 2020-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062617A (zh) | 一种支持多类型设备的平台的应用方法、移动终端 | |
JP6856749B2 (ja) | ブロックチェーン上のネイティブ契約を実施するためのシステムおよび方法 | |
CA2768752C (en) | Terminal device of non-android platform for executing android applications, and computer readable recording medium for storing program of executing android applications on non-android platform | |
US9411601B2 (en) | Flexible bootstrap code architecture | |
US10810017B2 (en) | Systems and methods for handling firmware driver dependencies in host operating systems while applying updates from bootable image file | |
CN101799760A (zh) | 生成任意目标架构的并行单指令多数据代码的系统和方法 | |
CN105912362B (zh) | 一种加载插件的方法、装置及电子设备 | |
US11435985B2 (en) | Electronic device and operation method thereof | |
US11016769B1 (en) | Method and apparatus for processing information | |
CN112256321A (zh) | 静态库打包方法、装置、计算机设备和存储介质 | |
CN104750528A (zh) | 一种Android程序中的组件管理方法和装置 | |
CN105068855A (zh) | 一种编译安卓包开发文件的方法、服务器和系统 | |
CN110688096B (zh) | 包含插件的应用程序的构建方法、装置、介质及电子设备 | |
CN106452835B (zh) | 特定硬件配置的终端软件更新的方法及其装置 | |
CN106796521B (zh) | 独立于产品发布的api版本控制 | |
CN109150956A (zh) | 一种推送sdk的实现方法、装置、设备和计算机存储介质 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN110515671A (zh) | 初始化方法、初始化装置、终端设备及可读存储介质 | |
US10031734B2 (en) | Device and method for generating application package | |
CN109669735B (zh) | 基于延时注册的应用启动方法、装置和存储介质 | |
CN106951288B (zh) | 一种热更资源的开发、应用方法及装置 | |
CN109753293A (zh) | 一种插件的处理方法及相关设备 | |
CN103677846A (zh) | 一种SQLite数据库开发工具包及开发方法 | |
CN109582394B (zh) | 一种应用程序启动方法、装置和存储介质 | |
CN112650512A (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 |