一种在Android操作系统上运行Linux应用程序的方法及系统技术方案

技术编号:12617409 阅读:196 留言:0更新日期:2015-12-30 14:29
本发明专利技术提供一种在Android操作系统上运行Linux应用程序的方法,所述方法:1、在Android操作系统上移植Linux Container容器工具,并通过Linux Container容器工具创建运行Linux应用程序所需的运行容器;2、将运行Linux应用程序所需的资源文件存放到所述运行容器,所述资源文件包括依赖库、环境变量或配置文件;所述运行容器内存放的内容和Android操作系统的文件相互隔离开;3、通过Linux Container容器工具的命令加载所述运行容器后,运行Linux应用程序。本发明专利技术还提供了一种在Android操作系统上运行Linux应用程序的系统,实现了在安装Andoird操作系统的智能设备上,直接运行Linux应用程序。

【技术实现步骤摘要】

本专利技术涉及Android操作系统
,尤其涉及一种在Android操作系统上运行Linux应用程序的方法及系统
技术介绍
Android操作系统的开放性吸引了越来越多的软硬件开发厂商参与,Android应用市场也随之繁荣,各种应用软件满足了不同用户的需求,但也存在一定的局限性,一些重要的已经成熟的应用程序还只能在Linux操作系统下使用,如果要将这些软件在Android操作系统下运行,目前的解决方案是:根据Android操作系统的特性,重新进行代码移植编译开发,很显然这种方案,意味着需要重新开发应用程序,存在着工作量大、开发周期长等缺点。
技术实现思路
本专利技术要解决的技术问题之一,在于提供一种在Android操作系统上运行Linux应用程序的方法,实现了在安装Andoird操作系统的智能设备上,直接运行Linux应用程序。本专利技术问题之一是这样实现的:一种在Android操作系统上运行Linux应用程序的方法,所述方法包括如下步骤:步骤1、在Android操作系统上移植Linux Container容器工具,并通过LinuxContainer容器工具创建运行Linux应用程序所需的运行容器;步骤2、将运行Linux应用程序所需的资源文件存放到所述运行容器,所述资源文件包括依赖库、环境变量或配置文件;所述运行容器内存放的内容和Android操作系统的文件相互隔离开;步骤3、通过Linux Container容器工具的命令加载所述运行容器后,在Android操作系统中获取运行Linux应用程序所需的资源文件来运行Linux应用程序。进一步的,所述步骤I中在Android操作系统上移植Linux Container容器工具具体为:在Android操作系统上设置Andr1d操作系统的内核支持Linux Container容器工具需要的Linux namespace机制和cgroup机制;再根据Andr1d平台特性,编译移植LinuxContainer容器工具到Android操作系统上。进一步的,所述运行容器具有通用型,运行容器能运行在与之CPU架构相同的所有Android设备。进一步的,所述运行容器是根据对应Android设备平台的CPU架构编译而成的,所述容器运行在Android操作系统的内核之上,所述容器里的资源文件要根据Android设备的特性进行修改,来达到对Android设备硬件资源的使用,所述硬件资源的使用包括:显示设备、输入设备、网络设备或usb设备的使用。进一步的,所述步骤3具体为:步骤31、通过Linux Container容器工具的命令加载所述运行容器后,判断Linux应用程序是否使用Android设备硬件资源,否,则通过Linux Container容器工具的命令运行Linux应用程序,并进入步骤33 ;是,则进入步骤32 ;步骤32、释放Linux应用程序被占用的系统设备硬件资源,执行Linux Container容器工具的命令运行Linux应用程序;步骤33、Linux应用程序运行结束后,退出Linux应用程序;步骤34、释放Linux应用程序占用的设备硬件资源;步骤35、执行Linux Container容器工具的命令卸载运行容器。本专利技术要解决的技术问题之二,在于提供一种在Android操作系统上运行Linux应用程序的系统,实现了在安装Andoird操作系统的智能设备上,直接运行Linux应用程序。本专利技术是问题之二这样实现的:一种在Android操作系统上运行Linux应用程序的系统,所述系统包括移植Linux Container容器工具模块、运行容器执行模块以及Linux应用程序执行模块;所述移植Linux Container容器工具模块,用于在Android操作系统上移植LinuxContainer容器工具,并通过Linux Container容器工具创建运行Linux应用程序所需的运行容器;运行容器执行模块,用于将运行Linux应用程序所需的资源文件存放到所述运行容器,所述资源文件包括依赖库、环境变量或配置文件;所述运行容器内存放的内容和Android操作系统的文件相互隔离开;Linux应用程序执行模块,用于通过Linux Container容器工具的命令加载所述运行容器后,在Andro i d操作系统中获取运行Linux应用程序所需的资源文件来运行Linux应用程序。进一步的,所述移植Linux Container容器工具模块中在Android操作系统上移植Linux Container容器工具具体为:在Android操作系统上设置Andr1d操作系统的内核支持Linux Container容器工具需要的Linux namespace机制和cgroup机制;再根据Andr1d平台特性,编译移植Linux Container容器工具到Android操作系统上。进一步的,所述运行容器具有通用型,运行容器能运行在与之CPU架构相同的所有Android设备。进一步的,所述运行容器是根据对应Android设备平台的CPU架构编译而成的,所述容器运行在Android操作系统的内核之上,所述容器里的资源文件要根据Android设备的特性进行修改,来达到对Android设备硬件资源的使用,所述硬件资源的使用包括:显示设备、输入设备、网络设备或usb设备的使用。进一步的,所述Linux应用程序执行模块具体实现方式为:通过Linux Container容器工具的命令加载所述运行容器后,判断Linux应用程序是否使用Android设备硬件资源,否,则通过Linux Container容器工具的命令运行Linux应用程序;是,则释放Linux应用程序被占用的系统设备硬件资源,执行LinuxContainer容器工具的命令运行Linux应用程序;Linux应用程序运行结束后,退出Linux应用程序;释放Linux应用程序占用的设备硬件资源;执行Linux Container容器工具的命令卸载运行容器。本专利技术具有如下优点:本专利技术在Android操作系统上实现Linux Container容器技术,其次,通过Linux Container容器工具技术创建和管理运行容器,并执行LinuxContainer容器工具命令来实现在Android操作系统中运行Linux应用程序。这样对用户来说,运行Linux应用程序和Android应用程序并没有什么不同。对软件开发者来说,只需要维护好Linux的运行容器,所有已经开发好的Linux应用程序都可以在Android操作系统上直接运行,无需根据Android操作系统的特性进行代码移植重新开发;提高了开发人员的工作效率。【附图说明】图1为本专利技术方法流程示意图。图2为本专利技术Android操作系统中运行Linux应用程序的流程图。图3为本专利技术的系统结构示意图。【具体实施方式】请参阅图1和图2所示,本专利技术的一种在Android操作系统上运行Linux应用程序的方法,所述方法包括如下步骤:步骤1、在Android操作系统上移植Linux Container容器工具,并通过LinuxContainer容器工具创建运行Linux应用程序所需的运行容器;本文档来自技高网...

【技术保护点】
一种在Android操作系统上运行Linux应用程序的方法,其特征在于:所述方法包括如下步骤:步骤1、在Android操作系统上移植Linux Container容器工具,并通过Linux Container容器工具创建运行Linux应用程序所需的运行容器;步骤2、将运行Linux应用程序所需的资源文件存放到所述运行容器,所述资源文件包括依赖库、环境变量或配置文件;所述运行容器内存放的内容和Android操作系统的文件相互隔离开;步骤3、通过Linux Container容器工具的命令加载所述运行容器后,在Android操作系统中获取运行Linux应用程序所需的资源文件来运行Linux应用程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:张辉方杰张伟
申请(专利权)人:福建升腾资讯有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1