Mouse emulator application for Android devices

Project summary: the feasibility research of the following Android platform functionality: the mouse cursor that can be moved across the desk is displayed above all applications. Mouse contains a large button to click on which you are pressing the corresponding position of the screen. This mouse can be useful, for example, for girl with long inconvenient for using touch screen manicure or for people with thick fingers who can not click on the small icon of Android interface.

Technologies: Java, Android, Android NDK, JNI, Eclipse, Linux.

Project features:

  • System programming for Android
  • 100% Research & Development
  • Short iterations, regular brainstorming

For the research purpose the following tasks has been made:

  • Creation of transparent application, clicking on a certain point the designed application must send the event of click to certain coordinates. To do it we had to use special Android classes, which are not present in API: ServiceManager and IWindowManaget. The mock classes with stub methods" were created, the code was compiled with them. When the application was being built these classes were not included, so after its installation on android-device the application used system classes.
  • The way of sending messages to the Linux kernel for Android has been found. To do it JNI technology and library written in C were used. The sample application that interacts with the Linux kernel and sends touch events to the certain coordinates was designed. The way to get a list of all the input devices using linux command has been found. Our team found the method to intercept values obtained from the sensor.
  • We investigated the possibility of obtaining root access to the device with the use of software to run the above options. The problem is that you need to get root access in different ways for different devices and for this purpose special hacks were used. Some devices in general haven’t root access.

The research results:

  • The following problem was identified: to implement the customer requirements the application must be signed by the phone manufacturer’ certificate. It imposes a restriction on coming of some applications in the market.
  • To send the touch events the root access to the device is needed. It won’t allow the application to be in markets and significantly limits plurality of devices on which the application can be run.
  • Also to use the required events the application must be installed as a systems app.

Company’s achievements during the project:

  • The feasibility research of mouse emulator application creation for Android devices was conducted.
  • Our team sorted out Android platform systemic nuances.
  • The customer got substantiated report on the problems and difficulties of such development.

Testimonials:

Boris Mamonenko
Boris Mamonenko, CEO, EleganceIt, Information Technology and Services, Belarus

"Zmicer is very easy going, inventive and great to work with. His team (Jazzteam) worked with a very a technically complicated research project. He showed himself as a high-skilled Java developer and incredibly talented manager. He has no answer "NO", he has answer - "Give me a time I will tell you how". Many Thanks!"