一个基于Linux的Android兼容层的设计与实现

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:BluePrince
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
应用程序少是基于GNU/Linux的各种桌面发行版没能在桌面操作系统领域大量流行的重要原因。借用其他平台的应用程序是解决桌面Linux系统应用程序少的一种思路。一般使用系统虚拟机和兼容层技术解决应用程序跨平台执行的问题。系统虚拟机因为要在host系统运行一个完整的guest系统而带来很高的额外性能开销。本文目标是设计并实现一个Android兼容层,旨在使Android应用程序不经修改即可在桌面Linux系统上以本地进程的形式运行,在充分利用桌面系统的高性能硬件资源的同时,兼顾一些影响兼容性的关键技术。  通过分析现有兼容层技术,总结出兼容层技术地一般方法。在详细分析Android系统架构的基础上,提出Android兼容层的技术路线:1)使Android Java虚拟机在x86架构下运行;2)使Android系统服务在桌面环境下运行;3)以Android系统开机过程为线索组织各个组件。  Android和桌面Linux发行版一样使用Linux作为系统内核。通过面向x86架构编译AOSP源码,并基于Bionic C的多架构支持可以解决二进制文件兼容和系统调用支持问题,实现Android本地程序在桌面Linux系统上执行。进而实现Android Java虚拟机在桌面x86架构下执行。本文以ART作为默认Java虚拟机,以Intel Houdini作为动态二进制翻译机制,并使用NativeBridge将两者解耦,成功实现JNI在x86架构下调用arm共享库的问题,极大的增加了系统兼容性。  Android应用程序在桌面Linux系统上的正确执行离不开Android系统服务的支持。Android设备和桌面Linux系统软硬件环境的巨大差异使得一些系统服务并不能通过简单的交叉编译移植到桌面环境执行。其中最值得关注的是Android的图形合成系统SurfaceFlinger和输入系统InputManagerService。本文提出一种比现有方案更加简洁高效的图形系统移植方案,实现了Android应用程序的UI渲染过程和SurfaceFlinger的图像合成过程能均够使用GPU进行硬件加速。通过将X Window鼠标事件模拟为InputManagerService可识别的触屏点击事件,实现通过鼠标和Android应用进行交互。此外,在深入分析Android GUI系统的基础上,给出一种简洁的多窗口架构,使用户可以同时使用多个Android应用程序。  最后,在研究Android系统开机过程的基础上,通过定制Init进程的行为,有序组织Android兼容层的各个组件。  基于这些关键技术,本文开发了一个Android兼容层原型。相对于已有Android兼容层方案,该原型具备更好地兼容性和图形性能,用户能像桌面应用程序一样和Android应用程序交互,并可同时使用多个Android应用。
其他文献
全国专利管理信息平台是一个国家级准电子政务应用系统,其专利管理业务范围覆盖全国。本文据此提出在全国范围内建立以多层系统结构为模式,以数据库为中心的集中式与分布式管理
连铸技术是借助有效的冷却控制,使钢水连续并逐渐转变为钢坯的工艺过程.连铸坯内钢液的流动和传热直接影响着铸坯的表面质量及内部质量.为此,人们开展了大量关于连铸坯内钢液
随着技术的发展,移动设备越来越多,使用越来越频繁,手机、平板等设备上保存着用户大量的隐私。而传统的口令方式存在着易遗忘、易丢失、易复制等缺点,存在着相当多的安全隐患,因此
本文首先介绍了主动网的研究现状,现存的几种类型的主动网络及其实现方式,并作简单的比较。对他们所采用的代码移动技术做出简单的评估。然后,引入移动代理技术,论述移动代理技术
协同应用系统的开发正处于从简单到复杂、从支持工作组级的小规模协作到跨机构的、全球范围内的大规模协作的过程.企业级的协同系统需要建立在物理上分散,逻辑上异构的多种数
性能管理是网络管理中的重点和难点,网络流量的变化将对网络的性能产生影响.该课题的研究目的是试图发现网络流量的变化对网络性能产生影响的规律,并利用这些规律来监测网络
随着网络应用的发展,网络的复杂性不断增加,网络管理的作用也越来越凸显出来,并已经逐渐成为保障网络正常、高效运行的必要手段之一。简单网络管理协议(SNMP)以其简单、灵活
目前,XML及其相关技术已日益渗透到计算机科学的各个层面。用XML直接面向业务逻辑来进行软件开发,使应用(业务)逻辑与具体的代码分开,是软件工程中一个新的研究课题,这可以降低软
因特网的出现给人类社会发展带来了前所未有的变革.目前WWW已经发展成为包含多种信息资源、站点遍布全球的巨大信息服务网络,成为世界上最丰富和最密集的信息来源.然而高速增
互联网上的数据经常呈现多种视图的表达,例如,网页数据可能包含文本、图片、视频等视图;即使单一类型数据,由于使用不同的特征描述,也可能呈现多个视图,例如图像数据,可以使用像素