Extending the Android Framework with New Devices
This session will show you how to add support for a completely new device on Android. This includes adding a new device driver, extending the Android framework to support the new device, and taking care of application level interfaces.
We have two speakers in this talk : Shree Kumar and Nitheesh K L.
Android is expected to proliferate across a wide variety of devices in a relatively short time. General purpose computing devices support a lot more hardware than Android does. There is a need to support new types of devices in Android, the ones that are not yet supported.
Adding support for a new device type requires work at all levels. You need to take care of the kernel level, framework and API interfaces for user applications. Adding to this complexity, Android compatibility prohibits you from changing the platform API.
This talk will show you how to add support for a new device type. We will demonstrate
incorporating linux drivers into the android linux kernel
creating a platform library that adds support for the new device
creating a service that accesses the device and exposes it to apps
creating an API that apps can use to access the device
how external developers can use this API to target your device.
We will demonstrate these steps by integrating a joystick and an industrial barcode scanner.
Basic understanding of android applications. Some knowledge of android architecture is desirable.
Shree Kumar is currently working on porting Android on newer platforms. In the past, Shree has worked in diverse areas ranging from system programming, mathematical simulation, distributed systems, high performance computer graphics, GPU computing. Shree works at Innonminds Software, is an open-source enthusiast and an avid cyclist and adventurer. He blogs at http://www.shreekumar.in/
Nitheesh is an open-source enthusiast. He is pursuing engineeng at PESIT, Bangalore. He is also an intern at Intel India, where he works on several Android projects. Nitheesh’s hobbies include playing around with the linux kernel, programming & hacking in general, and hardware-software interfacing.