CN114185851A - 安卓访问Linux本地目录和文件的方法与系统 - Google Patents

安卓访问Linux本地目录和文件的方法与系统 Download PDF

Info

Publication number
CN114185851A
CN114185851A CN202210131444.3A CN202210131444A CN114185851A CN 114185851 A CN114185851 A CN 114185851A CN 202210131444 A CN202210131444 A CN 202210131444A CN 114185851 A CN114185851 A CN 114185851A
Authority
CN
China
Prior art keywords
directory
linux
android
file
user data
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.)
Granted
Application number
CN202210131444.3A
Other languages
English (en)
Other versions
CN114185851B (zh
Inventor
黄彩龙
马超
李翔
黄晟
杨硕
彭韬
游远
赵坤
谢辉军
杨陈博寰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kirin Software Co Ltd
Original Assignee
Kirin Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kirin Software Co Ltd filed Critical Kirin Software Co Ltd
Priority to CN202210131444.3A priority Critical patent/CN114185851B/zh
Publication of CN114185851A publication Critical patent/CN114185851A/zh
Application granted granted Critical
Publication of CN114185851B publication Critical patent/CN114185851B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开一种安卓访问Linux本地目录和文件的方法与系统,在Linux系统中创建若干文件目录,在Linux系统中进行目录挂载,在Linux系统中通过指令将运行时创建的用户数据目录映射到安卓系统的用户数据目录,将安卓系统的用户数据目录下的存储卡挂载目录虚拟成为linux系统上fuse系统虚拟设备节点,linux系统上fuse系统虚拟设备节点会被挂载到安卓系统的存储卡目录,安卓应用通过安卓系统的存储卡目录访问Linux系统本地目录的文件或进行文件传输分享。解决在兼容安卓运行的Linux系统下运行的安卓应用程序无法将Linux文件或文档共享出来,让Linux和安卓实现更加深入的融合的技术问题。

Description

安卓访问Linux本地目录和文件的方法与系统
技术领域
本申请涉及安卓系统上文件分享技术领域,尤其涉及一种安卓访问Linux本地目录和文件的方法与系统。
背景技术
近年来,随着安卓用户的增长以及安卓软硬件产品的成熟和发展,安卓应用生态呈现出爆发式发展,在很多领域都已经超过Windows应用生态和iOS应用生态,成为目前使用最广泛的应用生态。安卓基于Linux内核发展而来,在移动终端领域具有极好的生态环境;Windows系统在信息网络安全方面存在巨大安全隐患;而Linux操作系统,其作为安卓的前身,由于开发人员数目和市场份额的限制,发展较为缓慢,生态环境长期处于不良状态,一直不见起色。随着信息技术的飞速发展,人们对信息安全的重视程度日益提升,基于开源Linux操作系统的自主操作系统日益发展壮大,但Linux操作系统生态应用的严重缺乏仍旧是困扰Linux操作系统真正推向市场的一大痛点。
要解决Linux操作系统的生态问题,必须解决用户数不足和平台应用软件数不足这两个关键点。安卓在移动终端领域具有广泛的用户群,并且具有成熟的开发平台和应用软件群体,对于解决Linux操作系统目前的窘境具有一定的参考价值。
由于安卓操作系统基于Linux内核发展而来,其针对移动终端设备的特点在用户空间做了大幅的改进和增强,所以给Linux操作系统兼容安卓应用提供了极大的可能性和便利,使得移动端的丰富应用成功运行在PC端。
近年来,安卓应用生态在Linux操作系统上的兼容支持成为了研究热点,有许多研究人员尝试将安卓运行环境迁移到Linux类计算机平台以实现安卓应用生态在Linux操作系统上兼容支持的效果,各种兼容技术衍生而出,其中就包括App Runtime for Chrome技术、虚拟机和模拟器技术、安卓 in a Box项目等,这些技术将PC端和移动端进行融合,成功将安卓应用生态迁移到Linux上来,极大地推动了Linux应用生态的发展,方便了Linux操作系统用户的日常办公、娱乐等需求,也加快了Linux操作系统走向消费市场的步伐,但都还存在着无法忽视的用户体验问题,包括稳定性、易用性、功能完备性等,导致这块技术领域没有显著的提升。
在Windows系统上安装一些即时通讯类软件时,用户可以通过这类软件将桌面文件进行访问和共享,这样可以很方便的将桌面上的文档等数据共享给其他人员,提高了数据共享的效率和便捷性。而在兼容安卓应用运行的Linux系统上,虽然这些适配通讯类软件可以正常安装,并可以正常使用大部分功能,但是本地文件共享却无法进行。
发明内容
本申请实施例提供了一种安卓访问Linux本地目录和文件的方法与系统,用以解决现有的在兼容安卓运行的Linux系统下运行的安卓应用程序无法将Linux文件或文档共享出来,让Linux和安卓实现更加深入的融合的技术问题。
有鉴于此,本申请一方面提供了一种安卓访问Linux本地目录和文件的方法,所述安卓访问Linux本地目录和文件的方法应用于Linux兼容安卓系统上,所述Linux兼容安卓系统包括Linux系统以及运行在所述Linux系统上的安卓系统,包括以下步骤:
在Linux系统中创建若干文件目录,包括:共享目录、内部存储目录、系统文件目录和系统移动存储设备目录;
在Linux系统中进行目录挂载,将内部存储目录挂载到共享目录下、将linux系统的用户目录挂载到系统文件目录下和将linux系统的外接设备入口目录挂载到系统移动存储设备目录下;
在Linux系统中通过指令将运行时创建的用户数据目录映射到安卓系统的用户数据目录,所述运行时创建的用户数据目录包括:内部存储目录、系统文件目录和系统移动存储设备目录;
将所述安卓系统的用户数据目录下的存储卡挂载目录虚拟成为linux系统上fuse系统虚拟设备节点,所述linux系统上fuse系统虚拟设备节点会被挂载到安卓系统的存储卡目录;
安卓应用通过所述安卓系统的存储卡目录访问Linux系统本地目录的文件或进行文件传输分享。
可选地,所述在Linux系统中创建若干文件目录,包括以下步骤:
在Linux系统中创建运行变化数据保存目录,并在所述运行变化数据保存目录下新创建对应兼容环境名与对应用户id以及对应用户名的目录;
对所述新创建对应兼容环境名与对应用户id以及对应用户名的目录设置对应的权限和属主。
可选地,所述在Linux系统中进行目录挂载,包括以下步骤:
分别使用fuse和fuse3的api编写fuse接口指令二进制;
通过对文件访问命令进行判断,判断其是否为fuse3;
若是fuse3,使用fuse3的api编写fuse接口指令二进制进行目录挂载;
若不是fuse3,使用fuse的api编写fuse接口指令二进制进行目录挂载。
可选地,所述在Linux系统中通过指令将运行时创建的用户数据目录映射到安卓系统的用户数据目录,所述运行时创建的用户数据目录包括:内部存储目录、系统文件目录和系统移动存储设备目录,包括以下步骤:
确定和设置挂载绑定的源路径和目的路径,所述源路径为所述运行时创建的用户数据目录,所述目的路径为安卓系统的用户数据目录;
设置绑定的参数;
使用所述参数执行命令对当前安卓系统的用户数据目录进行绑定映射。
本申请另一方面提供了一种安卓访问Linux本地目录和文件的系统,所述安卓访问Linux本地目录和文件的系统运行于Linux兼容安卓系统上,所述Linux兼容安卓系统包括Linux系统以及运行在所述Linux系统上的安卓系统,包括:
文件创建模块,用于在Linux系统中创建若干文件目录;
Linux系统挂载模块,用于在Linux系统中进行目录挂载,将内部存储目录挂载到共享目录下、将linux系统的用户目录挂载到系统文件目录下和将linux系统的外接设备入口目录挂载到系统移动存储设备目录下;
映射模块,用于在Linux系统中通过指令将运行时创建的用户数据目录映射到安卓系统的用户数据目录;
安卓系统挂载模块,用于将所述安卓系统的用户数据目录下的存储卡挂载目录虚拟成为linux系统上fuse系统虚拟设备节点,所述linux系统上fuse系统虚拟设备节点会被挂载到安卓系统的存储卡目录;
访问传输模块,用于安卓应用通过所述安卓系统的存储卡目录访问Linux系统本地目录的文件或进行文件传输分享。
可选地,所述文件创建模块具体包括:
创建单元,用于在Linux系统中创建运行变化数据保存目录,并在所述运行变化数据保存目录下新创建对应兼容环境名与对应用户id以及对应用户名的目录;
对应单元,用于对所述新创建对应兼容环境名与对应用户id以及对应用户名的目录设置对应的权限和属主。
可选地,所述Linux系统挂载模块具体包括:
编写单元,用于分别使用fuse和fuse3的api编写fuse接口指令二进制;
判断单元,用于通过对文件访问命令进行判断,判断其是否为fuse3;
处理单元,用于根据判断结果选择使用fuse3的api或fuse的api编写接口指令二进制进行目录挂载。
可选地,所述映射模块具体包括:
确定单元,用于确定和设置挂载绑定的源路径和目的路径,所述源路径为所述运行时创建的用户数据目录,所述目的路径为安卓系统的用户数据目录;
设置单元,用于设置绑定的参数;
执行单元,用于使用所述参数执行命令对当前安卓系统的用户数据目录进行绑定映射。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中提供了一种安卓访问Linux本地目录和文件的方法与系统,解决在兼容安卓运行的Linux系统下运行的安卓应用程序无法将Linux文件或文档共享出来的技术问题,让Linux和安卓实现更加深入的融合。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例中提供的一种安卓访问Linux本地目录和文件的方法的流程示意图;
图2为本申请实施例中提供的安卓应用通过文件访问或者文件分享入口,实现对Linux本地用户文件的访问与分享的流程图;
图3为本申请的安卓应用与Linux用户目录的数据交互示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1
为了便于理解,请参阅图1至图3,本申请提供的一种安卓访问Linux本地目录和文件的方法的一个实施例,安卓访问Linux本地目录和文件的方法应用于Linux兼容安卓系统上,Linux兼容安卓系统包括Linux系统以及运行在Linux系统上的安卓系统,包括以下步骤:
步骤101、在Linux系统中创建若干文件目录,包括:共享目录、内部存储目录、系统文件目录和系统移动存储设备目录;
在Linux系统中创建若干文件目录,具体包括/var/lib/kmre/data/kmre-uid-username(共享目录)、/var/lib/kmre/kmre-uid-username/data/media/0(安卓内部存储目录)、/var/lib/kmre/kmre-uid-username/data/media/0/0-麒麟文件(麒麟文件目录)、/var/lib/kmre/kmre-uid-username/data/media/0/0-麒麟移动存储设备(麒麟移动存储设备目录),其中,uid均表示当前用户的uid,username均表示当前用户的用户名,创建的其他目录在此不做描述。
步骤102、在Linux系统中进行目录挂载,将内部存储目录挂载到共享目录下、将linux系统的用户目录挂载到系统文件目录下和将linux系统的外接设备入口目录挂载到系统移动存储设备目录下;
在Linux系统中使用fuse技术进行目录挂载,具体包括将/var/lib/kmre/kmre-uid-username/data/media/0(安卓内部存储目录)挂载到/var/lib/kmre/data/kmre-uid-username(共享目录)下,将/home/username(linux系统的用户目录)挂载到/var/lib/kmre/kmre-uid-username/data/media/0/0-麒麟文件(麒麟文件目录)下,其中,/home/username(linux系统的用户目录)是linux系统默认创建的用户目录,通过系统接口可以得到,将/media(linux系统的外接设备入口目录)挂载到/var/lib/kmre/kmre-uid-username/data/media/0/0-麒麟移动存储设备(麒麟移动存储设备目录)下,其中,linux默认创建的目录。
步骤103、在Linux系统中通过指令将运行时创建的用户数据目录映射到安卓系统的用户数据目录,运行时创建的用户数据目录包括:内部存储目录、系统文件目录和系统移动存储设备目录;
在Linux系统中通过docker指令,将/var/lib/kmre/kmre-uid-username/data/(kmre环境运行时创建的用户数据目录,用于本地保存部分用户数据)映射到容器内安卓环境中的/data(安卓系统默认的用户数据空间)目录,其中,将/var/lib/kmre/kmre-uid-username/data/目录映射到/data/目录,这样一来,linux系统与安卓系统中的文件系统实现共通,安卓系统里面访问data目录,实际是访问的是/var/lib/kmre/kmre-uid-username/data/目录,安卓系统里面访问内存卡目录,实际也是访问linux系统的文件系统。
步骤104、将安卓系统的用户数据目录下的存储卡挂载目录虚拟成为linux系统上fuse系统虚拟设备节点,linux系统上fuse系统虚拟设备节点会被挂载到安卓系统的存储卡目录;
在安卓系统中使用fuse技术,将容器内安卓环境中的/data/media/0(安卓系统默认的存储卡挂载目录-即访问入口)虚拟成为/dev/fuse(linux系统上fuse系统虚拟设备节点)设备,/dev/fuse(linux系统上fuse系统虚拟设备节点)会被挂载到/storage/emulated/0(安卓系统的存储卡目录)目录,若有多个用户,0文件夹名称依次增加,即完成将Linux系统的/var/lib/kmre/kmre-uid-username/data/media/0(安卓内部存储目录)目录挂载到/storage/emulated/0(安卓系统的存储卡目录),其中,/data/media/0和/var/lib/kmre/kmre-uid-username/data/media/0之间通过类似linux软链接,让它们变成同一个目录。
步骤105、安卓应用通过安卓系统的存储卡目录访问Linux系统本地目录的文件或进行文件传输分享。
安卓应用访问存储卡目录,访问的是/data/media/0(安卓系统默认的存储卡挂载目录-即访问入口),/data/media/0(安卓系统默认的存储卡挂载目录-即访问入口)在linxu系统绝对路径是/var/lib/kmre/kmre-uid-username/data/media/0(安卓内部存储目录),然而/var/lib/kmre/kmre-uid-username/data/media/0(安卓内部存储目录)是一个类似软链接的文件,指向了linux系统中的/media/0,所以实际访问的是linux系统上/media/0。
安卓应用(比如微信、QQ)通过打开“手机存储”目录,在“手机存储”目录选择对应的文件夹,比如“0-麒麟文件”和“0-麒麟移动存储设备”,“0-麒麟文件”表示Linux端的用户家目录,“0-麒麟移动存储设备”表示Linux系统中挂载移动设备的目录,完成对Linux本地目录和文件的访问。
在一个实施例中,如图2,用户在安卓应用内点击本机文件访问按钮,安卓兼容环境的安卓系统会把提前创建并记录的存储卡目录路径发送给安卓应用,安卓应用获取存储卡目录路径后进行访问,访问通过docker映射过来且已经通过fuse挂载的Linux本地目录,会在当前界面以独特明显的名字展示且默认排在第一的位置,用户再次选择进入到该目录后,实际进入的是已经映射和挂载完成的Linux本地目录和文件,所以最终用户在该目录中可以完成对Linux本地用户文件的访问,访问Linux本地目录的文件或进行传输分享,如果用户在应用内选择任一文件,也支持分享上传。
在一个实施例中,如图3,用户在安卓应用中选择文件访问或文件分享,在linux文件系统中,将本地目录通过fuse技术挂载在运行时创建的用户数据目录下,安卓兼容环境的安卓系统通过docker容器的映射,将linux系统中运行时创建的用户数据目录映射到安卓系统的用户数据目录,最终安卓应用间接完成对Linux系统的本地空间的访问。
本申请的有益效果是:解决在兼容安卓运行的Linux系统下运行的安卓应用程序无法对Linux本地用户文件实现访问或实现文件共享的技术问题,让Linux和安卓实现更加深入的融合。
实施例2
为了便于理解,请参阅图1至图3,作为实施例1的进一步改进,在Linux系统中创建若干文件目录,包括以下步骤:
步骤1011、在Linux系统中创建运行变化数据保存目录,并在运行变化数据保存目录下新创建对应兼容环境名与对应用户id以及对应用户名的目录;
在/var/lib/(linux系统运行时对要改变的数据进行保存创建的目录)下面创建对应兼容环境名与对应用户id以及对应用户名的目录;
步骤1012、对新创建对应兼容环境名与对应用户id以及对应用户名的目录设置对应的权限和属主。
实施例3
为了便于理解,请参阅图1至图3,作为实施例1的进一步改进,在Linux系统中进行目录挂载,包括以下步骤:
步骤1021、分别使用fuse和fuse3的api编写fuse接口指令二进制;
步骤1022、通过对文件访问命令进行判断,判断其是否为fuse3;
通过对/bin/fusermount(linux系统上fuse系统自带的工具,用于文件系统访问)命令进行判断,判断其是fuse3与否,其中,可能出现fuse或者fuse3存在同一个系统中使用,通过命令判断,判断系统上使用的是否为fuse3;
若是fuse3,使用fuse3的api编写fuse接口指令二进制进行目录挂载;
若是fuse3,使用fuse3的api编写fuse接口指令二进制进行目录挂载,其中对/var/lib/kmre/kmre-uid-username/data/media/0(安卓内部存储目录)挂载时的-u参数和-g参数均为1023,/home/username(linux系统的用户目录)和/media(linux系统的外接设备入口目录)挂载时的-u参数和-g参数均为1000;
若不是fuse3,使用fuse的api编写fuse接口指令二进制进行目录挂载;
若不是fuse3,使用fuse的api编写fuse接口指令二进制进行目录挂载,其中对/var/lib/kmre/kmre-uid-username/data/media/0(安卓内部存储目录)挂载时的-u参数和-g参数均为1023,/home/username(linux系统的用户目录)和/media(linux系统的外接设备入口目录)挂载时的-u参数和-g参数均为1000。
实施例4
为了便于理解,请参阅图1至图3,作为实施例1的进一步改进,在Linux系统中通过指令将运行时创建的用户数据目录映射到安卓系统的用户数据目录,运行时创建的用户数据目录包括:内部存储目录、系统文件目录和系统移动存储设备目录,包括以下步骤:
步骤1031、确定和设置挂载绑定的源路径和目的路径,源路径为运行时创建的用户数据目录,目的路径为安卓系统的用户数据目录;
确定和设置挂载绑定的源路径/var/lib/kmre/kmre-uid-username/data(kmre环境运行时创建的用户数据目录,用于本地保存部分用户数据)和目的路径/data(安卓系统默认的用户数据目录);
步骤1032、设置绑定的参数;
设置绑定的参数,例如:--mount type=bind,source=${source},target=${target},bind-propagation=rshared;
步骤1033、使用参数执行命令对当前安卓系统的用户数据目录进行绑定映射;
使用设置的参数,执行docker create命令,将linux系统上的/var/lib/kmre/kmre-uid-username/data(kmre环境运行时创建的用户数据目录,用于本地保存部分用户数据)与当前用户对应的容器的/data(安卓系统默认的用户数据目录)进行绑定映射。
实施例5
本申请另一方面还提供了一种安卓访问Linux本地目录和文件的系统,安卓访问Linux本地目录和文件的系统运行于Linux兼容安卓系统上,Linux兼容安卓系统包括Linux系统以及运行在Linux系统上的安卓系统,包括:
文件创建模块,用于在Linux系统中创建若干文件目录;
Linux系统挂载模块,用于在Linux系统中进行目录挂载,将内部存储目录挂载到共享目录下、将linux系统的用户目录挂载到系统文件目录下和将linux系统的外接设备入口目录挂载到系统移动存储设备目录下;
映射模块,用于在Linux系统中通过指令将运行时创建的用户数据目录映射到安卓系统的用户数据目录;
安卓系统挂载模块,用于将安卓系统的用户数据目录下的存储卡挂载目录虚拟成为linux系统上fuse系统虚拟设备节点,linux系统上fuse系统虚拟设备节点会被挂载到安卓系统的存储卡目录;
访问传输模块,用于安卓应用通过安卓系统的存储卡目录访问Linux系统本地目录的文件或进行文件传输分享。
文件创建模块具体包括:
创建单元,用于在Linux系统中创建运行变化数据保存目录,并在运行变化数据保存目录下新创建对应兼容环境名与对应用户id以及对应用户名的目录;
对应单元,用于对新创建对应兼容环境名与对应用户id以及对应用户名的目录设置对应的权限和属主。
Linux系统挂载模块具体包括:
编写单元,用于分别使用fuse和fuse3的api编写fuse接口指令二进制;
判断单元,用于通过对文件访问命令进行判断,判断其是否为fuse3;
处理单元,用于根据判断结果选择使用fuse3的api或fuse的api编写接口指令二进制进行目录挂载。
映射模块具体包括:
确定单元,用于确定和设置挂载绑定的源路径和目的路径,源路径为运行时创建的用户数据目录,目的路径为安卓系统的用户数据目录;
设置单元,用于设置绑定的参数;
执行单元,用于使用参数执行命令对当前安卓系统的用户数据目录进行绑定映射。
本申请的安卓访问Linux本地目录和文件的系统的工作原理和上述方法的流程相同,在此不做赘述。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (8)

1.一种安卓访问Linux本地目录和文件的方法,其特征在于,所述安卓访问Linux本地目录和文件的方法应用于Linux兼容安卓系统上,所述Linux兼容安卓系统包括Linux系统以及运行在所述Linux系统上的安卓系统,包括以下步骤:
在Linux系统中创建若干文件目录,包括:共享目录、内部存储目录、系统文件目录和系统移动存储设备目录;
在Linux系统中进行目录挂载,将内部存储目录挂载到共享目录下、将linux系统的用户目录挂载到系统文件目录下和将linux系统的外接设备入口目录挂载到系统移动存储设备目录下;
在Linux系统中通过指令将运行时创建的用户数据目录映射到安卓系统的用户数据目录,所述运行时创建的用户数据目录包括:内部存储目录、系统文件目录和系统移动存储设备目录;
将所述安卓系统的用户数据目录下的存储卡挂载目录虚拟成为linux系统上fuse系统虚拟设备节点,所述linux系统上fuse系统虚拟设备节点会被挂载到安卓系统的存储卡目录;
安卓应用通过所述安卓系统的存储卡目录访问Linux系统本地目录的文件或进行文件传输分享。
2.根据权利要求1所述的安卓访问Linux本地目录和文件的方法,其特征在于,所述在Linux系统中创建若干文件目录,包括以下步骤:
在Linux系统中创建运行变化数据保存目录,并在所述运行变化数据保存目录下新创建对应兼容环境名与对应用户id以及对应用户名的目录;
对所述新创建对应兼容环境名与对应用户id以及对应用户名的目录设置对应的权限和属主。
3.根据权利要求1所述的安卓访问Linux本地目录和文件的方法,其特征在于,所述在Linux系统中进行目录挂载,包括以下步骤:
分别使用fuse和fuse3的api编写fuse接口指令二进制;
通过对文件访问命令进行判断,判断其是否为fuse3;
若是fuse3,使用fuse3的api编写fuse接口指令二进制进行目录挂载;
若不是fuse3,使用fuse的api编写fuse接口指令二进制进行目录挂载。
4.根据权利要求1所述的安卓访问Linux本地目录和文件的方法,其特征在于,所述在Linux系统中通过指令将运行时创建的用户数据目录映射到安卓系统的用户数据目录,所述运行时创建的用户数据目录包括:内部存储目录、系统文件目录和系统移动存储设备目录,包括以下步骤:
确定和设置挂载绑定的源路径和目的路径,所述源路径为所述运行时创建的用户数据目录,所述目的路径为安卓系统的用户数据目录;
设置绑定的参数;
使用所述参数执行命令对当前安卓系统的用户数据目录进行绑定映射。
5.一种安卓访问Linux本地目录和文件的系统,其特征在于,所述安卓访问Linux本地目录和文件的系统运行于Linux兼容安卓系统上,所述Linux兼容安卓系统包括Linux系统以及运行在所述Linux系统上的安卓系统,包括:
文件创建模块,用于在Linux系统中创建若干文件目录;
Linux系统挂载模块,用于在Linux系统中进行目录挂载,将内部存储目录挂载到共享目录下、将linux系统的用户目录挂载到系统文件目录下和将linux系统的外接设备入口目录挂载到系统移动存储设备目录下;
映射模块,用于在Linux系统中通过指令将运行时创建的用户数据目录映射到安卓系统的用户数据目录;
安卓系统挂载模块,用于将所述安卓系统的用户数据目录下的存储卡挂载目录虚拟成为linux系统上fuse系统虚拟设备节点,所述linux系统上fuse系统虚拟设备节点会被挂载到安卓系统的存储卡目录;
访问传输模块,用于安卓应用通过所述安卓系统的存储卡目录访问Linux系统本地目录的文件或进行文件传输分享。
6.根据权利要求5所述的安卓访问Linux本地目录和文件的系统,其特征在于,所述文件创建模块具体包括:
创建单元,用于在Linux系统中创建运行变化数据保存目录,并在所述运行变化数据保存目录下新创建对应兼容环境名与对应用户id以及对应用户名的目录;
对应单元,用于对所述新创建对应兼容环境名与对应用户id以及对应用户名的目录设置对应的权限和属主。
7.根据权利要求5所述的安卓访问Linux本地目录和文件的系统,其特征在于,所述Linux系统挂载模块具体包括:
编写单元,用于分别使用fuse和fuse3的api编写fuse接口指令二进制;
判断单元,用于通过对文件访问命令进行判断,判断其是否为fuse3;
处理单元,用于根据判断结果选择使用fuse3的api或fuse的api编写接口指令二进制进行目录挂载。
8.根据权利要求5所述的安卓访问Linux本地目录和文件的系统,其特征在于,所述映射模块具体包括:
确定单元,用于确定和设置挂载绑定的源路径和目的路径,所述源路径为所述运行时创建的用户数据目录,所述目的路径为安卓系统的用户数据目录;
设置单元,用于设置绑定的参数;
执行单元,用于使用所述参数执行命令对当前安卓系统的用户数据目录进行绑定映射。
CN202210131444.3A 2022-02-14 2022-02-14 安卓访问Linux本地目录和文件的方法与系统 Active CN114185851B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210131444.3A CN114185851B (zh) 2022-02-14 2022-02-14 安卓访问Linux本地目录和文件的方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210131444.3A CN114185851B (zh) 2022-02-14 2022-02-14 安卓访问Linux本地目录和文件的方法与系统

Publications (2)

Publication Number Publication Date
CN114185851A true CN114185851A (zh) 2022-03-15
CN114185851B CN114185851B (zh) 2022-07-05

Family

ID=80545822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210131444.3A Active CN114185851B (zh) 2022-02-14 2022-02-14 安卓访问Linux本地目录和文件的方法与系统

Country Status (1)

Country Link
CN (1) CN114185851B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385305A (zh) * 2022-03-23 2022-04-22 麒麟软件有限公司 一种录制Linux屏幕并分享给安卓应用的系统和方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391657A (zh) * 2014-11-24 2015-03-04 上海盈方微电子有限公司 一种安卓系统上挂载多分区存储设备的方法
CN106559484A (zh) * 2016-11-14 2017-04-05 北京海誉动想科技股份有限公司 实例系统免安装运行应用的方法
US20180075060A1 (en) * 2015-06-08 2018-03-15 Alibaba Group Holding Limited On-demand creation and access of a virtual file system
CN108427678A (zh) * 2017-02-13 2018-08-21 海马云(天津)信息技术有限公司 安卓系统查找应用资源文件的方法
CN108509435A (zh) * 2017-02-24 2018-09-07 海马云(天津)信息技术有限公司 实例系统挂载远程文件的方法和装置
US20190102566A1 (en) * 2017-09-29 2019-04-04 Foundation Of Soongsil University-Industry Cooperation Linux based android container platform, device equipped with the same and method for apply security system in linux based android container environment
CN112988419A (zh) * 2021-03-12 2021-06-18 麒麟软件有限公司 一种将Linux输入法共享给Android的方法
CN112988675A (zh) * 2021-03-12 2021-06-18 麒麟软件有限公司 一种基于Linux文件管理器的Android文件分类显示方法
CN113204307A (zh) * 2021-05-06 2021-08-03 技德技术研究所(武汉)有限公司 一种在Linux上兼容运行Android系统的文件发送方法及装置
CN113220645A (zh) * 2021-05-31 2021-08-06 技德技术研究所(武汉)有限公司 一种Linux兼容Android的文件显示方法及装置
CN113342422A (zh) * 2021-06-29 2021-09-03 技德技术研究所(武汉)有限公司 一种Linux兼容Android的多应用访问摄像头方法及装置
CN113687888A (zh) * 2021-05-18 2021-11-23 麒麟软件有限公司 在Linux系统上兼容运行Android应用的文件分享方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391657A (zh) * 2014-11-24 2015-03-04 上海盈方微电子有限公司 一种安卓系统上挂载多分区存储设备的方法
US20180075060A1 (en) * 2015-06-08 2018-03-15 Alibaba Group Holding Limited On-demand creation and access of a virtual file system
CN106559484A (zh) * 2016-11-14 2017-04-05 北京海誉动想科技股份有限公司 实例系统免安装运行应用的方法
CN108427678A (zh) * 2017-02-13 2018-08-21 海马云(天津)信息技术有限公司 安卓系统查找应用资源文件的方法
CN108509435A (zh) * 2017-02-24 2018-09-07 海马云(天津)信息技术有限公司 实例系统挂载远程文件的方法和装置
US20190102566A1 (en) * 2017-09-29 2019-04-04 Foundation Of Soongsil University-Industry Cooperation Linux based android container platform, device equipped with the same and method for apply security system in linux based android container environment
CN112988419A (zh) * 2021-03-12 2021-06-18 麒麟软件有限公司 一种将Linux输入法共享给Android的方法
CN112988675A (zh) * 2021-03-12 2021-06-18 麒麟软件有限公司 一种基于Linux文件管理器的Android文件分类显示方法
CN113204307A (zh) * 2021-05-06 2021-08-03 技德技术研究所(武汉)有限公司 一种在Linux上兼容运行Android系统的文件发送方法及装置
CN113687888A (zh) * 2021-05-18 2021-11-23 麒麟软件有限公司 在Linux系统上兼容运行Android应用的文件分享方法
CN113220645A (zh) * 2021-05-31 2021-08-06 技德技术研究所(武汉)有限公司 一种Linux兼容Android的文件显示方法及装置
CN113342422A (zh) * 2021-06-29 2021-09-03 技德技术研究所(武汉)有限公司 一种Linux兼容Android的多应用访问摄像头方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘源等: "基于Android的客户端与服务器的通讯架构设计", 《制造业自动化》 *
朱存等: "基于VMware的Linux系统下Cortex-A8平台的环境搭建", 《无线互联科技》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385305A (zh) * 2022-03-23 2022-04-22 麒麟软件有限公司 一种录制Linux屏幕并分享给安卓应用的系统和方法
CN114385305B (zh) * 2022-03-23 2022-07-08 麒麟软件有限公司 一种录制Linux屏幕并分享给安卓应用的系统和方法

Also Published As

Publication number Publication date
CN114185851B (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
CN110618876B (zh) 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法
CN108664239B (zh) 一种基于微服务的跨技术栈web前端开发系统及方法
CN103345406A (zh) 一种实现智能移动终端的云端虚拟移动终端的系统和方法
CN113157362B (zh) 一种应用于Linux上Android多窗口显示方法
CN112988675B (zh) 一种基于Linux文件管理器的Android文件分类显示方法
CN106708715A (zh) 自动化测试方法及装置
CN114185851B (zh) 安卓访问Linux本地目录和文件的方法与系统
CN111737221B (zh) 集群文件系统的数据读写方法、装置及设备和存储介质
CN104168309A (zh) 基于云服务的数据备份与操作方法
CN109032573A (zh) 一种硬件编程系统和方法
CN109947624A (zh) 状态监控方法及装置
CN105204964A (zh) 基于云盘的数据备份方法及装置
CN114826749A (zh) 一种接口访问控制方法、装置、介质
CN101414257A (zh) 软件界面实现方法、装置及终端
CN103716400A (zh) 基于虚拟机实现移动办公的方法及系统
CN112486863A (zh) 软件虚拟仿真方法、装置和电子设备
CN111782304A (zh) 分页加载数据逻辑控制方法、装置、计算机设备及介质
CN112394932A (zh) 浏览器网页自动换肤方法及装置
CN114416031B (zh) 面向AIoT场景支持RISC-V处理器的操作系统
CN109460280B (zh) 运行程序的方法、终端
CN109388435A (zh) 实现app同时多次开启操作的方法和装置
CN102609253B (zh) 一种智能卡的应用实现方法及系统
CN115292631B (zh) 一种基于Web的容器内部文件管理方法和系统
CN106161501A (zh) 虚拟桌面的数据共享方法和装置
CN109558082B (zh) 分布式文件系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant