Mobile Mouse Emulation Startup: Android R&D to Choose Proper Technical Solution

  • Duration: 3 months
  • Industries: IT Industry; Mobile App Development
  • Services: Custom Software Development; Manual Testing Services; IT Consulting; Early-Stage Innovation, R&D Services; Mobile Development
  • Technical Expertise: Research and Development (R&D); Android Software Development
  • Technologies: Java Standard Edition (SE); Eclipse; Java; Operating Systems; Linux; JNI (Java Native Interface); Android NDK; IDE; Backend; Android; Open SSH; Languages, Protocols, APIs, Network Tools; Network Tools; Software Engineering and Management Tools; Other Technologies
  • Team size (2):
  • 1 Project Manager
  • 1 Backend

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
CEO, EleganceIt, Information Technology and Services
The customer testimonial about project: Mouse emulator application for Android devices

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

Related projects

Recent Work

    Contact Us

    What happens next?
    • 1

      Leave your project request. We will contact you and schedule a call.

    • 2

      Signing of the NDA to ensure the project info confidentiality.

    • 3

      Negotiation of your request and the required services.

    • 4

      Team forming, coordination of workstages.

    • 5

      Contract signing and project start.