2. Introduction – Why ADS…
Android:
A continuously evolving mobile operating system.
A large number of apps released regularly to the market.
Demonstrations:
Using an android device : limited to a small audience. Not
practical for a larger audience
Using an Emulator : Larger audience, but cannot conduct
live demonstrations
Audience:
Distance between the demonstrator and the audience is
high for larger audiences.
2
3. Drawbacks:
Cannot connect the Android device to a projector
directly.
Usage of USB cables limits the movement of the
demonstrator.
Cannot clearly demonstrate the actual way that the
app work on the android device to the whole
audience.
Our Solution:
An application giving a live stream of the android
device’s screen on a computer.
Uses a network connection to show changes of the
android device’s frame buffer.
Introduction – Why ADS…(cont.)
3
4. Aim & Objectives
Aim
The aim of this project is to provide facility of
demonstrating Android application which is
run on the Android device/phone to large
number of audience in effective and clearer
manner.
4
5. Aim & Objectives (cont.)
Objectives
Gain an overall overview about android devices and kernel
Get an explicit idea about available Emulators for Android.
Identify necessary technologies to complete the task.
Create algorithms for recognizing the easiest path.
Implement the algorithms in a program.
Evaluate the proposed solution
5
7. Technology Used
Technology Used
Project Component Technology Used
Capturing the frames of the Android device
and convert(raw file to byte array) it for
transmission
C and Java
Transmitting the converted information to a
computer
Wi-Fi
Converting the byte arrays in to raw files Java
Decoding the raw files in to images ffmpeg
Displaying the images on the computer Java
7
8. Screen
Superuser Access
(Execution of standalone compiled c
program)
Network Port
Network Port
Converter
(Convert byte array to a raw file)
ADS client
Display
ComputerAndroid Phone
Top Level Architecture of the system
Frame buffer
Application
(Reading frame buffer in to raw file)
Converter
(convert raw file in to byte array.)
Medium
Decoder(FFMPEG)
(raw file to image)
8
9. Implementation (Mobile Application)
We have used standalone compiled C program to capture
the frame buffer into a raw file.
Then that file is executed from the android application with
super user permission(Using exec() method in Runtime class).
It generates the raw file of the frame buffer.
Then raw file is read and converted into a byte array using
Java.
Finally byte array is broken into 1kB chunks and sent through a
socket to the PC.
9
10. Implementation (PC Application)
PC application gets chunks until completely receive byte
array.
After received the complete byte array, it is saved to a raw file.
Then PC application execute a ffmpeg command to convert
that raw file into a png image.
Then image is displayed on the image display panel of the
application.
This is the implementation for a single frame. This workflow runs
continuously on PC application and mobile application.
10
11. Future Work
11
This project ADS is basically a research project
as future work we expect to following upgrades with the
help and suggestions of developer community
improve the speed
enable webcast
online sharing
and we expect to build a developer community around the
product to make sure it is up to date.
12. Let's keep in touch
12
ADS Blog -
http://demonstrationsolution.blogspot.com
ADS Facebook page -
https://www.facebook.com/DemonstrationSolution