CN114020414B - Android系统与底层Linux共生方法、装置、电子设备及存储介质 - Google Patents
Android系统与底层Linux共生方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114020414B CN114020414B CN202111318558.0A CN202111318558A CN114020414B CN 114020414 B CN114020414 B CN 114020414B CN 202111318558 A CN202111318558 A CN 202111318558A CN 114020414 B CN114020414 B CN 114020414B
- Authority
- CN
- China
- Prior art keywords
- linux
- android system
- command
- interaction
- android
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004458 analytical method Methods 0.000 claims abstract description 61
- 230000003993 interaction Effects 0.000 claims abstract description 61
- 230000033772 system development Effects 0.000 claims abstract description 49
- 230000007474 system interaction Effects 0.000 claims abstract description 48
- 230000018109 developmental process Effects 0.000 claims description 43
- 230000007246 mechanism Effects 0.000 claims description 26
- 238000011161 development Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 22
- 230000002452 interceptive effect Effects 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000001172 regenerating effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000012827 research and development Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/4552—Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及系统交互技术领域,揭露了一种基于Android系统与底层Linux的交互方法,包括:在Android系统的APP中生成Linux系统交互界面,其中,所述Android系统包括系统开发工具包及指令解析层,所述Linux系统交互界面与底层Linux相连,接收用户在所述Linux系统交互界面中输入的Linux命令,将所述Linux命令转换为字符串命令,利用所述系统开发工具包将所述字符串命令传输至所述指令解析层,并利用所述指令解析层解析所述字符串命令,得到资源申请命令,根据所述资源申请命令,向所述Android系统申请资源,得到资源属性。本发明还提出一种基于Android系统与底层Linux的交互装置、电子设备以及计算机可读存储介质。本发明可以解决无法实现Android系统与Linux系统交互的问题。
Description
技术领域
本发明涉及系统交互技术领域,尤其涉及一种基于Android系统与底层 Linux的交互方法、装置、电子设备及计算机可读存储介质。
背景技术
伴随信息技术发展,数据交互越来越频繁,但当下受限于Android系统的封闭性,依然无法充分利用Android系统的运行的资源,但当前主流的人工智能、大数据分析等相关研究、研发等都是在Linux系统中开发,可见,若能利用Android系统的运行资源,完成基于Linux系统的研发研究,可实现资源的最大化利用,但如今缺乏一种基于Android系统与底层Linux的交互方法。
发明内容
本发明提供一种基于Android系统与底层Linux的交互方法、装置及计算机可读存储介质,其主要目的在于解决无法实现Android系统与Linux系统交互的问题。
为实现上述目的,本发明提供的一种基于Android系统与底层Linux的交互方法,包括:
在Android系统的APP中生成Linux系统交互界面,其中,所述Android 系统包括系统开发工具包及指令解析层,所述Linux系统交互界面与底层 Linux相连,所述Android系统与所述底层Linux具有共生机制;
接收用户在所述Linux系统交互界面中输入的Linux命令,利用所述共生机制判断所述Android系统与所述底层Linux是否均存在,若所述Android系统与所述底层Linux均存在,将所述Linux命令转换为字符串命令;
利用所述系统开发工具包将所述字符串命令传输至所述指令解析层,并利用所述指令解析层解析所述字符串命令,得到资源申请命令;
根据所述资源申请命令,向所述Android系统申请资源,得到资源属性;
直至所述资源属性响应完所述Linux命令,基于Android系统的回收机制,自动释放所述资源属性,完成所述Android系统与所述Linux系统的数据交互。
可选地,所述在Android系统的APP中生成Linux系统交互界面,之前包括:
利用Java编程语言生成指令解析层程序;
编译所述指令解析层程序生成指令解析层的源文件;
从所述源文件中提取所述指令解析层的头文件;
根据所述头文件,在所述Android系统中声明所述指令解析层程序的实现方法,生成在所述Android系统中的指令解析层。
可选地,所述在Android系统的APP中生成Linux系统交互界面,之前还包括:
在所述Android系统中配置系统开发工具包的依赖环境;
根据所述依赖环境导入所述配置系统开发工具包;
创建所述APP的开发程序,并将所述开发程序与所述配置系统开发工具包执行关联,得到包括配置系统开发工具包的所述Android系统。
可选地,所述在Android系统的APP中生成Linux系统交互界面,包括:
接收所述Linux系统交互界面的开发包并启动所述配置系统开发工具包;
基于所述配置系统开发工具包与所述APP的开发程序的关联关系,将所述Linux系统交互界面的开发包嵌入至所述开发程序中;
编译包括所述Linux系统交互界面开发包的开发程序,在所述APP中生成所述Linux系统交互界面。
可选地,所述将所述Linux命令转换为字符串命令,包括:
接收用户根据Linux系统输入的指令转换函数;
将所述Linux命令作为所述指令转换函数的入参,得到字符待转换函数;
运行所述字符待转换函数,得到所述字符串命令。
可选地,所述利用所述指令解析层解析所述字符串命令,得到资源申请命令,包括:
利用所述指令解析层连接所述Android系统的底层开发库,并解析所述字符串命令,得到与所述底层开发库对应的待校验资源申请命令;
校验所述待校验资源申请命令是否满足预设格式要求,当所述待校验资源申请命令不满足预设格式要求,利用所述指令解析层重新生成待校验资源申请命令;
当所述待校验资源申请命令满足预设格式要求,利用所述底层开发库访问所述Android系统,当访问所述Android系统成功时,封装所述待校验资源申请命令,得到所述资源申请命令,得到所述资源申请命令。
可选地,所述根据所述资源申请命令,向所述Android系统申请资源,得到资源属性,包括:
判断所述Android系统是否响应所述资源申请命令,若所述Android系统未响应所述资源申请命令,重新启动所述APP,并在重新启动的APP中生成所述资源申请命令;
若所述Android系统响应所述资源申请命令,根据所述资源申请命令生成所述资源属性。
为了解决上述问题,本发明还提供一种基于Android系统与底层Linux的交互装置,所述装置包括:
交互界面生成模块,用于在Android系统的APP中生成Linux系统交互界面,其中,所述Android系统包括系统开发工具包及指令解析层,所述Linux 系统交互界面与底层Linux相连,所述Android系统与所述底层Linux具有共生机制;
命令转换模块,用于接收用户在所述Linux系统交互界面中输入的Linux 命令,利用所述共生机制判断所述Android系统与所述底层Linux是否均存在,若所述Android系统与所述底层Linux均存在,将所述Linux命令转换为字符串命令;
命令解析模块,用于利用所述系统开发工具包将所述字符串命令传输至所述指令解析层,并利用所述指令解析层解析所述字符串命令,得到资源申请命令;
资源申请模块,用于根据所述资源申请命令,向所述Android系统申请资源,得到资源属性;
资源回传模块,用于直至所述资源属性响应完所述Linux命令,基于 Android系统的回收机制,自动释放所述资源属性,完成所述Android系统与所述Linux系统的数据交互。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的基于Android 系统与底层Linux的交互方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的基于Android系统与底层Linux的交互方法。
基于背景技术所述:若能利用Android系统的运行资源,完成基于Linux 系统的研发研究,可实现资源的最大化利用,但如今缺乏一种基于Android 系统与底层Linux的交互方法。本发明实施例先在Android系统的APP中生成Linux系统交互界面,其中,所述Android系统包括系统开发工具包及指令解析层,Linux系统交互界面主要是作为用户与Linux系统的数据交互桥梁,其主要目的在于接收用户的Linux命令,并根据Linux命令调用Android系统的资源,因此,接收用户在所述Linux系统交互界面中输入的Linux命令,但由于系统开发工具包及指令解析层主要是基于面对对象的编程语言构建,难以直接了解Linux命令,故将所述Linux命令转换为字符串命令,并利用所述系统开发工具包将所述字符串命令传输至所述指令解析层,其中指令解析层可解析所述字符串命令,得到资源申请命令,其中资源申请命令可被Android 系统响应。因此本发明提出的基于Android系统与底层Linux的交互方法、装置、电子设备及计算机可读存储介质,可以解决无法实现Android系统与Linux 系统交互的问题。
附图说明
图1为本发明一实施例提供的基于Android系统与底层Linux的交互方法的流程示意图;
图2为图1中其中一个步骤的详细实施流程示意图;
图3为图1中另一个步骤的详细实施流程示意图;
图4为本发明一实施例提供的基于Android系统与底层Linux的交互装置的功能模块图;
图5为本发明一实施例提供的实现所述基于Android系统与底层Linux的交互方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种基于Android系统与底层Linux的交互方法。所述基于Android系统与底层Linux的交互方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述基于Android系统与底层Linux的交互方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的基于Android系统与底层Linux 的交互方法的流程示意图。在本实施例中,所述基于Android系统与底层Linux 的交互方法包括:
S1、在Android系统的APP中生成Linux系统交互界面,其中,所述Android 系统包括系统开发工具包及指令解析层,所述Linux系统交互界面与底层 Linux相连,所述Android系统与所述底层Linux具有共生机制。
应了解的是,本发明实施例所述Android系统,即支持移动设备运行的系统,如手机、平板等。如开发人员需在arm架构下执行程序开发,但arm架构不支持Linux指令,因此欲通过Android系统的APP中生成Linux系统交互界面,通过APP中的Linux系统交互界面执行Linux指令,并将Linux指令调用的资源传输至arm架构。
需解释的是,支持Android系统的底层系统一般不是Linux系统,但 Android系统确有较大的系统资源可供Linux系统使用,因此在在Android系统中开发得到包括系统开发工具包及指令解析层的Android系统,其中,系统开发工具包(英文全称:NativeDevelopment Kit;简称:NDK),在Android 系统中,具有与其他接口形成动态连接功能的程序开发包;指令解析层是一种基于用户指令或系统指令执行解析及数据传输的程序层,如基于Java语言构造的指令解析层称为JavaNative Interface,简称JNI。
因此,在生成Linux系统交互界面之前,还需要在Android系统中生成系统开发工具包及指令解析层,参阅图2所示,所述在Android系统的APP中生成Linux系统交互界面,之前包括:
S11、利用Java编程语言生成指令解析层程序;
S12、编译所述指令解析层程序生成指令解析层的源文件;
S13、从所述源文件中提取所述指令解析层的头文件;
S14、根据所述头文件,在所述Android系统中声明所述指令解析层程序的实现方法,生成在所述Android系统中的指令解析层。
示例性的,如开发人员利用Java编程语言开发了指令解析层程序,其中在指令解析层程序中声明了在Android系统中的实现方法,简称Native方法,通过编译上述指令解析层程序,得到指令解析层程序的Java源文件javac,其中Java源文件javac包括头文件(.h文件),进而根据头文件(.h文件),在 Android系统中声明Native方法,从而完成指令解析层在Android系统中生成。
可想象的是,所述在Android系统的APP中生成Linux系统交互界面,之前还包括:
在所述Android系统中配置系统开发工具包的依赖环境;
根据所述依赖环境导入所述配置系统开发工具包;
创建所述APP的开发程序,并将所述开发程序与所述配置系统开发工具包执行关联,得到包括配置系统开发工具包的所述Android系统。
需解释的是,配置系统开发工具包若嵌入至系统时,需要在系统中配置依赖环境,已保证配置系统开发工具包的正常运行,其次,为了有效支持系统上APP的运行,还需将APP的开发程序与配置系统开发工具包执行关联操作。
进一步地,当Android系统中已包括系统开发工具包及指令解析层后,还需生成Linux系统交互界面,通过Linux系统交互界面与底层Linux相连,从而完成底层Linux的数据传输,本发明实施例需解释的是,所述Android系统与所述底层Linux具有共生机制,底层Linux依赖于Android系统的系统资源,当Android系统不存在时,底层Linux也会因Android系统的消失而无法。
所述在Android系统的APP中生成Linux系统交互界面,包括:
接收所述Linux系统交互界面的开发包并启动所述配置系统开发工具包;
基于所述配置系统开发工具包与所述APP的开发程序的关联关系,将所述Linux系统交互界面的开发包嵌入至所述开发程序中;
编译包括所述Linux系统交互界面开发包的开发程序,在所述APP中生成所述Linux系统交互界面。
需解释的是,Linux系统交互界面的开发包一般为研发人员提前编程完成的,通过将Linux系统交互界面的开发包导入至APP的开发程序中,可实现 APP中产生Linux系统交互界面的效果。
S2、接收用户在所述Linux系统交互界面中输入的Linux命令,利用所述共生机制判断所述Android系统与所述底层Linux是否均存在,若所述Android 系统与所述底层Linux均存在,将所述Linux命令转换为字符串命令。
示例性的,上述开发人员通过Android系统的APP中生成Linux系统交互界面,并在APP中的Linux系统交互界面输入需要底层Linux系统提供存储地址,以存储开发人员所获取的视频数据的Linux指令。
应了解的是,因Android系统与底层Linux是相互共生,若Android系统与底层Linux其中一方因系统崩溃或用户注销等原因而不复存在,则可想而知无法完成Android系统与底层Linux的数据交互,因此,在将所述Linux命令转换为字符串命令之前,还需利用共生机制判断Android系统与底层Linux是否均存在,直至Android系统与所述底层Linux均存在,才将Linux命令转换为字符串命令。
需解释的是,本发明实施例主要基于JAVA编程语言实现数据交互,如上述指令解析层是利用Java编程语言生成指令解析层程序,并根据指令解析层程序的头文件,生成在所述Android系统中的指令解析层,而JAVA编程语言中各函数的入参一般以字符串为主,因此需将所述Linux命令转换为字符串命令。
详细地,参阅图3所示,所述将所述Linux命令转换为字符串命令,包括:
S21、接收用户根据Linux系统输入的指令转换函数;
S22、将所述Linux命令作为所述指令转换函数的入参,得到字符待转换函数;
S23、运行所述字符待转换函数,得到所述字符串命令。
示例性的,如用户输入的是存储磁盘维护类指令badblocks-s-v/dev/sdnx,可通过Linux系统自带的指令转换函数,将所述badblocks-s-v/dev/sdnx转为字符形式的指令,即:“badblocks-s-v/dev/sdnx”。
S3、利用所述系统开发工具包将所述字符串命令传输至所述指令解析层,并利用所述指令解析层解析所述字符串命令,得到资源申请命令。
详细地,所述利用所述指令解析层解析所述字符串命令,得到资源申请命令,包括:
利用所述指令解析层连接所述Android系统的底层开发库,并解析所述字符串命令,得到与所述底层开发库对应的待校验资源申请命令;
校验所述待校验资源申请命令是否满足预设格式要求,当所述待校验资源申请命令不满足预设格式要求,利用所述指令解析层重新生成待校验资源申请命令;
当所述待校验资源申请命令满足预设格式要求,利用所述底层开发库访问所述Android系统,当访问所述Android系统成功时,封装所述待校验资源申请命令,得到所述资源申请命令,得到所述资源申请命令。
需解释的是,所述底层开发库一般利用C++语言构建,其主要作用是为了响应Android系统的指令。
本发明实施例中,所述预设格式要求一般根据底层Linux系统的格式要求而设置。
S4、根据所述资源申请命令,向所述Android系统申请资源,得到资源属性。
详细地,所述根据所述资源申请命令,向所述Android系统申请资源,得到资源属性,包括:
判断所述Android系统是否响应所述资源申请命令,若所述Android系统未响应所述资源申请命令,重新启动所述APP,并在重新启动的APP中生成所述资源申请命令;
若所述Android系统响应所述资源申请命令,根据所述资源申请命令生成所述资源属性。
应了解的是,当Android系统未响应资源申请命令时,可能是Android系统出现响应延迟的问题或APP连接时出现异常,因此重新启动所述APP时,会给予Android系统重新响应的响应时间,并同时将APP与Android系统建立连接,以解决Android系统未响应资源申请命令的问题。
此外,当所述Android系统响应所述资源申请命令时,表示Android系统可为资源申请命令分配资源,从而生成待分配资源。进一步地,当Android 系统接收到可以分配的资源时,Android系统根据APP的请求为其分配资源,并生成资源属性。其中资源属性是通知APP可以进行的下一步操作,如数据存储等。
S5、直至所述资源属性响应完所述Linux命令,基于Android系统的回收机制,自动释放所述资源属性,完成所述Android系统与所述Linux系统的数据交互。
示例性的,当开发人员输入需要Android系统提供存储地址,以存储开发人员所获取的视频数据的Linux指令后,Android系统响应该指令,得到可存储该视频数据的存储地址,其中存储地址即为所述资源属性。
基于背景技术所述:若能利用Android系统的运行资源,完成基于Linux 系统的研发研究,可实现资源的最大化利用,但如今缺乏一种基于Android 系统与底层Linux的交互方法。本发明实施例先在Android系统的APP中生成Linux系统交互界面,其中,所述Android系统包括系统开发工具包及指令解析层,Linux系统交互界面主要是作为用户与Linux系统的数据交互桥梁,其主要目的在于接收用户的Linux命令,并根据Linux命令调用Android系统的资源,因此,接收用户在所述Linux系统交互界面中输入的Linux命令,但由于系统开发工具包及指令解析层主要是基于面对对象的编程语言构建,难以直接了解Linux命令,故将所述Linux命令转换为字符串命令,并利用所述系统开发工具包将所述字符串命令传输至所述指令解析层,其中指令解析层可解析所述字符串命令,得到资源申请命令,其中资源申请命令可被Android 系统响应,。因此本发明提出的基于Android系统与底层Linux的交互方法、装置、电子设备及计算机可读存储介质,可以解决无法实现Android系统与 Linux系统交互的问题。
如图4所示,是本发明一实施例提供的基于Android系统与底层Linux的交互装置的功能模块图。
本发明所述基于Android系统与底层Linux的交互装置100可以安装于电子设备中。根据实现的功能,所述基于Android系统与底层Linux的交互装置 100可以包括交互界面生成模块101、命令转换模块102、命令解析模块103、资源申请模块104及资源回传模块105。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
所述交互界面生成模块101,用于在Android系统的APP中生成Linux 系统交互界面,其中,所述Android系统包括系统开发工具包及指令解析层,所述Linux系统交互界面与底层Linux相连,所述Android系统与所述底层 Linux具有共生机制;
所述命令转换模块102,用于接收用户在所述Linux系统交互界面中输入的Linux命令,利用所述共生机制判断所述Android系统与所述底层Linux是否均存在,若所述Android系统与所述底层Linux均存在,将所述Linux命令转换为字符串命令;
所述命令解析模块103,用于利用所述系统开发工具包将所述字符串命令传输至所述指令解析层,并利用所述指令解析层解析所述字符串命令,得到资源申请命令;
所述资源申请模块104,用于根据所述资源申请命令,向所述Android系统申请资源,得到资源属性;
所述资源回传模块105,用于直至所述资源属性响应完所述Linux命令,基于Android系统的回收机制,自动释放所述资源属性,完成所述Android系统与所述Linux系统的数据交互。
详细地,本发明实施例中所述基于Android系统与底层Linux的交互装置 100中的所述各模块在使用时采用与上述的图1中所述的基于Android系统与底层Linux的交互方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图5所示,是本发明一实施例提供的实现基于Android系统与底层Linux 的交互方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于 Android系统与底层Linux的交互程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字 (SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器 11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于 Android系统与底层Linux的交互程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10 是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块 (例如基于Android系统与底层Linux的交互程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5 示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10 逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器 (Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED 显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的基于Android系统与底层Linux 的交互程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
在Android系统的APP中生成Linux系统交互界面,其中,所述Android 系统包括系统开发工具包及指令解析层,所述Linux系统交互界面与底层 Linux相连,所述Android系统与所述底层Linux具有共生机制;
接收用户在所述Linux系统交互界面中输入的Linux命令,利用所述共生机制判断所述Android系统与所述底层Linux是否均存在,若所述Android系统与所述底层Linux均存在,将所述Linux命令转换为字符串命令;
利用所述系统开发工具包将所述字符串命令传输至所述指令解析层,并利用所述指令解析层解析所述字符串命令,得到资源申请命令;
根据所述资源申请命令,向所述Android系统申请资源,得到资源属性;
直至所述资源属性响应完所述Linux命令,基于Android系统的回收机制,自动释放所述资源属性,完成所述Android系统与所述Linux系统的数据交互。
具体地,所述处理器10对上述指令的具体实现方法可参考图1至图5对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
在Android系统的APP中生成Linux系统交互界面,其中,所述Android 系统包括系统开发工具包及指令解析层,所述Linux系统交互界面与底层 Linux相连,所述Android系统与所述底层Linux具有共生机制;
接收用户在所述Linux系统交互界面中输入的Linux命令,利用所述共生机制判断所述Android系统与所述底层Linux是否均存在,若所述Android系统与所述底层Linux均存在,将所述Linux命令转换为字符串命令;
利用所述系统开发工具包将所述字符串命令传输至所述指令解析层,并利用所述指令解析层解析所述字符串命令,得到资源申请命令;
根据所述资源申请命令,向所述Android系统申请资源,得到资源属性;
直至所述资源属性响应完所述Linux命令,基于Android系统的回收机制,自动释放所述资源属性,完成所述Android系统与所述Linux系统的数据交互。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种基于Android系统与底层Linux的交互方法,其特征在于,所述方法包括:
在Android系统的APP中生成Linux系统交互界面,其中,所述Android系统包括系统开发工具包及指令解析层,所述Linux系统交互界面与底层Linux相连,所述Android系统与所述底层Linux具有共生机制;
接收用户在所述Linux系统交互界面中输入的Linux命令,利用所述共生机制判断所述Android系统与所述底层Linux是否均存在,若所述Android系统与所述底层Linux均存在,将所述Linux命令转换为字符串命令;
利用所述系统开发工具包将所述字符串命令传输至所述指令解析层,并利用所述指令解析层解析所述字符串命令,得到资源申请命令;
根据所述资源申请命令,向所述Android系统申请资源,得到资源属性;
直至所述资源属性响应完所述Linux命令,基于Android系统的回收机制,自动释放所述资源属性,完成所述Android系统与所述Linux系统的数据交互。
2.如权利要求1所述的基于Android系统与底层Linux的交互方法,其特征在于,所述在Android系统的APP中生成Linux系统交互界面,之前包括:
利用Java编程语言生成指令解析层程序;
编译所述指令解析层程序生成指令解析层的源文件;
从所述源文件中提取所述指令解析层的头文件;
根据所述头文件,在所述Android系统中声明所述指令解析层程序的实现方法,生成在所述Android系统中的指令解析层。
3.如权利要求1所述的基于Android系统与底层Linux的交互方法,其特征在于,所述在Android系统的APP中生成Linux系统交互界面,之前还包括:
在所述Android系统中配置系统开发工具包的依赖环境;
根据所述依赖环境导入所述配置系统开发工具包;
创建所述APP的开发程序,并将所述开发程序与所述配置系统开发工具包执行关联,得到包括配置系统开发工具包的所述Android系统。
4.如权利要求3所述的基于Android系统与底层Linux的交互方法,其特征在于,所述在Android系统的APP中生成Linux系统交互界面,包括:
接收所述Linux系统交互界面的开发包并启动所述配置系统开发工具包;
基于所述配置系统开发工具包与所述APP的开发程序的关联关系,将所述Linux系统交互界面的开发包嵌入至所述开发程序中;
编译包括所述Linux系统交互界面开发包的开发程序,在所述APP中生成所述Linux系统交互界面。
5.如权利要求1所述的基于Android系统与底层Linux的交互方法,其特征在于,所述将所述Linux命令转换为字符串命令,包括:
接收用户根据Linux系统输入的指令转换函数;
将所述Linux命令作为所述指令转换函数的入参,得到字符待转换函数;
运行所述字符待转换函数,得到所述字符串命令。
6.如权利要求1所述的基于Android系统与底层Linux的交互方法,其特征在于,所述利用所述指令解析层解析所述字符串命令,得到资源申请命令,包括:
利用所述指令解析层连接所述Android系统的底层开发库,并解析所述字符串命令,得到与所述底层开发库对应的待校验资源申请命令;
校验所述待校验资源申请命令是否满足预设格式要求,当所述待校验资源申请命令不满足预设格式要求,利用所述指令解析层重新生成待校验资源申请命令;
当所述待校验资源申请命令满足预设格式要求,利用所述底层开发库访问所述Android系统,当访问所述Android系统成功时,封装所述待校验资源申请命令,得到所述资源申请命令。
7.如权利要求6所述的基于Android系统与底层Linux的交互方法,其特征在于,所述根据所述资源申请命令,向所述Android系统申请资源,得到资源属性,包括:
判断所述Android系统是否响应所述资源申请命令,若所述Android系统未响应所述资源申请命令,重新启动所述APP,并在重新启动的APP中生成所述资源申请命令;
若所述Android系统响应所述资源申请命令,根据所述资源申请命令生成所述资源属性。
8.一种基于Android系统与底层Linux的交互装置,其特征在于,所述装置包括:
交互界面生成模块,用于在Android系统的APP中生成Linux系统交互界面,其中,所述Android系统包括系统开发工具包及指令解析层,所述Linux系统交互界面与底层Linux相连,所述Android系统与所述底层Linux具有共生机制;
命令转换模块,用于接收用户在所述Linux系统交互界面中输入的Linux命令,利用所述共生机制判断所述Android系统与所述底层Linux是否均存在,若所述Android系统与所述底层Linux均存在,将所述Linux命令转换为字符串命令;
命令解析模块,用于利用所述系统开发工具包将所述字符串命令传输至所述指令解析层,并利用所述指令解析层解析所述字符串命令,得到资源申请命令;
资源申请模块,用于根据所述资源申请命令,向所述Android系统申请资源,得到资源属性;
资源回传模块,用于直至所述资源属性响应完所述Linux命令,基于Android系统的回收机制,自动释放所述资源属性,完成所述Android系统与所述Linux系统的数据交互。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的基于Android系统与底层Linux的交互方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的基于Android系统与底层Linux的交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111318558.0A CN114020414B (zh) | 2021-11-09 | 2021-11-09 | Android系统与底层Linux共生方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111318558.0A CN114020414B (zh) | 2021-11-09 | 2021-11-09 | Android系统与底层Linux共生方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114020414A CN114020414A (zh) | 2022-02-08 |
CN114020414B true CN114020414B (zh) | 2024-03-19 |
Family
ID=80062600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111318558.0A Active CN114020414B (zh) | 2021-11-09 | 2021-11-09 | Android系统与底层Linux共生方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020414B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149341B (zh) * | 2023-10-31 | 2024-01-05 | 成都阿加犀智能科技有限公司 | 一种显示Linux GUI程序的方法、装置、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876906A (zh) * | 2010-03-31 | 2010-11-03 | 北京播思软件技术有限公司 | 一种利用Linux应用在Android系统中运行的方法及装置 |
CN105183551A (zh) * | 2015-09-10 | 2015-12-23 | 电子科技大学 | 基于Linux容器技术的多Android系统之间切换方法 |
CN105204913A (zh) * | 2015-10-20 | 2015-12-30 | 福建升腾资讯有限公司 | 一种在Android操作系统上运行Linux应用程序的方法及系统 |
CN107066266A (zh) * | 2017-03-22 | 2017-08-18 | 北京潘达互娱科技有限公司 | 安卓应用中支持Unity的数据处理方法及装置 |
WO2018028055A1 (zh) * | 2016-08-10 | 2018-02-15 | 北京奇虎科技有限公司 | 在Windows系统上运行Android应用程序的方法及装置 |
CN108062237A (zh) * | 2017-11-23 | 2018-05-22 | 上海博泰悦臻电子设备制造有限公司 | Linux系统和Android系统的兼容方法及系统、存储介质及车载终端 |
CN108170503A (zh) * | 2018-01-24 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 一种跨系统运行安卓应用的方法、终端及存储介质 |
CN109714642A (zh) * | 2018-12-29 | 2019-05-03 | 深圳Tcl数字技术有限公司 | Linux应用复用于智能系统的方法、智能电视及存储介质 |
CN110618876A (zh) * | 2019-03-21 | 2019-12-27 | 天津麒麟信息技术有限公司 | 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法 |
CN111625246A (zh) * | 2020-05-15 | 2020-09-04 | 武汉蓝星科技股份有限公司 | 一种Linux-Android终端双系统的桌面管理方法 |
-
2021
- 2021-11-09 CN CN202111318558.0A patent/CN114020414B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876906A (zh) * | 2010-03-31 | 2010-11-03 | 北京播思软件技术有限公司 | 一种利用Linux应用在Android系统中运行的方法及装置 |
CN105183551A (zh) * | 2015-09-10 | 2015-12-23 | 电子科技大学 | 基于Linux容器技术的多Android系统之间切换方法 |
CN105204913A (zh) * | 2015-10-20 | 2015-12-30 | 福建升腾资讯有限公司 | 一种在Android操作系统上运行Linux应用程序的方法及系统 |
WO2018028055A1 (zh) * | 2016-08-10 | 2018-02-15 | 北京奇虎科技有限公司 | 在Windows系统上运行Android应用程序的方法及装置 |
CN107066266A (zh) * | 2017-03-22 | 2017-08-18 | 北京潘达互娱科技有限公司 | 安卓应用中支持Unity的数据处理方法及装置 |
CN108062237A (zh) * | 2017-11-23 | 2018-05-22 | 上海博泰悦臻电子设备制造有限公司 | Linux系统和Android系统的兼容方法及系统、存储介质及车载终端 |
CN108170503A (zh) * | 2018-01-24 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 一种跨系统运行安卓应用的方法、终端及存储介质 |
CN109714642A (zh) * | 2018-12-29 | 2019-05-03 | 深圳Tcl数字技术有限公司 | Linux应用复用于智能系统的方法、智能电视及存储介质 |
CN110618876A (zh) * | 2019-03-21 | 2019-12-27 | 天津麒麟信息技术有限公司 | 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法 |
CN111625246A (zh) * | 2020-05-15 | 2020-09-04 | 武汉蓝星科技股份有限公司 | 一种Linux-Android终端双系统的桌面管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114020414A (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11556348B2 (en) | Bootstrapping profile-guided compilation and verification | |
CN107678752B (zh) | 一种面向异构集群的任务处理方法及装置 | |
CN112085217B (zh) | 部署人工智能服务的方法、装置、设备及计算机介质 | |
GB2589658A (en) | Method and apparatus for running an applet | |
CN106170763B (zh) | 一种软件校验方法和装置 | |
CN113704665B (zh) | 动态服务发布方法、装置、电子设备及存储介质 | |
CN113238929B (zh) | 基于Mock数据的代码测试方法、装置、电子设备及存储介质 | |
CN113110963A (zh) | 业务处理方法、业务处理装置、电子设备及可读存储介质 | |
CN113806434B (zh) | 大数据处理方法、装置、设备及介质 | |
CN114020414B (zh) | Android系统与底层Linux共生方法、装置、电子设备及存储介质 | |
CN112363938A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN109150956A (zh) | 一种推送sdk的实现方法、装置、设备和计算机存储介质 | |
CN114006885A (zh) | 一种基于智能设备的数据采集方法、装置及电子设备 | |
CN112486490B (zh) | 前端代码打包方法、装置、电子设备及存储介质 | |
CN112579452A (zh) | 软件自动化测试方法、装置、设备及存储介质 | |
CN113326098B (zh) | 支持kvm虚拟化与容器虚拟化的云管平台 | |
CN115080899A (zh) | 交互式子网页启动方法、装置、设备及存储介质 | |
CN112698945A (zh) | 基于多模型的资源分配方法、装置、电子设备及存储介质 | |
CN112637280B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN114650436B (zh) | 基于后台服务的遥控方法、装置、设备及介质 | |
CN113608779B (zh) | 服务接口配置方法、装置、设备及存储介质 | |
CN113032003B (zh) | 开发文件导出方法、装置、电子设备及计算机存储介质 | |
CN114374727B (zh) | 基于人工智能的数据调用方法、装置、电子设备及介质 | |
CN112988528B (zh) | 日志处理方法、装置及容器组 | |
US8555046B2 (en) | Computer system and its HW abstraction method |
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 |