CN108182070B - 定制安卓系统rom的方法、装置及终端设备 - Google Patents
定制安卓系统rom的方法、装置及终端设备 Download PDFInfo
- Publication number
- CN108182070B CN108182070B CN201611123925.0A CN201611123925A CN108182070B CN 108182070 B CN108182070 B CN 108182070B CN 201611123925 A CN201611123925 A CN 201611123925A CN 108182070 B CN108182070 B CN 108182070B
- Authority
- CN
- China
- Prior art keywords
- operating system
- module
- rom
- file
- functional module
- 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
Links
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/61—Installation
-
- 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
- G06F8/66—Updates of program code stored in read-only memory [ROM]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及定制安卓系统ROM的方法、装置及终端设备,方法包括:获取用户通过界面选择的被定制的功能模块以及定制类型;获取控制操作系统的ROOT权限;利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作;将所述功能模块融合到所述操作系统中。本申请的技术方案能够使用户一键修改或定制ROM。
Description
技术领域
本申请涉及计算机软件技术领域,具体而言,涉及定制安卓系统ROM的方法、装置及终端设备。
背景技术
安卓系统Android的开放性和强大的功能加快了移动技术的创新。因此,Android设备被广泛使用到不同的应用领域,如娱乐,电信,汽车和机器人等领域。在添加新的功能或集成新硬件之前,开发者需要考虑Android可以提供什么,什么样的输入/输出可以满足系统需求。但是,Android系统所授予的服务与功能,并不全都包含在ROM中烧制到设备上。其原因有二,首先,Android系统一直面临着资源约束,尤其是内存容量。因此,无法在发布前添加系统中的所有多余的功能。第二,许多制造商获得基于由标准用户选择的硬件组件的许可费。因此,用户应根据自己的需求进行个性化的Android操作系统。
定制ROM的存在的问题在于经常需要进行修改,并需要在设备上烧制。相关技术是根据用户需求定制ROM,然后烧写到相应的硬件设备上实现定制化Android系统。相关技术的Android系统定制ROM方法,需要具有专业知识的专家来对Android系统的某些文件进行修改或者是向原生系统中添加库文件,然后烧制到相应的硬件设备上。该方法增加了定制系统的周转时间以及出错的可能性,同时需要较高的专业技能及知识储备,如果烧制失败,Android设备就会变成一块无用的“板砖”。
发明内容
本申请公开定制安卓系统ROM的方法,使得用户对ROM进行方便地修改以定制ROM。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一个方面,提供一种定制安卓系统ROM的方法,包括:
获取用户通过界面选择的被定制的功能模块以及定制类型;
获取控制操作系统的ROOT权限;
利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作;
将所述功能模块融合到所述操作系统中。
根据一些实施例,所述定制类型包括安装、更新、以及卸载其中至少一种。
根据一些实施例,利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作包括:
根据所述操作系统的ROM信息确定所述功能模块对应的文件路径;
利用所述ROOT权限根据所述定制类型对所述操作系统的ROM文件的所述文件路径进行操作。
根据一些实施例,利用所述ROOT权限根据所述定制类型对所述操作系统的ROM文件的所述文件路径进行操作包括:
若所述定制类型为删除,则利用所述ROOT权限从所述文件路径将所述功能模块对应的安装资源删除。
根据一些实施例,利用所述ROOT权限根据所述定制类型对所述操作系统的ROM文件的所述文件路径进行操作包括:
若所述定制类型为安装或更新,则根据所述操作系统的ROM信息和所述功能模块确定更新类型,其中所述更新类型包括添加、替换、以及修改;
若所述更新类型为添加或替换,则利用所述ROOT权限将所述功能模块对应的安装资源写入所述文件路径;
若所述更新类型为修改,则利用所述ROOT权限修改所述文件路径下所述功能模块对应的安装资源。
根据一些实施例,所述功能模块包括系统界面模块、驱动模块、功能软件模块、硬件应用模块。
根据一些实施例,将所述功能模块融合到所述操作系统中包括:
通过应用框架层为所述功能模块创建虚拟机实例,为所述虚拟机实例加载用于将所述功能模块融合到所述操作系统的类文件。
根据一些实施例,在对所述操作系统的ROM文件进行操作之前还包括:
获取多个版本的ROM信息集合;
根据所述操作系统的配置信息从所述ROM信息集合中查询所述操作系统的ROM信息,所述配置信息包括ROM的名称、产品型号、以及安卓版本。
根据一些实施例,所述ROM信息包括所述操作系统的配置信息、安装路径、功能模块的安装文件命名规则。
根据本发明的另一方面,提供一种定制安卓系统ROM的装置,其包括
接口单元,用于获取用户通过界面选择的被定制的功能模块以及定制类型;
权限单元,用于获取控制操作系统的ROOT权限;
文件操作单元,用于利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作;
系统融合单元,用于将所述功能模块融合到所述操作系统中。
根据一些实施例,所述定制类型包括安装、更新、以及卸载其中至少一种。
根据一些实施例,所述文件操作单元用于根据所述操作系统的ROM信息确定所述功能模块对应的文件路径;
利用所述ROOT权限根据所述定制类型对所述操作系统的ROM文件的所述文件路径进行操作。
根据一些实施例,所述文件操作单元用于若所述定制类型为删除,则利用所述ROOT权限从所述文件路径将所述功能模块对应的安装资源删除。
根据一些实施例,所述文件操作单元用于若所述定制类型为安装或更新,则根据所述操作系统的ROM信息和所述功能模块确定更新类型,其中所述更新类型包括添加、替换、以及修改;
若所述更新类型为添加或替换,则利用所述ROOT权限将所述功能模块对应的安装资源写入所述文件路径;
若所述更新类型为修改,则利用所述ROOT权限修改所述文件路径下所述功能模块对应的安装资源。
根据一些实施例,所述功能模块包括系统界面模块、驱动模块、功能软件模块、硬件应用模块。
根据一些实施例,所述系统融合单元,用于通过应用框架层为所述功能模块创建虚拟机实例,为所述虚拟机实例加载用于将所述功能模块融合到所述操作系统的类文件。
根据一些实施例,还包括ROM信息查询单元,用于在对所述操作系统的ROM文件进行操作之前,获取多个版本的ROM信息集合;
根据所述操作系统的配置信息从所述ROM信息集合中查询所述操作系统的ROM信息,所述配置信息包括ROM的名称、产品型号、以及安卓版本。
根据一些实施例,所述ROM信息包括所述操作系统的配置信息、安装路径、功能模块的安装文件命名规则。
根据本发明的另一方面,提供一种终端设备,包括:处理器;存储器,存储用于处理器控制以下操作的指令:获取用户通过界面选择的被定制的功能模块以及定制类型;
获取控制操作系统的ROOT权限;
利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作;
将所述功能模块融合到所述操作系统中。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请的实施例提供的技术方案能够使用户一键修改或定制ROM。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明一实施例的定制安卓系统ROM的方法;
图2为本实施例定制硬件应用模块的接口示意图;
图3为本实施例定制驱动模块的接口示意图;
图4示出了根据本发明一实施例的定制安卓系统ROM的装置的框图;
图5是根据本实施例的技术方案所设计的应用框架与安卓系统之间的交互示意图;
图6示出了根据本发明一实施例的终端设备。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了根据本发明一实施例的定制安卓系统ROM的方法,本实施例可适用于通过采用本发明的方法设计的软件来定制本机的ROM的情况,如图1所示,本实施例所述的定制安卓系统ROM的方法包括:
在步骤S110中,获取用户通过界面选择的被定制的功能模块以及定制类型。
本实施例所述的被定制的功能模块包括多种,例如系统界面模块、驱动模块、功能软件模块、硬件应用模块。本实施例可将所有有可能的修改维护在一个线上数据库中,该数据库按照定制的类型进行分类,比如系统界面定制、驱动定制、功能软件定制、硬件应用定制等。本实施例所述的定制类型包括安装、更新、以及卸载其中至少一种。例如更改界面样式、更改开机动画、使浏览器主页启动、添加驱动、添加或删除电池电量显示、以及添加或删除功能软件模块等。
图2为本实施例定制硬件应用模块的接口示意图,例如包括蓝牙工具集、以及相机模块,用户可通过该接口安装该蓝牙工具集来修改蓝牙设备,也可通过安装相机模块编辑对相机的设置。图3为本实施例定制驱动模块的接口示意图,例如包括3G模块、以及机器人Robot模块,用户可通过安装所述3G模块,以实现与无线USB软件保护器进行连接,也可以通过安装所Robot模块以与Robot进行通信。
在步骤S120中,获取控制操作系统的ROOT权限。
因为安卓系统是继承自Linux内核,可以通过将用户变成超级用户从而获取对操作系统的完全控制权,该超级用户可以控制所装ROM的任何部分,能够通过安卓系统的权限检查,建立到安卓系统内核的静态信任链。
在步骤S130中,利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作。
本步骤可通过根据所述操作系统的ROM信息确定所述功能模块对应的文件路径,利用所述ROOT权限根据所述定制类型对所述操作系统的ROM文件的所述文件路径进行操作。
例如,若所述定制类型为删除,则利用所述ROOT权限从所述文件路径将所述功能模块对应的安装资源删除。
又如,若所述定制类型为安装或更新,则根据所述操作系统的ROM信息和所述功能模块确定更新类型,其中所述更新类型包括添加、替换、以及修改;
若所述更新类型为添加或替换,则利用所述ROOT权限将所述功能模块对应的安装资源写入所述文件路径;
若所述更新类型为修改,则利用所述ROOT权限修改所述文件路径下所述功能模块对应的安装资源。
在步骤S140中,将所述功能模块融合到所述操作系统中。
根据本发明的实施例,可通过应用框架层为所述功能模块创建虚拟机实例,为所述虚拟机实例加载用于将所述功能模块融合到所述操作系统的类文件。
需要说明的是,在对所述操作系统的ROM文件进行操作之前,还可通过获取多个版本的ROM信息集合,根据所述操作系统的配置信息(包括ROM名称、产品型号、以及安卓版本等)从所述ROM信息集合中查询所述操作系统的ROM信息。其中所述ROM信息包括所述操作系统的配置信息、安装路径、功能模块的安装文件命名规则。
即根据移动终端的安卓系统的配置文件(“/system/build.prop”)得到ROM配置信息,从预先存维护在数据库中的多个ROM信息中,通过该配置信息找到对应的ROM信息,从而得到对于该版本的ROM的配置信息,为添加、删除、或修改该被定制的功能模块提供修改方向,例如在/system/bin文件夹中添加或者是替换由SEM发送过来的文件。
本实施例通过利用ROOT权限根据被订制的功能模块、定制类型、以及操作系统的ROM信息对所述操作系统的ROM文件进行操作,然后将所述功能模块融合到所述操作系统中,能够使用户一键修改或定制ROM。
图4示出了根据本发明一实施例的定制安卓系统ROM的装置的框图,如图4所示,本实施例所述的定制安卓系统ROM的装置包括接口单元410、权限单元420、文件操作单元430、系统融合单元440。
该接口单元410被配置为,用于获取用户通过界面选择的被定制的功能模块以及定制类型;
该权限单元420被配置为,用于获取控制操作系统的ROOT权限;
该文件操作单元430被配置为,用于利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作;
该系统融合单元440被配置为,用于将所述功能模块融合到所述操作系统中。
根据一些实施例,所述定制类型包括安装、更新、以及卸载其中至少一种。
根据一些实施例,所述文件操作单元430用于根据所述操作系统的ROM信息确定所述功能模块对应的文件路径;
利用所述ROOT权限根据所述定制类型对所述操作系统的ROM文件的所述文件路径进行操作。
根据一些实施例,所述文件操作单元430用于若所述定制类型为删除,则利用所述ROOT权限从所述文件路径将所述功能模块对应的安装资源删除。
根据一些实施例,所述文件操作单元430用于若所述定制类型为安装或更新,则根据所述操作系统的ROM信息和所述功能模块确定更新类型,其中所述更新类型包括添加、替换、以及修改;
若所述更新类型为添加或替换,则利用所述ROOT权限将所述功能模块对应的安装资源写入所述文件路径;
若所述更新类型为修改,则利用所述ROOT权限修改所述文件路径下所述功能模块对应的安装资源。
根据一些实施例,所述功能模块包括系统界面模块、驱动模块、功能软件模块、硬件应用模块。
根据一些实施例,所述系统融合单元440,用于通过应用框架层为所述功能模块创建虚拟机实例,为所述虚拟机实例加载用于将所述功能模块融合到所述操作系统的类文件。
根据一些实施例,还包括ROM信息查询单元(图4中未示出),用于在对所述操作系统的ROM文件进行操作之前,获取多个版本的ROM信息集合;
根据所述操作系统的配置信息从所述ROM信息集合中查询所述操作系统的ROM信息,所述配置信息包括ROM的名称、产品型号、以及安卓版本。
根据一些实施例,所述ROM信息包括所述操作系统的配置信息、安装路径、功能模块的安装文件命名规则。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本实施例提供的定制安卓系统ROM的装置可执行本发明方法实施例所提供的定制安卓系统ROM的方法,具备执行方法相应的功能模块和有益效果。
图5是根据本实施例的技术方案所设计的应用框架(即图5中的Flexibledroid)与安卓系统之间的交互示意图,如图5所示。
相关的现有技术中,安卓系统架构包括Linux内核层、核心库文件、库文件、应用框架层、以及应用层。
Linux内核层:Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux内核层也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的SAP(Service Access Point),专业点可以说是高内聚、低耦合。
核心库文件:安卓系统包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。库文件:安卓系统包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。
应用框架层:通过提供开放的开发平台,安卓使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等。开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。所有的应用程序其实是一组服务和系统,包括:视图(View)--丰富的、可扩展的视图集合,可用于构建一个应用程序。包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器内容提供者(Content Providers)--使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据资源管理器(Resource Manager)--提供访问非代码资源,如本地化字符串、图形和布局文件通知管理器(Notification Manager)--使所有的应用程序能够在状态栏显示自定义警告活动管理器(Activity Manager)--管理应用程序生命周期,提供通用的导航回退功能。
应用层:安卓系统装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。。
从上面我们知道Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆迭(Software Stack),或称为软件迭层架构,迭层主要分成三层:操作系统、中间件、应用程序。
根据本实施例的技术方案所设计的应用框架(即图5中的Flexibledroid)最重要的部分包括接口模块(FIM)、Root权限模块(RPM)、桥梁文件模块(FBF)以及软件扩展模块(SEM)。该应用框架将核心功能分割成上述四个独立的、可交换的模块,使得每个模块都包含实现既定功能的某个部分所需的一切资源。
FBF模块的目的是提供一个可编程的接口来扩展和定制安卓系统而不需要重新烧制一个新的ROM。因为是继承自Linux内核,可以将用户变为超级用户,从而完全获取对操作系统的控制权。RPM授权给超级用户访问终端,该种访问可以控制所装ROM的任何部分。除此之外还有一个被称为Zygote的进程。在安卓系统中,大部分的应用程序进程都是由zygote来创建的。该进程会在设备启动时由一个init.rc脚本文件启动,此时FBF模块随之启动。FBF的功能就是在/system/bin文件夹中添加或者是替换由SEM发送过来的文件。事实上,SEM模块是为了安装需要扩展的功能。各个模块的实现如下。
FIM模块:该模块为扩展或者定制ROM的地方,它提供了一个可编程的接口,通过该接口达到目的。例如可通过提供如图2和图3所示的界面供用户选择被定制功能模块,再通过另一界面供用户选择定制类型是安装、更新、还是卸载。
RPM模块:具有超级用户权限的应用与其他应用在应用层上都具有相似的特性。它会在任何需要超级用户权限才能访问的功能时被调用。
Root认证包含了几个步骤,从概念上我们可以分为三个部分。第一步是建立从内核到Flexibledroid应用的信任静态链;第二步则是由RPM模块检测设备所安装应用具有的权限;第三部分包括Flexibledroid应用程序和Android内核的所有级别之间的质询响应协议。
FBF模块:每个应用程序都是作为它的一个副本被启动,这个启动过程是由_init.rc的脚本文件在设备启动时触发的。当加载完所需要的类文件及初始化方法之后,该进程就会被一个叫_system_bin_app_process的进程所终止。当框架层启动时,扩展应用程序的可执行进程就会被拷贝到/system/bin文件下。该扩展的启动进程会向classpath中添加一个额外jar包。比如在Dalvik虚拟机创建之后,在Zygote的主函数调用之前。在Zygote方法中,我们充当它的内容。这里的jar包存放的位置为/data/data/flexible_package/bin/FlexibleBridge.jar。
SEM模块:SEM在逻辑上可以分为独立开发模块和架构相关模块。相关现有技术中,当用户对反编译的APK进行修改时,通过直接在需要的地方插入或者修改指令,然后,需要对修改过的APK进行重新的打包签名。对于采用本发明技术方案设计的应用框架来说,并不需要用户修改方法中的代码,通过系统自动把自己的代码注入到待修改方法的前面或者是后面。
本实施例中,所述FBF模块有一个私有的本地的方法,该方法也在扩展的进程中被实现了。它会将方法类型变为“本地的”,并且把方法的实现与本身的“本地”、通用的方法相关联。也就是说,每次调用FBF的私有方法时,其实调用的是他的实现,这一点调用者并不需要知道。Flexibledroid的框架层会为每一个虚拟机实例加载额外的类文件,从而使得每一个实例中都有FBF私有方法的实现。它允许安装多个模块的基础应用程序,这些模块使得用户可以很容易的定制ROM。
需要说明的是,本实施例的技术方案除了适用于定制独立开发的功能模块,也可适用于扩展框架层的相关模块,,例如可以提供网络服务接口,通过该网络服务接口可以访问系统上各个模块,该项功能可以用于远程操控机器人等。
本发明实施例提出了一种具有可编程接口的应用框架,该框架可用于扩展和修改android ROM,允许用户以系统级的方式操控安卓ROM的各个部分。通过该应用框架,任何普通用户都可以很容易的定制安卓平台,而不需要为了实现某种功能去安装其他的应用或者是重新烧制一个ROM。
图6示出了根据本发明一实施例的终端设备,适于运行包括脚本模块和原生应用模块的混合应用。
如图6所示,终端设备600可包括处理器610、存储器620、发射器630及接收器640。
存储器620可存储用于处理器610控制操作处理的指令。存储器620可包括易失性或非易失性存储器,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)等,本发明对此没有限制。
处理器610可调用存储器620中存储的指令控制相关操作。根据一实施例,存储器620存储用于处理器610控制以下操作的指令:
获取用户通过界面选择的被定制的功能模块以及定制类型;
获取控制操作系统的ROOT权限;
利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作;
将所述功能模块融合到所述操作系统中。
易于理解,存储器620还可存储用于处理器610控制根据本发明实施例的其他操作的指令,这里不再赘述。
处理器610还可控制发射器630和接收器640进行信号收发等。
通过以上的详细描述,本领域的技术人员易于理解,根据本发明实施例的系统和方法具有以下优点中的一个或多个。
根据一些实施例,本发明还提供一种非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。当存储介质中的指令由终端的处理器执行时,使得终端能够执行下述方法:将脚本模块中的原生资源名称变换为原生资源ID;原生应用模块通过原生资源ID获取相应的原生资源。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的,因此不能用于限制本发明的保护范围。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
以上具体地示出和描述了本发明的示例性实施例。应该理解,本发明不限于所公开的实施例,相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效布置。
Claims (11)
1.一种定制安卓系统ROM的方法,其特征在于,应用于所述安卓系统ROM对应的设备,包括:
获取用户通过界面选择的被定制的功能模块以及定制类型;
获取控制操作系统的ROOT权限;
利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作;
将所述功能模块融合到所述操作系统中;
其中,所述将所述功能模块融合到所述操作系统中,包括:
通过应用框架层为所述功能模块创建虚拟机实例,为所述虚拟机实例加载用于将所述功能模块融合到所述操作系统的类文件;应用框架层包括接口模块、Root权限模块、桥梁文件模块以及软件扩展模块。
2.如权利要求1所述的方法,其特征在于,所述定制类型包括安装、更新、以及卸载其中至少一种。
3.如权利要求1所述的方法,其特征在于,利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作包括:
根据所述操作系统的ROM信息确定所述功能模块对应的文件路径;
利用所述ROOT权限根据所述定制类型对所述操作系统的ROM文件的所述文件路径进行操作。
4.如权利要求3所述的方法,其特征在于,利用所述ROOT权限根据所述定制类型对所述操作系统的ROM文件的所述文件路径进行操作包括:
若所述定制类型为删除,则利用所述ROOT权限从所述文件路径将所述功能模块对应的安装资源删除。
5.如权利要求3所述的方法,其特征在于,利用所述ROOT权限根据所述定制类型对所述操作系统的ROM文件的所述文件路径进行操作包括:
若所述定制类型为安装或更新,则根据所述操作系统的ROM信息和所述功能模块确定更新类型,其中所述更新类型包括添加、替换、以及修改;
若所述更新类型为添加或替换,则利用所述ROOT权限将所述功能模块对应的安装资源写入所述文件路径;
若所述更新类型为修改,则利用所述ROOT权限修改所述文件路径下所述功能模块对应的安装资源。
6.如权利要求1所述的方法,其特征在于,所述功能模块包括系统界面模块、驱动模块、功能软件模块、硬件应用模块。
7.如权利要求1所述的方法,其特征在于,所述ROM信息包括所述操作系统的配置信息、安装路径、功能模块的安装文件命名规则。
8.一种定制安卓系统ROM的装置,其特征在于,应用于所述安卓系统ROM对应的设备,包括:
接口单元,用于获取用户通过界面选择的被定制的功能模块以及定制类型;
权限单元,用于获取控制操作系统的ROOT权限;
文件操作单元,用于利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作;
系统融合单元,用于将所述功能模块融合到所述操作系统中;
其中,所述系统融合单元被配置为:
通过应用框架层为所述功能模块创建虚拟机实例,为所述虚拟机实例加载用于将所述功能模块融合到所述操作系统的类文件;应用框架层包括接口模块、Root权限模块、桥梁文件模块以及软件扩展模块。
9.一种终端设备,其特征在于,包括:处理器;存储器,存储用于所述处理器控制以下操作的指令:
获取用户通过界面选择的被定制的功能模块以及定制类型;
获取控制操作系统的ROOT权限;
利用所述ROOT权限根据所述功能模块、所述定制类型、以及所述操作系统的ROM信息对所述操作系统的ROM文件进行操作;
将所述功能模块融合到所述操作系统中;
其中,所述将所述功能模块融合到所述操作系统中,包括:
通过应用框架层为所述功能模块创建虚拟机实例,为所述虚拟机实例加载用于将所述功能模块融合到所述操作系统的类文件;应用框架层包括接口模块、Root权限模块、桥梁文件模块以及软件扩展模块。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611123925.0A CN108182070B (zh) | 2016-12-08 | 2016-12-08 | 定制安卓系统rom的方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611123925.0A CN108182070B (zh) | 2016-12-08 | 2016-12-08 | 定制安卓系统rom的方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108182070A CN108182070A (zh) | 2018-06-19 |
CN108182070B true CN108182070B (zh) | 2020-11-24 |
Family
ID=62544868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611123925.0A Active CN108182070B (zh) | 2016-12-08 | 2016-12-08 | 定制安卓系统rom的方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108182070B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829603A (zh) * | 2018-06-25 | 2018-11-16 | 长沙掌控信息科技有限公司 | 安卓应用运行时的数据修改方法 |
CN109656577B (zh) * | 2018-12-07 | 2022-02-25 | 陕西瑞迅电子信息技术有限公司 | 一种工控机自定义rom的方法及装置 |
CN111381842A (zh) * | 2018-12-27 | 2020-07-07 | 深圳市优必选科技有限公司 | 一种机器人升级方法、电子设备及服务器 |
CN112764798B (zh) * | 2021-01-08 | 2023-10-03 | 重庆创通联智物联网有限公司 | 电子设备定制模式的实现方法及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101489244B1 (ko) * | 2007-12-24 | 2015-02-04 | 삼성전자 주식회사 | 가상 머신 모니터 기반의 프로그램 실행 시스템 및 그 제어방법 |
CN103019775B (zh) * | 2012-11-28 | 2016-04-13 | 小米科技有限责任公司 | 一种终端设备刷机的方法、装置和设备 |
CN103631617A (zh) * | 2013-11-01 | 2014-03-12 | 北京奇虎科技有限公司 | 一种终端设备卸载系统应用的方法和装置 |
CN103812948B (zh) * | 2014-03-04 | 2017-05-31 | 湘潭大学 | 智能手机操作系统云端交互定制系统与方法 |
-
2016
- 2016-12-08 CN CN201611123925.0A patent/CN108182070B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108182070A (zh) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108182070B (zh) | 定制安卓系统rom的方法、装置及终端设备 | |
CN107506221B (zh) | 应用程序升级方法、装置及设备 | |
CN102460382B (zh) | 标注虚拟应用进程 | |
CN105657191B (zh) | 一种基于Android系统的应用增量升级方法及系统 | |
KR101854975B1 (ko) | 패키지 파일에 대한 기능 확장 방법 및 시스템 | |
EP1967981A1 (en) | Program execution control method, device, and execution control program | |
EP2696532A2 (en) | Method, server and system for starting application | |
CN114077423A (zh) | 基于移动跨平台的机场app开发容器架构 | |
CN112486547A (zh) | 多租户场景下的应用程序更新方法、装置及电子设备 | |
CN100507904C (zh) | 构建、展开、服务并管理可定制和可配置可重复使用应用程序的框架 | |
CN110543369A (zh) | 一种安卓系统存储空间结构的构建方法、装置及其构建结构 | |
CN108089873A (zh) | 一种应用组件即时更新的方法及终端 | |
US20110321030A1 (en) | Method and apparatus for updating a software image | |
JP4724660B2 (ja) | 組み込みシステムの中に統合されるソフトウェアコンポーネントを管理する方法 | |
CN104699503A (zh) | 一种替换安卓系统中函数的执行逻辑的方法及装置 | |
CN109857374B (zh) | 移动应用的开发方法及装置 | |
CN107544813B (zh) | 一种静态库配置的切换方法和系统 | |
CN114816475A (zh) | 一种嵌入式操作系统的更新方法、装置、设备和介质 | |
Boie | Android* software updates | |
KR20180048518A (ko) | 패키지 파일에 대한 기능 확장 방법 및 시스템 | |
CN116204199B (zh) | 基于命令行的项目管理方法、系统、设备及存储介质 | |
US20160117164A1 (en) | System and method for customizing mobile technology platforms respective of personas | |
KR101924175B1 (ko) | 스마트폰 어플리케이션팩 생성 방법 | |
CN115686570A (zh) | 应用更新方法、装置、服务器、客户端、开发前端及介质 | |
CN115859260A (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 |