Android is an open source Platform or a software stack for mobile. It is a Google product. but still as it is a open source so anyone can develop its application It run on dalvik VM and its applications are written in java. Android is a terrifically growing mobile platform and also a user loveable OS for mobile phone. We can see that its new versions are coming with a small or can say with in a minimum interval . Recently we have android 5.0 and on its release google had announced for android 5.0.1 also.
The Android OS project was started in 2001. Initially developed by Android, Inc., which Google backed financially and later bought in 2005, Android was unveiled in 2007 along with the founding of the Open Handset Alliance.
1-HISTORY OF ANDROID:-
In 2005 Google buys android Incorporation and started dalvik. At that time it is not possible for Google to go out and buy the companies to work on android, so Google in 2007 announced Android as an Open Handset Alliance so it a point to be noted that know android is not owned by only by Google or Google is the owner of android but OHA is the owner of android. 2008 to 2010 the android become a biggest used platform for mobile, it was world wide accepted mobile platform domain. In 2011 the chairman of Google Mr. Eric had decided to more to other device also like gaming, tablets, Tv watches, Car GPRS systems, etc.
YEAR TASK
2005 Google buys ANDROID Inc.
2007 Open Handset Alliance. Announced FIRST SDK.
2008 Android become the domain of mobile platform
2011 Games, tablets, watches,etc
Why Dalvik VM not Java VM (JVM) ?
Android runs java app so why don’t we use java vm ?
because of two good reasons
1- business.
2- Technical.
Business is Java is owned by Oracle. So We have to buy license for java VM. Due to which Android will no longer be free, and there is no reason that why Google will give profit to Oracle. And it is not easy for Google to buy license from oracle for each VM After all it is the reason for its pride. There are main two technical reasons
1-battery consumption of java vm. As java is optimized and is designed to run on Intel chips easily and Intel chips need more and more power to run and in mobiles the battery in main consistent so intel chips are replaced by armed chips, so it is not possible to run java vm on it.
2- Memory consumption in java vm to run any app first we have to load it class for memory to Hard disk or RAM, so to run first we have to wait for vm to search and load class in HD or RAM. And in mobile we don’t have such a large memory that we load classes every before running any app. So it better to replace JVM with dalvik vm which use classes but there is no need to load it in RAM it run it directly.
Difference b\w Delvik and ART
0 In dalvik runtime, the JIT in bounded to CPU but ART frees the CPU from translating DEX to machine code during app’s execution thus reduce energy consumption.
o ART is faster as it directly convert. DEX byte-code to NAT
4. YEAR TASK
2005 Google buys ANDROID Inc.
2007 Open Handset Alliance. Announced FIRST ADK.
2008-2010 Android become the domain of mobile platform
2011 Games, tablets, watches, TV etc
Future Beyond phones.
4
5. Our goal is not just a single device. Our vision is a mobile platform
that runs on many many devices.
- ERIC SCHMIDT
5
6. OHA (OPEN HANDSET ALLIANCE)
A business alliance consisting of 47+ companies to develop open standards for
mobile devices
6
14. 14
ANDROID S/W STACK – LINUX KERNEL
Relying on Linux Kernel 2.6 for core system services
Memory and Process Management
Network Stack
Driver Model
Security
Providing an abstraction layer between the H/W and the rest of the S/W stack
15. 15
ANDROID S/W STACK - RUNTIME
Core Libraries
Providing most of the functionality available in the core libraries of the Java language
APIs
Data Structures
Utilities
File Access
Network Access
Graphics
Etc
16. 16
ANDROID S/W STACK – RUNTIME (CONT)
Dalvik Virtual Machine
Providing environment on which every Android application runs
Each Android application runs in its own process, with its own instance of the Dalvik VM.
Dalvik has been written such that a device can run multiple VMs efficiently.
Register-based virtual machine
17. 17
ANDROID S/W STACK – RUNTIME (CONT)
Dalvik Virtual Machine (Cont)
Executing the Dalvik Executable (.dex) format
.dex format is optimized for minimal memory footprint.
Compilation
Relying on the Linux Kernel for:
Threading
Low-level memory management
20. Now android have two application runtimes
Dalvik
ART
ART is introduced in Android 4.4(kitkat) .
Much better than Dalvik.
Is in experimental phase but soon it will replace Dalvik said by Google.
21. Battery life:-
In dalvik runtime, the JIT in bounded to CPU but ART frees the CPU from translating DEX to
machine code during app’s execution thus reduce energy consumption.
Performance:-
ART is faster as it directly convert DEX byte-code to Machine code.
Don’t need JIT.
To run only footprint of Application is required.
22.
23. 23
ANDROID S/W STACK - LIBRARIES
Including a set of C/C++ libraries used by components of the Android system
Exposed to developers through the Android application framework.
Bionic, Webkit, openGL, MEDIA codes, Sqlite, etc.
24. 24
ANDROID S/W STACK –
APP FRAMEWORK
Enabling and simplifying the reuse of components
Developers have full access to the same framework APIs used by the core applications.
Users are allowed to replace components.
25. 25
ANDROID S/W STACK - APPLICATION
Android provides a set of core applications:
Email Client
SMS Program
Calendar
Maps
Browser
Contacts
Etc
All applications are written using the Java language.
26. 3 Questions on your Android Mobile
1. Are you using all the
features and the
settings of your
Android Operating
System?
1. Can your mobile run
every app which is
available in Android
Play store? 26
29. What is Rooting?
• Rooting is the process of allowing users of smartphones, tablets,
and other devices running the Android mobile operating
system to attain privileged control (known as "root access")
within Android's sub-system.
• Rooting is performed with the goal of overcoming limitations
that carriers and hardware manufacturers put on some devices,
or perform other operations that are otherwise inaccessible to a
normal Android user.
29
30. Super user
• Using a rooted android device makes you a Super user
• Super user is the central governance of the Android Software
• With the help of Super user you can gain ultimate control over your
Android device
30
32. Use your low end device with High end performance
• Your Android phone may have a ram of 512MB, 1GB, 2GB or 3GB. RAM is the main reason why
your mobile show low end performance
• Have you ever tried increasing the ram. It is possible by rooting
+
1 GB ram mobile 32 gb memory card 4GB ram computer
32
33. Get control over your processor
• Get full authority over your Android processor.
• Your Android processor is more powerful than what you know about
it.
• You can unlock the full speed of your processor by overclocking the
processor which is possible by rooting
• You can also underclock your processor for saving your battery life in
critical situations.
33
34. Remove pre-installed Crapware
• There are pre-installed apps in your mobile phone which takes a lot of
memory and ram
• Most of those apps are not used by the user.
• Those apps can be removed by root access.
34
35. Tweak the Dark Corners of Android
• Root Access provides a wide number of
possibilities to hack a network, site, server….
Etc
• Since android is a linux based operating
system we can imagine the hacking
capabilities of Android.
• These hacking capabilities can be enhanced
to 100% by rooting
eg: Wifi kill- It allows a android device to gain
access over a wifi. It may be a secured wifi or
unsecured wifi.
35
37. Rooting Process
1. Install Root File
1. Install Clockwork Recovery
1. Install Cyanogenmod
1. Enjoy the Root Previleges!!
37
38. Root File
• Root file is first installed by flashing the Root Package (update.zip) in boot
time.
• This root file breaks the security protocol of Android and install Superuser
which
gives the total Governance over your Device.
• Installing the root file is the Major step in Rooting.
38
39. Clockwork Recovery & Cynogenmod
• Clockwork Recovery is installed in the same way as Root file
• Clockwork Recovery is used for the maintenance of Android
Software like Custom ROM and RAM
• Cynogenmod is useful for the Advance updating of Android
Operating System
Cynogenmod 9 (Icecream Sandwich)
Cynogenmod 10 (Jelly Bean)
Cynogenmod 11 (Kitkat)
39
40. Disadvantages of Android rooting
1. Your Android may get bricked while rooting.
2. It will end up your phone’s warranty.
3. Android Hacking will be enhanced by rooting
which can be used in a wrong way.
40