【技术实现步骤摘要】
在android系统中运行ohos服务的方法、智能终端、存储介质
[0001][0002]本专利技术涉及安卓系统技术,尤其涉及一种在android系统中运行ohos服务的方法、智能终端、存储介质。
技术介绍
[0003][0004]ohos(Open Harmony OS开源鸿蒙系统)是由开放原子开源基金会孵化及运营的开源项目,由开放原子开源基金会 Open Harmony 项目群工作委员会负责运作。Harmony OS是华为基于开源项目Open Harmony开发的面向多种全场景智能设备的商用版本。
[0005]目前开源鸿蒙系统服务在android系统中还无法直接运行,专利技术人认为其原因在于,虽然android和开源鸿蒙标准版目前都是基于linux内核,但android和开源鸿蒙标准版的系统服务都是通过binder技术实现跨进程通信,例如android中system server是系统服务管理者,并作为binder context;而开源鸿蒙中samgr(system ability manager)是系统服务管 ...
【技术保护点】
【技术特征摘要】
1.一种在android系统中运行ohos服务的方法,步骤包括:步骤S100 统一android与ohos的libc基础库;步骤S200将ohos的samgr作为普通系统服务注册到android的binder管理程序service manager中,并通过service manager获取samgr,步骤包括:步骤S210根据android的service manager的通信数据结构中的数据传递顺序调整ohos的service registry的相应函数传递顺序,以供在android上执行后返回结果至ohos;步骤S220 当ohos的samgr启动时取消注册binder context操作,并改为通过service registry注册到android的service manager中;步骤S230 设置采用单例模式实现通用接口,以获取service registry来获得samgr。2.根据权利要求1所述的android系统中运行ohos服务的方法,其中步骤S100中统一android与ohos的libc基础库的步骤包括:步骤S110将预置的ohos的基础库musl替换为android 的ndk;步骤S120修改ohos的abi_target为android定义的abi;步骤S130将ohos的musl sysroot替换为android ndk的sysroot;步骤S140修改ohos的libs prefix和postfix以符合android定义,以使编译出的bin和so能被android系统识别。3.根据权利要求1所述的android系统中运行ohos服务的方法,其中所述步骤S210的具体步骤包括:步骤S211获取android的service manager中getService(),checkService(),addService()函数的数据传递顺序;步骤S212 根据步骤S211所获取的数据传递顺序,调整service registry的对应函数执行顺序,以向ohos的MessageParcel中写入要传递的数据,然后通过SendRequest()函数将数据发送给ohos的binder,由其传递给android以在执行完后再返回相应结果给...
【专利技术属性】
技术研发人员:许鹏,江南,梅俊明,
申请(专利权)人:上海卓易科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。