CN105607921B - 一种基于Android系统的系统服务启动方法及系统 - Google Patents
一种基于Android系统的系统服务启动方法及系统 Download PDFInfo
- Publication number
- CN105607921B CN105607921B CN201510714978.9A CN201510714978A CN105607921B CN 105607921 B CN105607921 B CN 105607921B CN 201510714978 A CN201510714978 A CN 201510714978A CN 105607921 B CN105607921 B CN 105607921B
- Authority
- CN
- China
- Prior art keywords
- software program
- starting
- service
- android
- script
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 145
- 230000008569 process Effects 0.000 claims abstract description 117
- 238000004088 simulation Methods 0.000 claims description 19
- 230000004913 activation Effects 0.000 claims description 16
- 230000000977 initiatory effect Effects 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 8
- 238000005457 optimization Methods 0.000 abstract description 2
- 238000011112 process operation Methods 0.000 abstract description 2
- 238000012546 transfer Methods 0.000 abstract description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于Android系统的系统服务启动方法及系统,所述方法包括:将系统服务转移到单独进程运行,并解决转移后存在的启动时机和同步问题;将定制服务转移到单独的进程中运行;将android原生服务中依赖关系简单的服务转移到单独的进程中运行。本发明优化系统启动速度,缩短开机时间;使得系统服务可以同时兼容64bit和32bit运行单独的系统服务进程的启动方法。
Description
技术领域
本发明涉及消费电子技术领域,尤其涉及一种基于Android系统的系统服务启动方法及系统。
背景技术
系统服务专指Android系统中system_server进程中启动的各种java层服务,这些服务均通过其对应的Manager对象提供API 接口给应用程序或其它模块使用,使得应用程序和系统其它模块可以通过该服务访问应用程序不能直接访问的系统资源或底层接口。
随着近年消费电子领域核心处理单元64bit的发展趋势,Android发展到5.0版本已经开始逐步支持64bit 运算。然而各智能终端(手机、电视、车载等)厂商,针对android的定制化开发大多基于32bit 开发。对于应用程序来讲,部分纯java的应用程序可以直接64bit运行,含Native(本地C/C++)库可以兼容32bit运行,或作少量修改即可正常运行。
但是,从android开始到当前的5.0阶段,许多厂商经过多年开发积累、重构的比较稳定的系统服务由于某种原因需要以32bit运行。虽然Android支持64/32的各种搭配的兼容运行模式,但一般情况下系统服务都是运行在一个叫SystemServer的进程中,该进程只能运行在32bit或者64bit模式下,不能同时支持64bit和32bit服务。
定制系统服务仅支持32bit运行,但须满足整个系统64it运行,采用应用程序服务类型,启动时机较晚,导致开机时间变长,许多开机启动应用程序运行异常;
定制系统服务在SystemServer中启动运行,导致SystemServer启动时间变长,进一步导致开机时间变长。
因此,现有技术还有待于改进和发展。
发明内容
鉴于现有技术的不足,本发明目的在于提供一种基于Android系统的系统服务启动方法及系统,旨在解决现有技术中定制系统服务仅支持32bit,不能与系统64bit运行,同时定制系统服务启动时间长的缺陷。
本发明的技术方案如下:
一种基于Android系统的系统服务启动方法,其中,方法包括:
A、创建一个模拟system_server进程环境的第一软件程序,在第一软件程序创建定制服务对象和Android原生服务对象,添加服务到系统服务列表并执行第一软件程序;
B、将第一软件程序添加到android_aosp源码,构建为一个系统jar包,添加到系统启动加载库BOOT_CLASSPATH中;
C、创建第一软件程序的启动脚本,并在系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在在特定的启动时机启动;
D、Android系统开机时,第一软件程序和Android系统自带的进程system_server并行启动运行。
所述的基于Android系统的系统服务启动方法,其中,所述步骤A具体包括:
A1、创建一个模拟system_server进程环境的第一软件程序;
A2、创建第一软件程序的主循环体;
A3、在第一软件程序上的主程序上分别创建Android系统上下文对象、定制服务对象和Android原生服务对象;
A4、检测servicemanager 进程,判断第一软件程序是否可以添加第一软件程序服务到系统服务列表,若可以添加,则添加第一软件程序服务到系统服务列表;
A5、执行第一软件程序主程序的主循环。
所述的基于Android系统的系统服务启动方法,其中,所述步骤C具体包括:
C1、创建第一软件程序的启动脚本,使启动脚本的进程以32bit运行;
C2、在Android系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在开机时由init进程启动。
所述的基于Android系统的系统服务启动方法,其中,所述步骤C具体包括:
C11、创建第一软件程序的启动脚本,启动脚本的进程依赖Android系统的系统属性sys.startS的值,启动脚本的进程以32bit运行;
C12、在Android系统中添加启动第一软件程序的脚本内容;
C13、在检测到Android系统的系统属性sys.startS的值为1时,启动第一软件程序。
所述的基于Android系统的系统服务启动方法,其中,所述步骤D具体包括:
D1、Android系统开机时,android系统原生的启动流程不改变,init 进程分别以64bit/32bit 启动两个zygote 进程分别为zygote64和zygote;
D2、Android系统默认64bit,zygote64 模拟系统核心服务进程system_server,zyogte进程兼容32bit应用程序运行;
D3、32bit的第一软件程序和Android系统自带的64bit 的进程system_server并行启动运行。
一种基于Android系统的系统服务启动系统,其中,系统包括:
程序创建模块,用于创建一个模拟system_server进程环境的第一软件程序,在第一软件程序创建定制服务对象和Android原生服务对象,添加服务到系统服务列表并执行第一软件程序;
程序添加模块,用于将第一软件程序添加到android_aosp源码,构建为一个系统jar包,添加到系统启动加载库BOOT_CLASSPATH中;
启动脚本创建模块,用于创建第一软件程序的启动脚本,并在系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在在特定的启动时机启动;
并行运行模块,用于Android系统开机时,第一软件程序和Android系统自带的进程system_server并行启动运行。
所述的基于Android系统的系统服务启动系统,其中,所述程序创建模块具体包括:
软件程序创建单元,用于创建一个模拟system_server进程环境的第一软件程序;
主循环创建单元,用于创建第一软件程序的主循环体;
服务对象创建单元,用于在第一软件程序上的主程序上分别创建Android系统上下文对象、定制服务对象和Android原生服务对象;
检测与判断单元,用于检测servicemanager 进程,判断第一软件程序是否可以添加第一软件程序服务到系统服务列表,若可以添加,则添加第一软件程序服务到系统服务列表;
执行单元,用于执行第一软件程序主程序的主循环。
所述的基于Android系统的系统服务启动系统,其中,所述启动脚本创建模块具体包括:
第一启动脚本创建单元,用于创建第一软件程序的启动脚本,使启动脚本的进程以32bit运行;
第一启动脚本添加单元,用于在Android系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在开机时由init进程启动。
所述的基于Android系统的系统服务启动系统,其中,所述启动脚本创建模块具体包括:
第二启动脚本创建单元,用于创建第一软件程序的启动脚本,启动脚本的进程依赖Android系统的系统属性sys.startS的值,启动脚本的进程以32bit运行;
第二启动脚本添加单元,用于在Android系统中添加启动第一软件程序的脚本内容;
检测与启动单元,用于在检测到Android系统的系统属性sys.startS的值为1时,启动第一软件程序。
所述的基于Android系统的系统服务启动系统,其中,所述并行运行模块具体包括:
进程启动单元,用于Android系统开机时,android系统原生的启动流程不改变,init 进程分别以64bit/32bit 启动两个zygote 进程分别为zygote64和zygote;
进程运行单元,用于Android系统默认64bit,zygote64 模拟系统核心服务进程system_server,zyogte进程兼容32bit应用程序运行;
并行启动单元,用于32bit的第一软件程序和Android系统自带的64bit 的进程system_server并行启动运行。
有益效果:本发明提供的基于Android系统的系统服务启动方法,可以优化Android 系统启动时间;实现Android 系统服务64bit/32bit兼容运行;缩短Android定制系统服务延长系统启动时间。
附图说明
图1为本发明的一种基于Android系统的系统服务启动方法的较佳实施例的流程图。
图2为本发明的一种基于Android系统的系统服务启动系统的较佳实施例的功能原理框图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种基于Android系统的系统服务启动方法的较佳实施例的流程图,如图1所示,所述方法包括:
步骤S100、创建一个模拟system_server进程环境的第一软件程序,在第一软件程序创建定制服务对象和Android原生服务对象,添加服务到系统服务列表并执行第一软件程序。
android 系统服务一般由zygote进程的子进程system_server进程启动,且是串行启动,启动后以线程形式运行; android系统用户空间进程都是由init进程启动,init进程会依据启动脚本init.rc启动用户空间的各进程;如zygote 、servicemanager等;android 系统由servicemanager进程维护一个系统服务列表,基于该机制应用程序和系统服务可以添加或获取系统服务对象,进一步使用系统服务的功能 。
因此我们通过创建一个可以模拟system_server 进程的环境的第一软件程序,也称为软件程序S,这个软件可以构建java对象并将其添加到系统服务列表中。在第一软件程序创建定制服务对象和Android原生服务对象,添加服务到系统服务列表并执行第一软件程序。
步骤S200、将第一软件程序添加到android_aosp源码,构建为一个系统jar包,添加到系统启动加载库BOOT_CLASSPATH中。
具体实施时,将软件程序添加的android aosp源码,并添加其构建部分功能,将其构建为一个系统jar包,并添加到系统启动加载库BOOT_CLASSPATH中。
步骤S300、创建第一软件程序的启动脚本,并在系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在在特定的启动时机启动。
具体实施时,创建第一软件程序的启动脚本,并在系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在在特定的启动时机启动。待定的启动时机可根据用户需要进行设定。而第一软件程序是以32bit运行,从而可支持32bit的定制系统服务。
步骤S400、Android系统开机时,第一软件程序和Android系统自带的进程system_server并行启动运行。
具体实施时,Android系统开机时,android系统原生的启动流程不改变,init 分别以64bit/32bit 启动两个zygote 进程分别为zygote64(64bit孵化器)和zygote(孵化器(默认32bit)),若系统默认64bit ,故zygote64 克隆出系统核心服务进程system_server,zyogte进程用于兼容32bit应用程序运行,32bit的第一软件程序和64bit 的system_server并行启动运行。
进一步的实施例中,所述步骤S100具体包括:
步骤S101、创建一个模拟system_server进程环境的第一软件程序;
步骤S102、创建第一软件程序的主循环体;
步骤S103、在第一软件程序上的主程序上分别创建Android系统上下文对象、定制服务对象和Android原生服务对象;
步骤S104、检测servicemanager 进程,判断第一软件程序是否可以添加第一软件程序服务到系统服务列表,若可以添加,则添加第一软件程序服务到系统服务列表;
步骤S105、执行第一软件程序主程序的主循环。
具体实施时,开发一个第一软件程序,其可以模拟system_server 进程的环境,可以构建java对象并将其添加到系统服务列表,创建第一软件程序 主程序的主循环体,创先系统上下文对象,在第一软件程序的主程序创建定制服务对象,在第一软件程序的主程序创建Android原生服务(其依赖关系简单)对象,检查等待service manager 进程是否可以添加服务到系统服务列表,添加服务到系统服务列表,执行第一软件程序主程序的主循环。
进一步的实施例中,所述步骤S300中第一程序在启动时机有两种情况,一种是开机是由init进程启动,还有一种是通过判断Android系统的系统属性sys.startS的值来进行启动。
若启动时机是开机是由init进程启动,则步骤S300具体包括:。
步骤S301、创建第一软件程序的启动脚本,使启动脚本的进程以32bit运行;
步骤S302、在Android系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在开机时由init进程启动。
具体实施时,创建第一软件程序的启动脚本,第一软件程序记为软件程序S,使其进程以32bit 运行,例如:
service S /system/bin/app_process32 /system/bin/ com.t.demo.S
在系统启动脚本中添加启动第一软件程序的脚本内容,使第一软件程序在开机时由init进程启动。
而当第一程序启动时机通过判断Android系统的系统属性sys.startS的值来进行启动,那么所述步骤S300具体包括:
步骤S311、创建第一软件程序的启动脚本,启动脚本的进程依赖Android系统的系统属性sys.startS的值,启动脚本的进程以32bit运行;
步骤S312、在Android系统中添加启动第一软件程序的脚本内容;
步骤S313、在检测到Android系统的系统属性sys.startS的值为1时,启动第一软件程序。
具体实施时,创建第一软件程序的启动脚本,第一软件程序记为软件程序S,使其进程依赖系统属性sys.startS的值,并且以32bit 运行,例如:
service S /system/bin/app_process32 /system/bin/ com.t.demo.S
disabled
oneshot
在系统启动脚本中添加启动软件程序S的脚本内容,但是依赖于系统属性sys.startS = 1,例如:
on property:sys.startS=1
start S
在系统某一启动节点设置属性sys.startS = 1,例如system_server开始执行时。而第一软件程序在sys.startS = 1时开始执行。
进一步的实施例中,其中步骤S400具体包括:
步骤S401、Android系统开机时,android系统原生的启动流程不改变,init 进程分别以64bit/32bit 启动两个zygote 进程分别为zygote64和zygote;
步骤S402、Android系统默认64bit,zygote64 模拟系统核心服务进程system_server,zyogte进程兼容32bit应用程序运行;
步骤S403、32bit的第一软件程序和Android系统自带的64bit 的进程system_server并行启动运行。
具体实施时,android系统原生的启动流程不改变,init 分别以64bit/32bit 启动两个zygote 进程分别为zygote64和zygote,系统默认64bit ,故zygote64 克隆出系统核心服务进程system_server,zyogte进程用于兼容32bit应用程序运行;32bit的第一软件程序和64bit 的system_server并行启动运行,解决了系统服务64bit/32bit兼容问题,也同时缩短开机时间 。
由以上方法实施例可知,本发明提供了一种基于Android系统的系统服务启动方法,通过将系统服务转移到单独进程运行,并解决转移后存在的启动时机和同步问题;将定制服务转移到单独的进程中运行;将android原生服务中依赖关系简单的服务转移到单独的进程中运行。本发明优化系统启动速度,缩短开机时间;使得系统服务可以同时兼容64bit和32bit 运行单独的系统服务进程的启动方法。
在上述方法实施例的基础上,本发明还提供了一种基于Android系统的系统服务启动系统的较佳实施例的功能原理框图,如图2所示,所述系统包括:
程序创建模块100,用于创建一个模拟system_server进程环境的第一软件程序,在第一软件程序创建定制服务对象和Android原生服务对象,添加服务到系统服务列表并执行第一软件程序;具体如上所述。
程序添加模块200,用于将第一软件程序添加到android_aosp源码,构建为一个系统jar包,添加到系统启动加载库BOOT_CLASSPATH中;具体如上所述。
启动脚本创建模块300,用于创建第一软件程序的启动脚本,并在系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在在特定的启动时机启动;具体如上所述。
并行运行模块400,用于Android系统开机时,第一软件程序和Android系统自带的进程system_server并行启动运行;具体如上所述。
所述的基于Android系统的系统服务启动系统,其中,所述程序创建模块具体包括:
软件程序创建单元,用于创建一个模拟system_server进程环境的第一软件程序;具体如上所述。
主循环创建单元,用于创建第一软件程序的主循环体;具体如上所述。
服务对象创建单元,用于在第一软件程序上的主程序上分别创建Android系统上下文对象、定制服务对象和Android原生服务对象;具体如上所述。
检测与判断单元,用于检测servicemanager 进程,判断第一软件程序是否可以添加第一软件程序服务到系统服务列表,若可以添加,则添加第一软件程序服务到系统服务列表;具体如上所述。
执行单元,用于执行第一软件程序主程序的主循环;具体如上所述。
所述的基于Android系统的系统服务启动系统,其中,所述启动脚本创建模块具体包括:
第一启动脚本创建单元,用于创建第一软件程序的启动脚本,使启动脚本的进程以32bit运行;具体如上所述。
第一启动脚本添加单元,用于在Android系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在开机时由init进程启动;具体如上所述。
所述的基于Android系统的系统服务启动系统,其中,所述启动脚本创建模块具体包括:
第二启动脚本创建单元,用于创建第一软件程序的启动脚本,启动脚本的进程依赖Android系统的系统属性sys.startS的值,启动脚本的进程以32bit运行;具体如上所述。
第二启动脚本添加单元,用于在Android系统中添加启动第一软件程序的脚本内容;具体如上所述。
检测与启动单元,用于在检测到Android系统的系统属性sys.startS的值为1时,启动第一软件程序;具体如上所述。
所述的基于Android系统的系统服务启动系统,其中,所述并行运行模块具体包括:
进程启动单元,用于Android系统开机时,android系统原生的启动流程不改变,init 进程分别以64bit/32bit 启动两个zygote 进程分别为zygote64和zygote;具体如上所述。
进程运行单元,用于Android系统默认64bit,zygote64 模拟系统核心服务进程system_server,zyogte进程兼容32bit应用程序运行;具体如上所述。
并行启动单元,用于32bit的第一软件程序和Android系统自带的64bit 的进程system_server并行启动运行;具体如上所述。
综上所述,本发明提供了一种基于Android系统的系统服务启动方法及系统,所述方法包括:创建一个模拟system_server进程环境的第一软件程序,将第一软件程序添加到android aosp源码,构建为一个系统jar包,添加到系统启动加载库BOOT_CLASSPATH中;、创建第一软件程序的启动脚本,并在系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在在特定的启动时机启动; Android系统开机时,第一软件程序和Android系统自带的进程system_server并行启动运行。本发明可以优化Android 系统启动时间;实现Android 系统服务64bit/32bit兼容运行;缩短Android定制系统服务延长系统启动时间。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于Android系统的系统服务启动方法,其特征在于,方法包括以下步骤:
A、创建一个模拟system_server进程环境的第一软件程序,在第一软件程序创建定制服务对象和Android原生服务对象,添加服务到系统服务列表并执行第一软件程序;
B、将第一软件程序添加到android_aosp源码,构建为一个系统jar包,添加到系统启动加载库BOOT_CLASSPATH中;
C、创建第一软件程序的启动脚本,并在系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在特定的启动时机启动;
D、Android系统开机时,第一软件程序和Android系统自带的进程system_server并行启动运行。
2.根据权利要求1所述的基于Android系统的系统服务启动方法,其特征在于,所述步骤A具体包括:
A1、创建一个模拟system_server进程环境的第一软件程序;
A2、创建第一软件程序的主循环体;
A3、在第一软件程序上的主程序上分别创建Android系统上下文对象、定制服务对象和Android原生服务对象;
A4、检测servicemanager进程,判断第一软件程序是否可以添加第一软件程序服务到系统服务列表,若可以添加,则添加第一软件程序服务到系统服务列表;
A5、执行第一软件程序主程序的主循环。
3.根据权利要求2所述的基于Android系统的系统服务启动方法,其特征在于,所述步骤C具体包括:
C1、创建第一软件程序的启动脚本,使启动脚本的进程以32bit运行;
C2、在Android系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在开机时由init进程启动。
4.根据权利要求2所述的基于Android系统的系统服务启动方法,其特征在于,所述步骤C具体包括:
C11、创建第一软件程序的启动脚本,启动脚本的进程依赖Android系统的系统属性sys.startS的值,启动脚本的进程以32bit运行;
C12、在系统启动脚本中添加启动第一软件程序的脚本内容;
C13、在检测到Android系统的系统属性sys.startS的值为1时,启动第一软件程序。
5.根据权利要求3或4所述的基于Android系统的系统服务启动方法,其特征在于,所述步骤D具体包括:
D1、Android系统开机时,android系统原生的启动流程不改变,init进程分别以64bit启动zygote64进程和以32bit启动zygote进程;
D2、Android系统默认64bit,zygote64模拟系统核心服务进程system_server,zyogte进程兼容32bit应用程序运行;
D3、32bit的第一软件程序和Android系统自带的64bit的进程system_server并行启动运行。
6.一种基于Android系统的系统服务启动系统,其特征在于,系统包括:
程序创建模块,用于创建一个模拟system_server进程环境的第一软件程序,在第一软件程序创建定制服务对象和Android原生服务对象,添加服务到系统服务列表并执行第一软件程序;
程序添加模块,用于将第一软件程序添加到android_aosp源码,构建为一个系统jar包,添加到系统启动加载库BOOT_CLASSPATH中;
启动脚本创建模块,用于创建第一软件程序的启动脚本,并在系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在特定的启动时机启动;
并行运行模块,用于Android系统开机时,第一软件程序和Android系统自带的进程system_server并行启动运行。
7.根据权利要求6所述的基于Android系统的系统服务启动系统,其特征在于,所述程序创建模块具体包括:
软件程序创建单元,用于创建一个模拟system_server进程环境的第一软件程序;
主循环创建单元,用于创建第一软件程序的主循环体;
服务对象创建单元,用于在第一软件程序上的主程序上分别创建Android系统上下文对象、定制服务对象和Android原生服务对象;
检测与判断单元,用于检测servicemanager进程,判断第一软件程序是否可以添加第一软件程序服务到系统服务列表,若可以添加,则添加第一软件程序服务到系统服务列表;
执行单元,用于执行第一软件程序主程序的主循环。
8.根据权利要求7所述的基于Android系统的系统服务启动系统,其特征在于,所述启动脚本创建模块具体包括:
第一启动脚本创建单元,用于创建第一软件程序的启动脚本,使启动脚本的进程以32bit运行;
第一启动脚本添加单元,用于在Android系统启动脚本中添加启动第一软件程序的脚本内容,第一软件程序在开机时由init进程启动。
9.根据权利要求7所述的基于Android系统的系统服务启动系统,其特征在于,所述启动脚本创建模块具体包括:
第二启动脚本创建单元,用于创建第一软件程序的启动脚本,启动脚本的进程依赖Android系统的系统属性sys.startS的值,启动脚本的进程以32bit运行;
第二启动脚本添加单元,用于在系统启动脚本中添加启动第一软件程序的脚本内容;
检测与启动单元,用于在检测到Android系统的系统属性sys.startS的值为1时,启动第一软件程序。
10.根据权利要求8或9所述的基于Android系统的系统服务启动系统,其特征在于,所述并行运行模块具体包括:
进程启动单元,用于Android系统开机时,android系统原生的启动流程不改变,init进程分别以64bit启动zygote64进程和以32bit启动zygote进程;
进程运行单元,用于Android系统默认64bit,zygote64模拟系统核心服务进程system_server,zyogte进程兼容32bit应用程序运行;
并行启动单元,用于32bit的第一软件程序和Android系统自带的64bit的进程system_server并行启动运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510714978.9A CN105607921B (zh) | 2015-10-29 | 2015-10-29 | 一种基于Android系统的系统服务启动方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510714978.9A CN105607921B (zh) | 2015-10-29 | 2015-10-29 | 一种基于Android系统的系统服务启动方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105607921A CN105607921A (zh) | 2016-05-25 |
CN105607921B true CN105607921B (zh) | 2019-11-12 |
Family
ID=55987875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510714978.9A Expired - Fee Related CN105607921B (zh) | 2015-10-29 | 2015-10-29 | 一种基于Android系统的系统服务启动方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105607921B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445623B (zh) * | 2016-11-22 | 2019-12-20 | 青岛海信电器股份有限公司 | 一种系统组件的启动方法和装置 |
CN107145390B (zh) * | 2017-04-10 | 2019-11-19 | 北京儒博科技有限公司 | 安卓服务生命周期管理方法、服务管理对象设备及安卓系统 |
CN107220055B (zh) * | 2017-05-26 | 2024-03-29 | 上海传英信息技术有限公司 | 用于终端启动的方法、系统及终端 |
CN107743218A (zh) * | 2017-09-25 | 2018-02-27 | 广景视睿科技(深圳)有限公司 | 投影机自动对焦方法、装置及电子设备 |
CN109062617B (zh) * | 2018-06-26 | 2020-07-28 | 百富计算机技术(深圳)有限公司 | 一种支持多类型设备的平台的应用方法、移动终端 |
CN113672339B (zh) * | 2021-07-28 | 2024-04-16 | 歌尔科技有限公司 | 提升Android开机效率的方法 |
CN114706633B (zh) * | 2022-06-02 | 2022-10-25 | 荣耀终端有限公司 | 预加载方法、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1818868A (zh) * | 2006-03-10 | 2006-08-16 | 浙江大学 | 嵌入式操作系统多任务并行启动优化实现方法 |
CN103782276A (zh) * | 2011-09-13 | 2014-05-07 | 英派尔科技开发有限公司 | 从原始虚拟机到目的地虚拟机的操作转移 |
CN104360867A (zh) * | 2014-12-01 | 2015-02-18 | 重庆蓝岸通讯技术有限公司 | 一种基于Intel X86的32位Windows系统和64位Android系统的切换方法 |
CN104598254A (zh) * | 2015-02-17 | 2015-05-06 | 福州瑞芯微电子有限公司 | 一种安卓系统快速开机的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679542A (zh) * | 2013-11-29 | 2015-06-03 | 英业达科技有限公司 | 服务器启动方法与计算机系统 |
-
2015
- 2015-10-29 CN CN201510714978.9A patent/CN105607921B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1818868A (zh) * | 2006-03-10 | 2006-08-16 | 浙江大学 | 嵌入式操作系统多任务并行启动优化实现方法 |
CN103782276A (zh) * | 2011-09-13 | 2014-05-07 | 英派尔科技开发有限公司 | 从原始虚拟机到目的地虚拟机的操作转移 |
CN104360867A (zh) * | 2014-12-01 | 2015-02-18 | 重庆蓝岸通讯技术有限公司 | 一种基于Intel X86的32位Windows系统和64位Android系统的切换方法 |
CN104598254A (zh) * | 2015-02-17 | 2015-05-06 | 福州瑞芯微电子有限公司 | 一种安卓系统快速开机的方法及装置 |
Non-Patent Citations (1)
Title |
---|
Android系统启动程序的优化设计与实现;禹建磊;《中国优秀硕士学位论文全文数据库》;20130515(第5期);I138-345 * |
Also Published As
Publication number | Publication date |
---|---|
CN105607921A (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105607921B (zh) | 一种基于Android系统的系统服务启动方法及系统 | |
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 | |
CN104536737B (zh) | 一种基于组件的程序开发装置 | |
WO2015055074A1 (zh) | 动态加载和调用程序的方法及装置 | |
CN102567097B (zh) | 一种多任务下载的方法及终端 | |
CN110187910B (zh) | 一种热更新方法、装置、设备及计算机可读存储介质 | |
US20150007165A1 (en) | Software installation method and device | |
RU2009132388A (ru) | Согласование загрузки между несколькими способными к загрузке устройствами | |
CN105204913A (zh) | 一种在Android操作系统上运行Linux应用程序的方法及系统 | |
US20140033208A1 (en) | Method and device for loading application program | |
CN109117203A (zh) | 一种Android APP启动速度优化方法及系统 | |
CN103514007B (zh) | 一种基于Android系统的移动终端的热启动的方法 | |
CN106020877A (zh) | 系统环境配置自动更新方法及装置 | |
CN114721719B (zh) | 一种在集群中容器化部署异构应用的方法和系统 | |
WO2017041499A1 (zh) | 一种软件升级方法、系统和计算机可读存储介质 | |
CN109388473A (zh) | 基于移动操作系统的Android兼容层实现方法和系统 | |
CN102830959A (zh) | 一种嵌入式浏览器接口动态扩展方法及系统 | |
CN107908416A (zh) | 单片机固件升级方法、装置及计算机可读存储介质 | |
CN109933381A (zh) | 一种内核的加载方法及装置 | |
EP1880280A2 (en) | System and method for providing bundle group termination in an osgi service platform | |
CN104050001B (zh) | 基于Android系统的资源处理方法、装置和设备 | |
CN104484176B (zh) | 一种安卓系统窗口对象获取方法和装置 | |
CN102196308A (zh) | 一种基于数字电视的多硬件接口兼容驱动系统 | |
WO2021129853A1 (zh) | 移动服务升级方法、装置和终端 | |
WO2021097683A1 (zh) | 安卓系统启动的方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191112 |
|
CF01 | Termination of patent right due to non-payment of annual fee |