CN112612536B - 基于Linux系统中Android应用程序控制摄像的方法及装置 - Google Patents

基于Linux系统中Android应用程序控制摄像的方法及装置 Download PDF

Info

Publication number
CN112612536B
CN112612536B CN202011474329.3A CN202011474329A CN112612536B CN 112612536 B CN112612536 B CN 112612536B CN 202011474329 A CN202011474329 A CN 202011474329A CN 112612536 B CN112612536 B CN 112612536B
Authority
CN
China
Prior art keywords
application program
operating system
linux operating
android application
camera shooting
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
Application number
CN202011474329.3A
Other languages
English (en)
Other versions
CN112612536A (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 CN202011474329.3A priority Critical patent/CN112612536B/zh
Priority to PCT/CN2021/080427 priority patent/WO2022126876A1/zh
Publication of CN112612536A publication Critical patent/CN112612536A/zh
Application granted granted Critical
Publication of CN112612536B publication Critical patent/CN112612536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/617Upgrading or updating of programs or applications for camera control

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Studio Devices (AREA)

Abstract

本发明提供了一种基于Linux操作系统中Android应用程序控制摄像的方法,包括:获取所述基于Linux操作系统中Android应用程序的摄像功能;设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求;共享所述Linux操作系统摄像头拍摄的内容给所述Android应用程序。通过Android应用程序摄像功能对应的硬件抽象层的适配和优化,使得Android应用程序能够控制Linux端的摄像头,提升了用户体验,保证了系统稳定性。

Description

基于Linux系统中Android应用程序控制摄像的方法及装置
技术领域
本发明涉及Linux操作系统技术领域,尤其是涉及一种基于Linux系统中Android应用程序控制摄像的方法及装置。
背景技术
随着国家对信息网络安全的重视,越来越多的操作系统开始考虑兼容性和安全性。Linux系统在由于其安全机制,常常作为安全性能高的操作系统使用;作为基于Linux内核发展而来的Android系统,是目前移动终端市场中市场份额最高的操作系统,在移动终端领域具有极好的生态环境。因此Android应用生态在Linux操作系统上的兼容成为了近期研究热点。国内外许多研究人员正在尝试将Android运行环境迁移到Linux操作系统平台以实现Android应用程序在Linux操作系统上兼容、支持的效果。
近年来,终端消费者日益增长的线上社交、商务沟通、网络购物等对摄像功能的需求也是越来越多,因此在Linux操作系统上的兼容的Android应用程序如何使用Linux操作系统的摄像头或其他摄像设备成为亟需解决的技术问题。
发明内容
本发明的目的在于提供一种基于Linux操作系统中Android应用程序控制摄像的方法和装置,解决了现有技术中存在的Android应用程序不能控制Linux操作系统摄像头的技术问题。
第一方面,基于Linux操作系统中Android应用程序控制摄像的方法,包括以下步骤:S101,获取所述基于Linux操作系统中Android应用程序的摄像功能;S102,设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求;S103,共享所述Linux操作系统摄像头拍摄的内容给所述Android应用程序。
进一步的,设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求,包括:配置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的摄像内核驱动要求。
进一步的,设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求,还包括:优化所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求。
进一步的,配置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的摄像内核驱动要求,包括:S201,获取所述Linux操作系统的摄像内核驱动适配文件;S202,将所述Linux操作系统的摄像内核驱动适配文件配置到所述Android系统中,在所述Android系统中生成适配库;S203,所述Android应用程序通过所述生成的适配库来控制所述Linux操作系统的摄像头。
进一步的,将所述Linux操作系统的摄像内核驱动适配文件配置到所述Android系统中,并在所述Android应用程序所在系统中生成适配库,具体为:S301,将Linux操作系统中摄像设备节点映射到所述Android系统中;S302,将所述Linux操作系统的摄像内核驱动适配文件相关代码移植到所述Android系统中;S303,生成所述Android应用程序硬件抽象层的内核驱动适配库。进一步的,所述Linux操作系统的摄像内核驱动适配文件为V4L2驱动文件。
进一步的,所述Android应用程序通过所述生成的适配库来控制所述Linux操作系统的摄像,具体为:S401,所述Android应用程序通过生成的适配库控制所述Linux操作系统的摄像头;S402,所述适配库从所述Linux操作系统驱动中获取的摄像头数据回传给Android应用程序。
进一步的所述优化所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求,包括以下步骤:S501,管理所述Android应用程序摄像参数,其中所述摄像参数至少包括摄像头的数量、切换、成像方向的其中一种;S502,在关闭所述Android应用程序摄像时释放存储于所述摄像头中的资源。
第二方面,本发明还提供一种基于Linux操作系统中Android应用程序控制摄像的装置,所述装置包括:获取模块,所述获取模块用于获取所述基于Linux操作系统中Android应用程序的摄像功能;设置模块,所述设置模块用于设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求;共享模块,所述共享模块用于共享所述Linux操作系统摄像头拍摄的内容给所述Android应用程序。
进一步的,所述设置模块还包括:配置模块,所述配置模块用于配置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的摄像内核驱动要求;优化模块,所述优化模块用于优化所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求。
进一步的,所述配置模块还包括:生成模块,当所述获取模块将获取的所述Linux操作系统的摄像内核驱动适配文件通过所述配置模块配置到所述Android系统后,所述生成模块用于在所述Android系统中生成适配库;控制模块,所述控制模块用于将所述Android应用程序通过所述生成的适配库来控制所述Linux操作系统的摄像头。
进一步的,所述优化模块还包括:管理模块,所述管理模块用于管理所述Android应用程序摄像参数,其中所述摄像参数至少包括摄像头的数量、切换、成像方向的其中一种;释放模块,所述释放模块用于在关闭所述Android应用程序摄像时释放存储于所述摄像头中的资源。
相应的,本发明还提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序;以及一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令。
本发明提供的一种基于Linux操作系统中Android应用程序控制摄像的方法和装置,通过Android应用程序摄像功能对应的硬件抽象层的适配,使得Android应用程序能够控制Linux端的摄像头,在不影响Linux系统使用摄像头的同时满足了Android应用程序对摄像头的调用,使Android应用程序运行在Linux操作系统上,提升了用户体验,保证了系统稳定性,而且通过对Android应用程序摄像功能对应的硬件抽象层的优化,更好的提高了操作平台的稳定性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的基于Linux操作系统中Android应用程序控制摄像的方法;
图2为本发明实施例一提供的基于Linux操作系统中Android应用程序控制摄像的方法;
图3为本发明实施例一提供的基于Linux操作系统中Android应用程序控制摄像的方法;
图4为本发明实施例一提供的基于Linux操作系统中Android应用程序控制摄像的方法;
图5为本发明实施例二提供的基于Linux操作系统中Android应用程序控制摄像的方法;
图6为本发明实施例二提供的基于Linux操作系统中Android应用程序控制摄像的方法;
图7为本发明实施例三提供的基于Linux操作系统中Android应用程序控制摄像的装置;
图8为本发明实施例四提供的基于Linux操作系统中Android应用程序控制摄像的一种设备。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供的基于Linux操作系统中Android应用程序控制摄像的方法,其中Android操作系统与Linux操作系统运行于同一平台,如PC。如图1所示,所述基于Linux操作系统中Android应用程序控制摄像的方法,包括:
S101,获取所述基于Linux操作系统中Android应用程序的摄像功能;
S102,设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求;
S103,共享所述Linux操作系统摄像头拍摄的内容给所述Android应用程序。
具体的,步骤S101,打开Android应用程序,调取Android应用程序的摄像功能,其中调取Android应用程序的摄像功能是指开启Linux操作系统中的摄像头。
具体的,步骤S102,因为Android操作系统和Linux操作系统是独立的两个操作系统,其用Android操作系统的应用程序打开Linux操作系统的摄像头是需要重新设置Android应用程序摄像功能对应的硬件抽象层,其设置后的硬件抽象层需要符合所述Linux操作系统的驱动要求。
如图2所示,设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求为:所述Android应用程序摄像功能对应的硬件抽象层符合所述Linux操作系统的摄像内核驱动要求,具体操作包括以下步骤:
S201,获取所述Linux操作系统的摄像内核驱动适配文件;
S202,将所述Linux操作系统的摄像内核驱动适配文件配置到所述Android系统中,在所述Android系统中生成适配库;
S203,所述Android应用程序通过所述生成的适配库来控制所述Linux操作系统的摄像头。
具体的,步骤S201中所述Linux操作系统的摄像内核驱动适配文件为V4L2驱动文件,即Linux操作系统视频设备驱动文件,Linux操作系统的摄像头驱动是基于V4L2框架进行编写的。
具体的,步骤S202中当获取V4L2驱动文件后,将V4L2驱动文件配置到Android系统中,生成适配库。如图3所示,具体方法为:
S301,将Linux操作系统中摄像设备节点映射到所述Android系统中;
S302,将所述Linux操作系统的摄像内核驱动适配文件相关代码移植到所述Android系统中;
S303,生成所述Android应用程序硬件抽象层的内核驱动适配库。
通过将Linux操作系统的摄像设备节点,即用V4L2驱动文件dev/video映射到容器中的Android系统,在Android系统摄像功能硬件设备层,即HAL层适配处理,对接到AndroidCamera子系统,进而让Android应用程序通过Linux操作系统驱动控制摄像头并获取图像数据。而且Linux操作系统摄像头架构保持不变,上层应用依旧通过原有摄像头子系统对接Linux内核驱动。
具体的,步骤S203中所述Android应用程序通过所述生成的适配库来控制所述Linux操作系统的摄像头,如图4所示,具体步骤为:
S401,所述Android应用程序通过生成的适配库控制所述Linux操作系统的摄像头;
S402,所述适配库从所述Linux操作系统驱动中获取的摄像头数据回传给Android应用程序,其中所述适配库从驱动中获得的摄像头数据通过层层回调回传给Android应用程序。
这样一来Linux和Android两个系统无缝对接,共享同一个摄像头,实现了Android兼容环境下运行的Android App能够正常操作和使用摄像头的目的。
本发明实施例一提供的基于Linux操作系统中Android应用程序控制摄像的方法,通过Android应用程序摄像功能对应的硬件抽象层的适配,使得Android应用程序能够控制Linux端的摄像头,在不影响Linux系统使用摄像头的同时满足了Android应用程序对摄像头的调用,使Android应用程序运行在Linux操作系统上,提升了用户体验,保证了系统稳定性。
实施例二
本发明实施例二提供的基于Linux操作系统中Android应用程序控制摄像的方法,其中Android操作系统与Linux操作系统运行于同一平台,如PC。如图5所示,设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求,还包括:优化所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求,具体包括以下步骤:
S501,管理所述Android应用程序摄像参数,其中所述摄像参数至少包括摄像头的数量、切换、成像方向的其中一种;
S502,在关闭所述Android应用程序摄像时释放存储于所述摄像头中的资源。
具体的,在步骤S501中,对所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求管理,包括对所述Android应用程序摄像功能对应的硬件抽象层参数进行管理,主要是对一个或多个Linux操作系统的摄像头分别设置Camera id,根据Camera id来统一管理摄像头的数量、切换或成像方向一种或多种。
所述Android应用程序摄像功能对应的硬件抽象层(HAL层)主要包括四个功能类:CameraFactory管理类、CameraHardware抽象实现类、V4L2Camera驱动设备封装类、CameraParameters摄像头参数封装类,形成了一个整体,共同完成Android应用程序对Linux操作系统摄像头驱动的调用。
CameraFactory管理类扮演着一个摄像头管理员的角色,主要负责查询主机上摄像头的个数、每个摄像头的设备路径、旋转角度和朝向等信息;
CameraHardware抽象实现类提供与众多摄像头相关的实现方法,包括获取图像格式、分辨率、帧率等信息,以及拍照、预览、录制等用户操作方法;
V4L2Camera驱动设备封装类是一个摄像头设备的封装类,提供摄像头的初始化、open、close、ioctl等对接Linux驱动的接口;
CameraParameters摄像头参数封装类封装了摄像头各类参数,以及对参数做好序列化和反序列化工作,方便其他类的调用。
当Android系统开机后会创建一个CameraFactory实例,用户有摄像头头调取相关操作时,通过JNI调用到CameraFactory管理类,进而通过CameraHardware控制V4L2Camera对摄像头执行初始化、获取图像数据、转换图像格式等工作。
具体的,在步骤S502中,在关闭所述Android应用程序摄像时释放存储于所述摄像头中的资源。在关闭Android应用程序摄像功能时,所述Android应用程序摄像功能对应的硬件抽象层(HAL层)释放所存储的所有资源。
本实施例二提供的基于Linux操作系统中Android应用程序控制摄像的方法,无需关注摄像头的型号和品牌,更充分地发挥出Android应用特性,大幅度提升了用户体验,也为Linux操作系统充分利用Android海量应用生态资源提供了更多可能。
实施例三
本发明实施例三提供的基于Linux操作系统中Android应用程序控制摄像的装置600,用于实现实施例一和实施例二提供的基于Linux操作系统中Android应用程序控制摄像的方法,如图6所示,包括:获取模块601,所述获取模块601用于获取所述基于Linux操作系统中Android应用程序的摄像功能;设置模块602,所述设置模块602用于设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求;共享模块603,所述共享模块603用于共享所述Linux操作系统摄像头拍摄的内容给所述Android应用程序。
具体的,如图7所示,在所述设置模块602用于设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求时,包含两种设置模块:配置模块701,所述配置模块701用于配置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的摄像内核驱动要求;优化模块702,所述优化模块702用于优化所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求。
其中,配置模块701中包括生成模块7011,当所述获取模块601将获取的所述Linux操作系统的摄像内核驱动适配文件通过所述配置模块配置到所述Android系统后,所述生成模块7011用于在所述Android系统中生成适配库;控制模块7012,所述控制模块7012用于将所述Android应用程序通过所述生成的适配库来控制所述Linux操作系统的摄像头。
其中,优化模块702中包含管理模块7021,所述管理模块7021用于管理所述Android应用程序摄像参数,其中所述摄像参数至少包括摄像头的数量、切换、成像方向的其中一种;释放模块7022,所述释放模块7022用于在关闭所述Android应用程序摄像时释放存储于所述摄像头中的资源。
本发明实施例三提供的基于Linux操作系统中Android应用程序控制摄像的装置,通过Android应用程序摄像功能对应的硬件抽象层的适配,使得Android应用程序能够控制Linux端的摄像头,在不影响Linux系统使用摄像头的同时满足了Android应用程序对摄像头的调用,使Android应用程序运行在Linux操作系统上,提升了用户体验,保证了系统稳定性,而且通过对Android应用程序摄像功能对应的硬件抽象层的优化,更好的提高了操作平台的稳定性。
实施例四
本发明实施例四提供的提供的一种电子设备,如图8所示,电子设备800包括存储器801、处理器802,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例提供的方法的步骤。
如图8所示,电子设备还包括:总线803和通信接口804,处理器802、通信接口804和存储器801通过总线803连接;处理器802用于执行存储器801中存储的可执行模块,例如计算机程序。
其中,存储器801可能包含高速随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口804(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线803可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器801用于存储程序,所述处理器802在接收到执行指令后,执行所述程序,前述本发明任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器802中,或者由处理器802实现。
处理器802可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器802可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器802读取存储器801中的信息,结合其硬件完成上述方法的步骤。
本发明实施例四提供的电子设备,在Linux操作系统上使用Android应用程序对摄像头的调用,提升了用户体验,保证了系统稳定性。
实施例五
对应于上述实施例的方法,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述方法的步骤。
本发明实施例五提供的计算机可读存储介质,可在Linux操作系统上使用Android应用程序对摄像头的调用,提升了用户体验,保证了系统稳定性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (12)

1.一种基于Linux操作系统中Android应用程序控制摄像的方法,其特征在于,包括以下步骤:
S101,获取所述基于Linux操作系统中Android应用程序的摄像功能;
S102,设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求;
S103,共享所述Linux操作系统摄像头拍摄的内容给所述Android应用程序;
其中,设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求,包括:配置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的摄像内核驱动要求;
配置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的摄像内核驱动要求,包括:
S201,获取所述Linux操作系统的摄像内核驱动适配文件;
S202,将所述Linux操作系统的摄像内核驱动适配文件配置到所述Android系统中,在所述Android系统中生成适配库;
S203,所述Android应用程序通过所述生成的适配库来控制所述Linux操作系统的摄像头。
2.根据权利要求1所述的基于Linux操作系统中Android应用程序控制摄像的方法,其特征在于,设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求,还包括:优化所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求。
3.根据权利要求1所述的基于Linux操作系统中Android应用程序控制摄像的方法,其特征在于,将所述Linux操作系统的摄像内核驱动适配文件配置到所述Android系统中,并在所述Android应用程序所在系统中生成适配库,具体为:
S301,将Linux操作系统中摄像设备节点映射到所述Android系统中;
S302,将所述Linux操作系统的摄像内核驱动适配文件相关代码移植到所述Android系统中;
S303,生成所述Android应用程序硬件抽象层的内核驱动适配库。
4.根据权利要求1或3所述的基于Linux操作系统中Android应用程序控制摄像的方法,其特征在于,所述Linux操作系统的摄像内核驱动适配文件为V4L2驱动文件。
5.根据权利要求1所述的基于Linux操作系统中Android应用程序控制摄像的方法,其特征在于,所述Android应用程序通过所述生成的适配库来控制所述Linux操作系统的摄像,具体为:
S401,所述Android应用程序通过生成的适配库控制所述Linux操作系统的摄像头;
S402,所述适配库从所述Linux操作系统驱动中获取的摄像头数据回传给Android应用程序。
6.根据权利要求2所述的基于Linux操作系统中Android应用程序控制摄像的方法,其特征在于,所述优化所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求,包括以下步骤:
S501,管理所述Android应用程序摄像参数,其中所述摄像参数至少包括摄像头的数量、切换、成像方向的其中一种;
S502,在关闭所述Android应用程序摄像时释放存储于所述摄像头中的资源。
7.一种基于Linux操作系统中Android应用程序控制摄像的装置,其特征在于,所述装置包括:
获取模块,所述获取模块用于获取所述基于Linux操作系统中Android应用程序的摄像功能;
设置模块,所述设置模块用于设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求;
共享模块,所述共享模块用于共享所述Linux操作系统摄像头拍摄的内容给所述Android应用程序;
其中,设置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求,包括:配置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的摄像内核驱动要求;
配置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的摄像内核驱动要求,包括:
S201,获取所述Linux操作系统的摄像内核驱动适配文件;
S202,将所述Linux操作系统的摄像内核驱动适配文件配置到所述Android系统中,在所述Android系统中生成适配库;
S203,所述Android应用程序通过所述生成的适配库来控制所述Linux操作系统的摄像头。
8.根据权利要求7所述的基于Linux操作系统中Android应用程序控制摄像的装置,其特征在于,所述设置模块还包括:
配置模块,所述配置模块用于配置所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的摄像内核驱动要求;
优化模块,所述优化模块用于优化所述Android应用程序摄像功能对应的硬件抽象层以符合所述Linux操作系统的驱动要求。
9.根据权利要求8所述的基于Linux操作系统中Android应用程序控制摄像的装置,其特征在于,所述配置模块还包括:
生成模块,当所述获取模块将获取的所述Linux操作系统的摄像内核驱动适配文件通过所述配置模块配置到所述Android系统后,所述生成模块用于在所述Android系统中生成适配库;
控制模块,所述控制模块用于将所述Android应用程序通过所述生成的适配库来控制所述Linux操作系统的摄像头。
10.根据权利要求8所述的基于Linux操作系统中Android应用程序控制摄像的装置,其特征在于,所述优化模块还包括:
管理模块,所述管理模块用于管理所述Android应用程序摄像参数,其中所述摄像参数至少包括摄像头的数量、切换、成像方向的其中一种;
释放模块,所述释放模块用于在关闭所述Android应用程序摄像时释放存储于所述摄像头中的资源。
11.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至6任一项所述的方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至6任一项所述的方法。
CN202011474329.3A 2020-12-15 2020-12-15 基于Linux系统中Android应用程序控制摄像的方法及装置 Active CN112612536B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011474329.3A CN112612536B (zh) 2020-12-15 2020-12-15 基于Linux系统中Android应用程序控制摄像的方法及装置
PCT/CN2021/080427 WO2022126876A1 (zh) 2020-12-15 2021-03-12 基于Linux系统中Android应用程序控制摄像的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011474329.3A CN112612536B (zh) 2020-12-15 2020-12-15 基于Linux系统中Android应用程序控制摄像的方法及装置

Publications (2)

Publication Number Publication Date
CN112612536A CN112612536A (zh) 2021-04-06
CN112612536B true CN112612536B (zh) 2022-11-18

Family

ID=75234107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011474329.3A Active CN112612536B (zh) 2020-12-15 2020-12-15 基于Linux系统中Android应用程序控制摄像的方法及装置

Country Status (2)

Country Link
CN (1) CN112612536B (zh)
WO (1) WO2022126876A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342422A (zh) * 2021-06-29 2021-09-03 技德技术研究所(武汉)有限公司 一种Linux兼容Android的多应用访问摄像头方法及装置
CN113452916A (zh) * 2021-06-29 2021-09-28 技德技术研究所(武汉)有限公司 一种Linux兼容Android的摄像头图像处理方法及装置
CN113448648A (zh) * 2021-06-29 2021-09-28 技德技术研究所(武汉)有限公司 一种Linux兼容Android的访问摄像头方法及装置
CN114035976A (zh) * 2021-10-20 2022-02-11 北京鲸鲮信息系统技术有限公司 一种粘贴板共享方法、装置、设备、介质和产品
CN114036369B (zh) * 2021-10-20 2024-04-30 北京字节跳动网络技术有限公司 浏览器访问应用的方法、装置、设备、介质和产品
CN113971048A (zh) * 2021-10-29 2022-01-25 Oppo广东移动通信有限公司 应用程序的启动方法及装置、存储介质及电子设备
CN114047964B (zh) * 2022-01-13 2022-05-10 麒麟软件有限公司 一种在Linux兼容Android系统时使Android支持摄像头热插拔的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598253A (zh) * 2015-02-17 2015-05-06 武汉大学 一种在Android内核层实现GNSS/INS组合导航的方法
CN105204913A (zh) * 2015-10-20 2015-12-30 福建升腾资讯有限公司 一种在Android操作系统上运行Linux应用程序的方法及系统
CN107102853A (zh) * 2017-03-26 2017-08-29 安徽继远软件有限公司 一种定制化移动操作系统兼容Android应用的方法
CN109032602A (zh) * 2018-06-07 2018-12-18 山东超越数控电子股份有限公司 一种软件自动适配操作系统的方法
CN109388473A (zh) * 2018-09-19 2019-02-26 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于移动操作系统的Android兼容层实现方法和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147725B (zh) * 2011-03-29 2013-09-18 福州瑞芯微电子有限公司 一种Android中支持双摄像头的方法
CN105376494B (zh) * 2015-11-30 2018-11-23 诚迈科技(南京)股份有限公司 一种基于安卓系统支持多路usb摄像头的方法
CN106445630A (zh) * 2016-08-10 2017-02-22 北京奇虎科技有限公司 Android模拟器及实现Android模拟器的方法
CN107659768A (zh) * 2017-08-08 2018-02-02 珠海全志科技股份有限公司 一种基于Android多应用共享摄像头的系统及方法
CN108304247A (zh) * 2017-12-19 2018-07-20 华为技术有限公司 访问摄像头的方法和装置、服务器、可读存储介质
CN108989680B (zh) * 2018-08-03 2020-08-07 珠海全志科技股份有限公司 摄像进程启动方法、计算机装置及计算机可读存储介质
CN110515667B (zh) * 2019-08-26 2023-04-11 武汉蓝星科技股份有限公司 一种基于linux内核的终端双系统显示切换方法及终端双系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598253A (zh) * 2015-02-17 2015-05-06 武汉大学 一种在Android内核层实现GNSS/INS组合导航的方法
CN105204913A (zh) * 2015-10-20 2015-12-30 福建升腾资讯有限公司 一种在Android操作系统上运行Linux应用程序的方法及系统
CN107102853A (zh) * 2017-03-26 2017-08-29 安徽继远软件有限公司 一种定制化移动操作系统兼容Android应用的方法
CN109032602A (zh) * 2018-06-07 2018-12-18 山东超越数控电子股份有限公司 一种软件自动适配操作系统的方法
CN109388473A (zh) * 2018-09-19 2019-02-26 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于移动操作系统的Android兼容层实现方法和系统

Also Published As

Publication number Publication date
WO2022126876A1 (zh) 2022-06-23
CN112612536A (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
CN112612536B (zh) 基于Linux系统中Android应用程序控制摄像的方法及装置
JP6912583B2 (ja) サービス処理方法および装置
CN109068059B (zh) 一种调用相机的方法、移动终端及存储介质
US11909812B2 (en) Application control method and apparatus, electronic device, and storage medium
CN113727035B (zh) 图像处理方法、系统、电子设备及存储介质
WO2012142798A1 (zh) 一种应用程序加载的方法及装置
CN114422618B (zh) 基于云原生的iot平台协议适配方法、装置、设备及介质
CN114125284A (zh) 图像处理方法、电子设备及存储介质
WO2023029961A1 (zh) 任务执行方法、系统、电子设备及计算机存储介质
CN108495043A (zh) 图像数据处理方法及相关装置
CN112764823B (zh) Nvr系统的启动方法、主机操作系统和数据通信方法
CN111007932A (zh) 温控系统、基于温控系统的温控方法及电子设备
CN111259441B (zh) 设备控制方法、装置、存储介质及电子设备
CN110753040B (zh) 一种请求处理的方法及装置
CN113347450A (zh) 一种多应用共享音视频设备的方法、装置和系统
CN117008934A (zh) 自动制作信创操作系统镜像的方法、装置、设备及介质
WO2021097683A1 (zh) 安卓系统启动的方法、装置、设备及存储介质
WO2015184902A1 (zh) 一种智能分屏的并发处理方法及相应的智能终端
RU2352977C2 (ru) Система для управления ресурсом камеры в портативном устройстве
CN115061796A (zh) 子任务之间调用的执行方法、系统及电子设备
CN114968158A (zh) 一种应用投屏方法、装置、电子设备及存储介质
CN115617537A (zh) 一种数据传输方法及装置、存储介质
CN118076975A (zh) 数据处理方法、数据处理系统、电子设备及存储介质
US9967410B2 (en) Mobile device, computer device and image control method thereof for editing image via undefined image processing function
CN111752699B (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