论文部分内容阅读
随着Android操作系统的不断普及,其应用范围越来越广。近年来,市面上出现了一些面向桌面用户的Android定制系统,如Phoenix OS,Remix OS等。但是由于Android最初只是针对移动设备进行设计的系统,因此Android系统中缺乏适配桌面平台和用于工程生产的应用程序。而发展更久的桌面Linux系统上已经积累了大量专业的桌面应用。本文结合实验室合作项目的需求,从分析Android系统运行桌面Linux应用程序的原理和Android系统的通信机制入手,探索Android应用程序和桌面Linux应用程序的协同运行机制。本文首先分析了Android系统运行桌面Linux应用程序的原理,包括桌面Linux应用程序的二进制兼容性及其运行环境,从而获知Android系统缺乏运行桌面Linux应用程序的条件,由此引出了Android系统运行桌面Linux应用程序的两个关键技术:Change Root技术和VNC技术。然后重点分析Android系统中的通信机制,包括Linux内核中原本的通信机制、Android系统独有的Binder通信机制,以及上层Android应用程序中的通信机制。接着从Android四大组件与Binder机制的关系等方面分析了Android应用程序的通信过程。根据以上分析与研究,提出一种Android与桌面Linux应用程序协同运行的机制。此机制利用Change Root技术和VNC技术实现桌面Linux应用程序在Android系统上的运行,并且通过Binder扩展机制将Android四大组件扩展至桌面Linux应用程序,使得桌面Linux应用程序能够使用Android四大组件,从而实现与Android应用程序的交互。最后,本文对提出的Android与桌面Linux应用程序协同运行机制进行了编码实现,并对其进行功能和性能测试。测试结果表明,桌面Linux应用程序能够在Android系统中稳定运行,并且能够利用Binder扩展机制与Android原生应用程序通信,同时对Android系统性能影响极小,具有一定的实用价值和参考意义。