An input device isolation system and method
Patent Information
- Application Number
- CN202310536245.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-12
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2043-05-12
AI Technical Summary
然而,由于现有的系统框架是基于原生Android系统发展而来,只具有Android容器系统的输入事件处理框架,若不做隔离处理,现有的系统框架不能实现Android容器系统和Linux容器系统对应的两套输入事件处理框架同时使用
本发明将增加空虚函数的安卓输入库作为Android容器系统和Linux容器系统的共享库,将Android容器系统的输入事件处理框架在Native层的input服务抽离出来并封装成动态库,以作为Linux容器系统对应的接口函数;从而在不影响Android容器系统原有的输入事件处理框架的基础上,对Android容器系统和Linux容器系统各自的输入设备进行隔离处理,避免不同容器系统间的相互干扰,达到允许两套输入事件处理框架同时正常使用的目的。
Smart Images

Figure CN116521319B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of input device technology, and in particular to an input device isolation system and method. Background Technology
[0002] Existing smart devices typically run applications on the Android system. As user demands for smart device functionality increase, it becomes necessary to develop a Linux system on top of Android to support these new features. A common implementation approach is to run containers of different operating systems / applications on top of the kernel layer of the native Android system. For example, running containers of Android systems / applications on top of the kernel layer enables the operation of the central control side of an in-vehicle system, while running containers of Linux systems / applications enables the operation of the instrument panel side of the in-vehicle system.
[0003] Different operating systems / applications have their own input devices, requiring different input event handling frameworks to handle the input events corresponding to each device. However, since the existing system framework is based on the native Android system and only has the input event handling framework of the Android container system, without isolation, the existing system framework cannot simultaneously use the two sets of input event handling frameworks corresponding to the Android container system and the Linux container system.
[0004] Therefore, without affecting the original input event handling framework of the Android container system, how to isolate the input devices of the Android container system and the Linux container system so that the two input device handling frameworks can be used normally at the same time, and ensure that the Android container system and the Linux container system can process their respective input events normally at the same time, has become an urgent technical problem to be solved. Summary of the Invention
[0005] The present invention aims to at least partially solve one of the technical problems in the related art.
[0006] Therefore, the first objective of this invention is to propose an input device isolation system. This system uses an Android input library with added virtual functions as a shared library for both the Android and Linux container systems. It extracts the input service from the native layer of the Android container system's input event handling framework and encapsulates it into a dynamic library. This dynamic library then serves as the corresponding interface function for the Linux container system. This isolates the input devices of both the Android and Linux container systems, allowing both input event handling frameworks to function normally simultaneously without affecting the original Android system's input event handling framework, thus avoiding mutual interference between different container systems.
[0007] The second objective of this invention is to provide an input device isolation method.
[0008] To achieve the above objectives, a first aspect of the present invention proposes an input device isolation system, comprising a shared library configuration unit, a Linux input event management unit, and a naming rule configuration unit. The shared library configuration unit is used to use an Android input library with added empty functions as a shared library for both the Android container system and the Linux container system. The empty functions are used to ensure that the input service in the shared library provides an empty response when processing input events corresponding to the Linux container system. The Linux input event management unit is used to extract the input service from the Native layer of the Android container system's input event processing framework, encapsulate it into a dynamic library, and use it as an interface function for the Linux container system to obtain input events corresponding to the Linux container system. The naming rule configuration unit is used to pre-configure the naming rules for the input devices, so that each container system can configure the usage permissions of the corresponding input devices according to the naming rules.
[0009] In one specific embodiment of the first aspect, the input device isolation system further includes an allocation unit, which is configured to: when a newly connected input device is detected, assign a name to the newly connected input device according to the naming rules of the input device; wherein the name of the input device includes a system identifier or a guide with a system identifier; generate a device node corresponding to the corresponding input device; obtain the name of each input device through the Ioctl function, and configure the permissions of each container system to use each input device according to the name of each input device.
[0010] In a specific embodiment of the first aspect, the input device isolation system further includes a system attribution determination unit, which is configured to: when the Android container system and the Linux container system are running simultaneously and a new input event occurs, call the shared library and, based on the naming rules of the input device, determine whether the name of the input device corresponding to the new input event matches the Android container system; if the name of the corresponding input device matches the Android container system, determine that the system attribution of the new input event is the Android container system; if the name of the corresponding input device does not match the Android container system, determine that the system attribution of the new input event is the Linux container system.
[0011] In a specific embodiment of the first aspect, the input device isolation system further includes an event reporting unit, which is used to: when it is determined that a newly detected input event belongs to the Android container system, upload the corresponding input event to the Android container system through the shared library, and the user applications in the Android container system implement the Input service through the Native layer and Framework layer of the shared library; when it is determined that a newly detected input event belongs to the Linux container system, upload the corresponding input event to the dynamic library through the shared library, and the dynamic library uploads the new input event to the user applications in the Linux container system for use through a pre-configured registration callback function.
[0012] In one specific embodiment of the first aspect, the input device isolation system further includes a function symbol encapsulation unit, which is used to: encapsulate the function symbols in the dynamic library into a static library using the dynamic library loading principle, so as to provide function calls for the Linux container system to develop input device-related applications in the absence of a system SDK.
[0013] To achieve the above objectives, a second aspect of the present invention proposes an input device isolation method, comprising the following steps: adding an empty function to the Android input library of the Android container system, and using the Android input library with the added empty function as a shared library between the Android container system and the Linux container system; wherein, the empty function is used to make the input service in the shared library make an empty response when processing the input event corresponding to the Linux container system; extracting the input service of the input event processing framework of the Android container system at the Native layer, encapsulating it into a dynamic library, and using it as the interface function corresponding to the Linux container system to obtain the input event corresponding to the Linux container system; and pre-configuring the naming rules of the input devices so that each container system can configure the usage permissions of the corresponding input devices according to the naming rules.
[0014] In a specific embodiment of the second aspect, the input device isolation method further performs the following: when a newly connected input device is detected, assigning a name to the newly connected input device according to the naming rules of the input device; wherein the name of the input device includes the system identifier or a guide with the system identifier; generating a device node corresponding to the corresponding input device; obtaining the name of each input device through the Ioctl function, and configuring the permissions of each container system to use each input device according to the name of each input device.
[0015] In a specific embodiment of the second aspect, the input device isolation method further performs the following: when the Android container system and the Linux container system are running simultaneously and a new input event occurs, the shared library is invoked and, based on the naming rules of the input device, it is determined whether the name of the input device corresponding to the new input event matches the Android container system; if the name of the corresponding input device matches the Android container system, the system to which the new input event belongs is determined to be the Android container system; if the name of the corresponding input device does not match the Android container system, the system to which the new input event belongs is determined to be the Linux container system.
[0016] In a specific embodiment of the second aspect, the input device isolation method further performs the following: when it is determined that a newly detected input event belongs to the Android container system, the corresponding input event is uploaded to the Android container system through the shared library, and the user applications in the Android container system implement the Input service through the Native layer and Framework layer of the shared library; when it is determined that a newly detected input event belongs to the Linux container system, the corresponding input event is uploaded to the dynamic library through the shared library, and the dynamic library uploads the new input event to the user applications in the Linux container system for use through a pre-configured registration callback function.
[0017] In a specific embodiment of the second aspect, the input device isolation method further performs the following: using the dynamic library loading principle, encapsulating the function symbols in the dynamic library into a static library, providing function calls for the Linux container system to develop input device-related applications without a system SDK.
[0018] The beneficial effects of this invention are: This invention uses an Android input library with added virtual functions as a shared library for both the Android and Linux container systems. It extracts the input service from the native layer of the Android container system's input event handling framework and encapsulates it into a dynamic library, serving as the corresponding interface function for the Linux container system. This isolates the input devices of both the Android and Linux container systems without affecting the original input event handling framework of the Android container system, preventing interference between the different container systems and allowing both input event handling frameworks to function normally simultaneously. Attached Figure Description
[0019] Figure 1 A block diagram illustrating an input device isolation system provided in an embodiment of the present invention. Figure 1 ; Figure 2 A block diagram illustrating an input device isolation system provided in an embodiment of the present invention. Figure 2 ; Figure 3 A block diagram illustrating an input device isolation system provided in an embodiment of the present invention. Figure 3 ; Figure 4 A block diagram illustrating an input device isolation system provided in an embodiment of the present invention. Figure 4 ; Figure 5 A block diagram illustrating an input device isolation system provided in an embodiment of the present invention. Figure 5 ; Figure 6 This is a schematic flowchart of an input device isolation method provided in an embodiment of the present invention; Figure 7 This is a schematic diagram of an input device isolation system provided in an embodiment of the present invention. Detailed Implementation
[0020] To better understand the above-mentioned objects, features, and advantages of the present invention, the present invention will be described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that, unless otherwise specified, the embodiments of the present invention and the features thereof can be combined with each other.
[0021] Example 1 An input device isolation system according to an embodiment of the present invention is described below with reference to the accompanying drawings.
[0022] like Figure 1 As shown, the input device isolation system includes a shared library configuration unit, a Linux input event management unit, and a naming rule configuration unit.
[0023] The shared library configuration unit is used to use the Android input library with added empty functions as a shared library for the Android container system and the Linux container system; wherein, the empty functions are used to make the input service in the shared library make an empty response when processing the corresponding input event in the Linux container system; The aforementioned Android input library is a .so library of the input module in the Android system's Native layer, implemented in C++. The aforementioned shared library Android input libs is an improvement on the Android input library by adding virtual functions, including libinput.so and libinput reader.so.
[0024] The aforementioned empty function ensures that when the system uses the input event handling framework of the Linux container system to handle input events, it does not affect the input event handling framework of the native Android system. The input event handling framework of the aforementioned Android container system includes a Native layer.
[0025] The Linux input event management unit is used to extract the input service of the Android container system's input event processing framework in the Native layer, encapsulate it into a dynamic library, and use it as the corresponding interface function of the Linux container system to obtain the input events corresponding to the Linux container system. It should be noted that the native Android system's Input service spans both the Native and Framework layers. In this embodiment, when building the input event handling framework for the Linux container system, the framework layer-related logic is stripped away, and the Android container system's input event handling framework's Input service in the Native layer is extracted and encapsulated into a dynamic library, Libfission_input.so, to serve as the application library for the Linux container system. This library retrieves input events that conform to the Linux container system's naming rules, thereby isolating the differences between systems. Furthermore, the Linux container system directly calls the dynamic library Libfission_input.so to obtain the corresponding input events, simplifying the user experience.
[0026] The naming rule configuration unit is used to pre-configure the naming rules for input devices, so that each container system can configure the usage permissions of the corresponding input devices according to the naming rules; The above naming rules are based on the system to which the input device belongs, and are used to name the input device. An input device name is not allowed to contain two or more system identifiers at the same time. For example, input devices belonging to the Android container system are named Android_*, and input devices belonging to the Linux container system are named Linux_*.
[0027] It should be noted that pre-configuring the naming rules for input devices can lay the foundation for determining the system to which the input device belongs based on its name.
[0028] It is understandable that since each container system obtains input events through the shared library Android input libs, the amount of information obtained by the input events in the Linux container system and the Android container system is consistent. That is, the data structure corresponding to the input events obtained by each container system is the same, so that the same data structure can be used directly when different container systems interact.
[0029] An input device isolation system according to an embodiment of the present invention builds an input event processing framework for a Linux container system based on the input event processing framework of an Android container system, and obtains input event upload channels corresponding to the Android container system and the Linux container system respectively; By pre-configuring the naming rules for input devices, the shared library can automatically distinguish between input events corresponding to the Android container system and input events corresponding to the Linux container system. Therefore, this invention can effectively isolate and use input device resources between different container systems, avoiding mutual interference between different container systems; for example, it can be applied to a dual-system vehicle to meet the processing needs of the instrument panel and the central control panel in the dual-system vehicle to handle input events separately.
[0030] In some embodiments, as shown in the appendix Figure 2 As shown, the input device isolation system further includes an allocation unit, which is used for: When a newly connected input device is detected, a name is assigned to the newly connected input device according to the naming rules of the input device, so that the name of the input device includes the system identifier or has a guide to the system identifier; Generate the device node corresponding to the input device; The Ioctl function is used to obtain the name of each input device, and the permissions for each container system to use each input device are configured based on the name of each input device. The above configuration of permissions for each container system to use each input device based on the name of each input device means that: when the name of an input device contains the Android container system identifier or has a system identifier, the input device is configured to be used only by the Android container system; when the name of an input device contains the Linux container system identifier or has a system identifier, the input device is configured to be used only by the Linux container system.
[0031] It should be noted that, based on the establishment of an isolated system that allows two sets of input event processing frameworks to be used normally at the same time, this implementation also determines the input devices corresponding to the Android container system and the Linux container system according to the names of each input device, thereby determining the system to which the corresponding input event belongs. This lays the foundation for each container system to process the corresponding input event separately and avoid mutual interference between different container systems.
[0032] In some embodiments, as shown in the appendix Figure 3 As shown, the input device isolation system further includes a home system determination unit, which is used for: When the Android container system and the Linux container system are running simultaneously and a new input event occurs, the shared library is invoked and, based on the naming rules of the input device, it is determined whether the name of the input device corresponding to the new input event matches the Android container system. If the name of the corresponding input device matches the Android container system, then the system to which the new input event belongs is determined to be the Android container system; If the name of the corresponding input device does not match the Android container system, the system to which the new input event belongs is determined to be the Linux container system.
[0033] Specifically, Linux container systems and / or Android container systems involve input events during runtime, including physical input operations such as mouse and keyboard input, as well as non-physical input operations such as touch and voice input.
[0034] It should be noted that during system initialization, the user space can obtain the names of each input device through the Ioctl function and determine whether the name of each input device contains the Android container system identifier or a pointer with the Android container system identifier. If it contains the Android container system identifier or a pointer with the Android container system identifier, the input events corresponding to these input devices are attributed to the Android container system. If it does not contain the Android container system identifier and does not have a pointer with the Android container system identifier, the corresponding input events are attributed to the Linux container system.
[0035] It should also be noted that determining whether a new input event belongs to the Android container system or the Linux container system based on the name of the input device not only does not change or affect the original Input subsystem framework of the Android system, but is also quick and convenient. After determining the system to which a new input event belongs, this embodiment also distributes the new input event to the input event processing framework of the system to which it belongs for processing. This achieves effective isolation and independent use of input device resources between different container systems, avoids mutual interference between different container systems, and enables the Linux container system to process input events normally without affecting the original input event processing framework of the Android container system.
[0036] In some embodiments, as shown in the appendix Figure 4 As shown, the input device isolation system further includes an event reporting unit, which is used for: When it is determined that a new input event belongs to the Android container system, the corresponding input event is uploaded to the Android container system through the shared library. User Applications in the Android container system implement the Input service through the Native layer and Framework layer of the shared library. When it is determined that a new input event belongs to the Linux container system, the corresponding input event is uploaded to the dynamic library through the shared library. The dynamic library then uses a pre-configured registration callback function to upload the new input event to the user Applications in the Linux container system for use.
[0037] The aforementioned User Applications, Native layer, Framework layer, and Input service are all existing technologies and will not be elaborated upon here.
[0038] It should be noted that by configuring the permissions of each container system to use each input device according to the name of each input device by the allocation unit, and by determining the system to which each input event belongs by the system determination unit, the event reporting unit can enable the Android input event processing framework system to only report input events corresponding to input devices belonging to the Android container system, and the Linux input event processing framework to only report input events corresponding to input devices belonging to the Linux container system, thereby achieving the isolation of input devices in each container system and the separate processing of input events.
[0039] In some embodiments, as shown in the appendix Figure 5 As shown, the input device isolation system further includes a function symbol encapsulation unit, which is used for: Using the dynamic library loading principle, the function symbols in the dynamic library are encapsulated into a static library, providing function calls for developing input device-related applications in Linux container systems without a system SDK.
[0040] It's important to note that because the input device handling framework of the Linux container system is implemented on top of the input device handling framework of the Android container system, Input applications under the Linux container system can be compiled using the native development kit (NDK). By using the dynamic library loading principle, the function symbols in the dynamic library `Libfission_input.so` are encapsulated into a static library, providing function calls for developing input device-related applications on the Linux container system even without a system SDK.
[0041] Example 2 Based on Embodiment 1, this embodiment describes an input device isolation method according to the present invention in conjunction with the accompanying drawings.
[0042] As attached Figure 6 As shown, the input device isolation method includes the following steps: An empty function is added to the Android input library of the Android container system, and the Android input library with the added empty function is used as a shared library between the Android container system and the Linux container system; wherein, the empty function is used to make the input service in the shared library make an empty response when processing the corresponding input event in the Linux container system; The input event handling framework of the Android container system is extracted from the input service in the Native layer and encapsulated into a dynamic library, which serves as the corresponding interface function of the Linux container system to obtain the input events of the Linux container system. The aforementioned dynamic library is used in the Linux container system to implement the functionality of interface functions, thereby enabling the transmission of input events to the Linux container system; Pre-configure the naming rules for input devices so that each container system can configure the usage permissions of the corresponding input devices according to the naming rules.
[0043] In some embodiments, the input device isolation method further performs: When a newly connected input device is detected, a name is assigned to the newly connected input device according to the naming rules of the input device, so that the name of the input device includes the system identifier or has a guide to the system identifier; Generate the device node corresponding to the input device; The Ioctl function is used to obtain the name of each input device, and based on the name of each input device, the permissions for each container system to use each input device are configured.
[0044] In some embodiments, the input device isolation method further performs: When the Android container system and the Linux container system are running simultaneously and a new input event occurs, the shared library is invoked and, based on the naming rules of the input device, it is determined whether the name of the input device corresponding to the new input event matches the Android container system. If the name of the corresponding input device matches the Android container system, then the system to which the new input event belongs is determined to be the Android container system; If the name of the corresponding input device does not match the Android container system, the system to which the new input event belongs is determined to be the Linux container system.
[0045] It should be noted that when a new input event occurs, this embodiment can use a shared library in user space to determine the system to which the new input event belongs based on the name of the input device, and load the new input event into the system to which it belongs. That is, in addition to being able to pass input events belonging to the Android container system to the Android container system, the shared library can also pass input events belonging to the Linux container system to the Linux container system, thereby realizing the reuse of the shared library and improving the reuse of existing code.
[0046] In some embodiments, the input device isolation method further performs: When it is determined that a new input event belongs to the Android container system, the corresponding input event is uploaded to the Android container system through the shared library. User Applications in the Android container system implement the Input service through the Native layer and Framework layer of the shared library. When it is determined that a new input event belongs to the Linux container system, the corresponding input event is uploaded to the dynamic library through the shared library. The dynamic library then uses a pre-configured registration callback function to upload the new input event to the user Applications in the Linux container system for use.
[0047] It should be noted that the input event handling framework of the Android container system only loads input events corresponding to the input devices belonging to the Android container system, and the input event handling framework of the Linux container system only loads input events corresponding to the input devices belonging to the Linux container system. This avoids mutual interference between the input event handling frameworks of the Linux container system and the Android container system, and thus ensures that the Android container system and the Linux container system can process their respective input events normally at the same time without affecting the original input event handling framework of the Android system.
[0048] It should be noted that, as shown in the attached document... Figure 7 As shown, during system initialization, each connected input device is detected, and corresponding device nodes are generated according to the naming rules of the input devices written in the driver code. At this time, the user space can obtain the name of each input device through the Ioctl function, and configure the usage permissions of each input device in each container system according to the name of each input device. At the same time, based on the input event processing framework of the Android container system, an input event processing framework for the Linux container system is built, and the input events corresponding to each input device are distributed to the input event processing framework of the respective system, thereby realizing the isolation of input devices and the individual processing of input events in each container system. After the Input service in user space starts, the shared library in user space listens to the device nodes. When a new input event is detected, it determines whether the corresponding input event belongs to the Android container system or the Linux container system based on the name of each input device, and then distributes the input event to the input event handling framework of the system to which it belongs for processing.
[0049] In some embodiments, the input device isolation method further performs: Using the dynamic library loading principle, the function symbols in the dynamic library are encapsulated into a static library, providing function calls for developing input device-related applications in Linux container systems without a system SDK.
[0050] Furthermore, without altering the normal handling of input events in the Android system, it supports the combined use of Android's underlying libraries by Linux container systems, enabling Linux container systems to utilize Android system events.
Claims
1. An input device isolation system, characterized in that, It includes a shared library configuration unit, a Linux input event management unit, a naming rule configuration unit, a system ownership determination unit, and an event reporting unit. The shared library configuration unit is used to add an empty function to the Android input library of the Android container system, and to use the Android input library with the added empty function as a shared library of the Android container system and the Linux container system; wherein, the empty function is used to make the input service in the shared library make an empty response when processing the corresponding input event of the Linux container system; The Linux input event management unit is used to extract the input service of the Android container system's input event processing framework in the Native layer, encapsulate it into a dynamic library, and use it as the corresponding interface function of the Linux container system to obtain the input events corresponding to the Linux container system. The naming rule configuration unit is used to pre-configure the naming rules for input devices, so that each container system can configure the usage permissions of the corresponding input devices according to the naming rules; The system attribution determination unit is used to, when the Android container system and the Linux container system are running simultaneously and a new input event occurs, call the shared library and, based on the naming rules of the input device, determine whether the name of the input device corresponding to the new input event matches the Android container system; if the name of the corresponding input device matches the Android container system, then the system attribution of the new input event is determined to be the Android container system; if the name of the corresponding input device does not match the Android container system, then the system attribution of the new input event is determined to be the Linux container system. The event reporting unit is used to upload the corresponding input event to the Android container system through the shared library when it is determined that the new input event belongs to the Android container system. The user applications in the Android container system implement the input service through the Native layer and Framework layer of the shared library. When it is determined that the new input event belongs to the Linux container system, the corresponding input event is uploaded to the dynamic library through the shared library. The dynamic library then uploads the new input event to the user applications in the Linux container system through a pre-configured registration callback function.
2. The input device isolation system as described in claim 1, characterized in that, It also includes an allocation unit, which is used for: When a newly connected input device is detected, a name is assigned to the newly connected input device according to the naming rules of the input device, so that the name of the input device includes the system identifier or has a guide to the system identifier; Generate the device node corresponding to the input device; The Ioctl function is used to obtain the name of each input device, and based on the name of each input device, the permissions for each container system to use each input device are configured.
3. The input device isolation system as described in claim 1, characterized in that, It also includes a function symbol encapsulation unit, which is used for: Using the dynamic library loading principle, the function symbols in the dynamic library are encapsulated into a static library, providing function calls for developing input device-related applications in Linux container systems without a system SDK.
4. An input device isolation method, characterized in that, Includes the following steps: An empty function is added to the Android input library of the Android container system, and the Android input library with the added empty function is used as a shared library between the Android container system and the Linux container system; wherein, the empty function is used to make the input service in the shared library make an empty response when processing the corresponding input event in the Linux container system; The input event handling framework of the Android container system is extracted from the input service in the Native layer and encapsulated into a dynamic library, which serves as the corresponding interface function of the Linux container system to obtain the input events of the Linux container system. Pre-configure the naming rules for input devices so that each container system can configure the usage permissions of the corresponding input devices according to the naming rules; Specifically, when both the Android container system and the Linux container system are running simultaneously and a new input event occurs, the shared library is invoked, and based on the naming rules of the input device, it is determined whether the name of the input device corresponding to the new input event matches the Android container system. If the name of the corresponding input device matches the Android container system, the system to which the new input event belongs is determined to be the Android container system; if the name of the corresponding input device does not match the Android container system, the system to which the new input event belongs is determined to be the Linux container system. When it is determined that a new input event belongs to the Android container system, the corresponding input event is uploaded to the Android container system through the shared library. User Applications in the Android container system implement the Input service through the Native layer and Framework layer of the shared library. When it is determined that a new input event belongs to the Linux container system, the corresponding input event is uploaded to the dynamic library through the shared library. The dynamic library then uses a pre-configured registration callback function to upload the new input event to the user Applications in the Linux container system for use.
5. The input device isolation method as described in claim 4, characterized in that, Also execute: When a newly connected input device is detected, a name is assigned to the newly connected input device according to the naming rules of the input device; wherein, the name of the input device includes the system identifier or has a guide with the system identifier; Generate the device node corresponding to the input device; The Ioctl function is used to obtain the name of each input device, and based on the name of each input device, the permissions for each container system to use each input device are configured.
6. The input device isolation method as described in claim 4, characterized in that, Also execute: Using the dynamic library loading principle, the function symbols in the dynamic library are encapsulated into a static library, providing function calls for developing input device-related applications in Linux container systems without a system SDK.
Citation Information
Patent Citations
Single-Linux-inner-core-based method for multiple Android systems to share input equipment and display equipment
CN103593185A
Calling method and system based on container technology agent dynamic library
CN112068906A