SlideShare a Scribd company logo
Bipin Jethwani
Agenda
 Introduction to
o Android mobile operating system
o Android app
o Android app sandboxing
o Android app development platform
o Android emulators and advance techniques
o Android device administration
o Sample App
Bipin Jethwani
Android is a mobile operating
system (OS) based on the Linux
kernel and currently developed
by Google.
Bipin Jethwani
Initially developed by Android, Inc.,
which Google backed financially and
later bought in 2005, Android was
unveiled in 2007.
This was along with the founding of the Open Handset
Alliance—	a	consortium	of hardware, software, and
telecommunication companies devoted to advancing open
standards for mobile devices.
Bipin Jethwani
The main hardware platform for Android is the
ARM architecture (ARMv7 and ARMv8-A architectures).
x86 and MIPS architectures are also officially supported
Since Android 5.0 "Lollipop", 64-bit variants of all
platforms are supported.
Bipin Jethwani
Bipin Jethwani
Google Nexus
Google's flagship Android
products
Google manages the design, development,
marketing, and support of these devices,
But some development and all manufacturing are
carried out by partnering original equipment
manufacturers (OEMs).
Nexus One
(by HTC)
Nexus S
(by Samsung)
Galaxy Nexus
(by Samsung)
Nexus 4
(by LG)
Nexus 5
(by LG)
Nexus 6
(by Motorola Mobility)
Nexus 7
(by Asus)
Nexus 9
(Google and HTC)
Nexus 10
(by Samsung)
Bipin Jethwani
Initial release September 23, 2008
Latest release April 21, 2015 (5.1.1 "Lollipop“)
Bipin Jethwani
Bipin Jethwani
Android 1.5 Cupcake
Bipin Jethwani
Android 1.6 Donut
Android 2.0 Éclair
 Expanded Account sync, allowing users to add multiple accounts (emails and contacts)
 Microsoft Exchange email support.
 Bluetooth 2.1 support
 Multi-touch events
Android 2.2 Froyo (Frozen Yoghurt)
 Push Notifications
 Adobe Flash support.
 Chrome's V8 JavaScript engine into the Browser
 Microsoft Exchange security enhancements including remote wipe
 Installing apps on SD card
Android 2.3 Gingerbread
 Native Code Development
 Near Field Communication (NFC)
 Download Manager
 Power Management
Android 3.0 Honeycomb
 The first tablet-only Android update.
 Fragment class was introduced
 Multi-core Processors
Android 3.0 Honeycomb
 The first tablet-only Android update.
 Fragment class was introduced
 Multi-core Processors
Android 4.0 Ice Cream Sandwich
 Face Unlock
Android 4.1 (Jelly Bean)
(API level 16)
Android 4.1 Jelly Bean
(API level 16)
Android 4.2 Jelly Bean
(API level 17)
Android 4.4 KitKat
(API level 19)
Android 5.0 "Lollipop"
 Android Runtime (ART) with ahead-of-time (AOT) compilation and
improved garbage collection (GC), replacing Dalvik that combines bytecode
interpretation with trace-based just-in-time (JIT) compilation.
 Support for 64-bit CPUs
 Material design
 Project Volta, for battery life improvements
Android 5.1.1
 Device protection: if a device is lost or stolen it will remain locked until the owner
signs into their Google account, even if the device is reset to factory settings.
Android apps are written in the Java
programming language
However, they run on Android's own Java
Virtual Machine, called Dalvik Virtual
Machine (DVM)
Introduction to everything around Android
The Android SDK tools compile your code—
along with any data and resource files—into
an APK: an Android package, which is an
archive file with an .apk suffix.
.apk file is the containers for app binaries.
 .dex files these are all the app’s .class files
converted to Dalvik byte code.
 compiled resources (resources.arsc)
 uncompiled resource
 Binary version of AndroidManifest.xml
An .apk file contains all of the information necessary to run your application on a device or
emulator.
Introduction to everything around Android
App are made from components.
Android instantiates and runs them as needed.
The two fundamental concepts about Android app framework
 App provide multiple entry points
o From one component you can start another component
using an intent. You can even start a component in a
different app, such as an activity in maps app to show an
address.
 Apps adapt to different devices
o You can create different XML layout files for different
screen sizes and the system determines which layout to
apply based on the current device’s screen size.
Three of the four component types—activities,
services, and broadcast receivers—are
activated by an asynchronous message
called an intent.
Application Sandboxing
Once installed on a device, each Android app lives in its own security sandbox
 Android OS is a multi-user Linux system
 Android OS is a multi-user Linux system
 Each app is a different user.
 Android OS is a multi-user Linux system
 Each app is a different user.
 System assigns each app a unique Linux User ID
 Android OS is a multi-user Linux system
 Each app is a different user.
 System assigns each app a unique Linux User ID
 This User ID doesn’t change during app’s life on a device.
 Android OS is a multi-user Linux system
 Each app is a different user.
 System assigns each app a unique Linux User ID
 This User ID doesn’t change during app’s life on a device.
 This User ID is used only by the system and is unknown to the app.
 Android OS is a multi-user Linux system
 Each app is a different user.
 System assigns each app a unique Linux User ID
 This User ID doesn’t change during app’s life on a device.
 This User ID is used only by the system and is unknown to the app.
 System sets permissions for all the files in an app so that only the User ID assigned
to that app can access them.
 Android OS is a multi-user Linux system
 Each app is a different user.
 System assigns each app a unique Linux User ID
 This id doesn’t change during app’s life on a device.
 This User ID is used only by the system and is unknown to the app.
 System sets permissions for all the files in an app so that only the User ID assigned
to that app can access them.
 Each process has its own virtual machine (VM), so an app's code runs in isolation
from other apps.
 Android OS is a multi-user Linux system
 Each app is a different user.
 System assigns each app a unique Linux User ID
 This id doesn’t change during app’s life on a device.
 This User ID is used only by the system and is unknown to the app.
 System sets permissions for all the files in an app so that only the User ID assigned
to that app can access them.
 Each application is given a dedicated data directory which only it has permission
to read and write to
 Each process has its own virtual machine (VM), so an app's code runs in isolation
from other apps.
 By default, every app runs in its own Linux process. Android starts the process
when any of the app's components need to be executed, then shuts down the
process when it's no longer needed or when the system must recover memory for
other apps.
Introduction to everything around Android
Zygote is a daemon whose goal is to launch Apps.
Automatically generated UIDs for applications start at 10000 (AID_APP), and the
corresponding usernames are in the form
 app_XXX or
 uY_aXXX (on Android versions that support multiple physical users),
The data directory of the email application is named after its package name and is created
under /data/data/ on single-user devices.
Thus, applications are isolated, or sandboxed,
both at the process level (by having each run in a
dedicated process) and at the file level (by having a private
data directory).
This creates a kernel-level application sandbox, which
applies to all applications, regardless of whether they are
executed in a native or virtual machine process.
 Apps that are signed with same certificate can share data, user ID, as well as run in
a single process. They just need to specify same sharedUserId and process.
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Android Development Environment
Your workbench for writing android applications
Based on Eclipse
Based on IntelliJ Community Edition
Based on Eclipse
Based on IntelliJ Community Edition
Windows
•Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit)
Based on Eclipse
Based on IntelliJ Community Edition
Windows
•Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit)
Mac OS X
Mac® OS X® 10.8.5 or higher, up to 10.9 (Mavericks)
Based on Eclipse
Based on IntelliJ Community Edition
Windows
•Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit)
Mac OS X
Mac® OS X® 10.8.5 or higher, up to 10.9 (Mavericks)
Linux
GNOME or KDE desktop
Tested on Ubuntu® 14.04, Trusty Tahr
Introduction to everything around Android
Introduction to everything around Android
DDMS
DDMS stands for: Dalvik Debug Monitor Server
It is used in:
Tracking memory allocation of objects
Examining thread information
Helps in emulating phone operations and location
Also for screen capture, call, and SMS spoofing.
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Google USB Driver
The Google USB Driver is required for Windows only in order to
perform adb debugging with any of the Google Nexus devices.
Downloading the Google USB Driver
Running android app on real devices via USB
To run the Android app on a real device (Android Phone or Android Tablet):
1.Connect the real device to your computer.
1.Make sure that you have the "USB Driver" for your device installed on your
computer.
2.Enable "USB Debugging" mode on your real device:
Running android app on real devices via USB
To run the Android app on a real device (Android Phone or Android Tablet):
1.Connect the real device to your computer.
1.Make sure that you have the "USB Driver" for your device installed on your
computer.
2.Enable "USB Debugging" mode on your real device:
(On Android 3.2 and older)
This allows Android SDK to transfer data between your computer and your device.
Also enable "Unknown source" from "Applications". This allows applications from
unknown sources to be installed on the device.
"Settings" ⇒ "Applications" ⇒ "Development" ⇒ Check "USB Debugging"
Running android app on real devices via USB
To run the Android app on a real device (Android Phone or Android Tablet):
1.Connect the real device to your computer.
1.Make sure that you have the "USB Driver" for your device installed on your
computer.
2.Enable "USB Debugging" mode on your real device:
(On Android 4.0 and newer)
"Settings" ⇒ "Developer options" ⇒ Check "USB Debugging".
Running android app on real devices using USB
To run the Android app on a real device (Android Phone or Android Tablet):
1.Connect the real device to your computer.
1.Make sure that you have the "USB Driver" for your device installed on your
computer.
2.Enable "USB Debugging" mode on your real device:
(On Android 4.2 and newer)
First you need to enable "Developer options" via
"Settings" ⇒ About Phone ⇒ tap "Build number" seven (7) times
"Settings" ⇒ "Developer options" ⇒ Check "USB Debugging".
Introduction to everything around Android
Introduction to everything around Android
A SOFTWARE STACK FOR MOBILE DEVICES
A SOFTWARE STACK FOR MOBILE DEVICES
 ANDROID LINUX KERNEL
 SYSTEM LIBRARIES
 RUNTIME
 APPLICATION FRAMEWORKS
 SDK
 KEY APPS
A SOFTWARE STACK FOR MOBILE DEVICES
 ANDROID LINUX KERNEL
 SECURITY
 MEMORY & PROCESS MANAGEMENT
 FILE & NETWORK I/O
 DEVICE DRIVERS
 SYSTEM LIBRARIES
 RUNTIME
 APPLICATION FRAMEWORKS
 SDK
 KEY APPS
A SOFTWARE STACK FOR MOBILE DEVICES
 ANDROID LINUX KERNEL
 SECURITY
 MEMORY & PROCESS MANAGEMENT
 FILE & NETWORK I/O
 DEVICE DRIVERS
 ANDROID SPECIFIC
 POWER MANAGEMENT
 SYSTEM LIBRARIES
 APPLICATION FRAMEWORKS
 KEY APPS
 SDK
 RUNTIME
A SOFTWARE STACK FOR MOBILE DEVICES
 ANDROID LINUX KERNEL
 SECURITY
 MEMORY & PROCESS MANAGEMENT
 FILE & NETWORK I/O
 DEVICE DRIVERS
 ANDROID SPECIFIC
 POWER MANAGEMENT
 ANDROID SHARED MEMORY
 SYSTEM LIBRARIES
 APPLICATION FRAMEWORKS
 KEY APPS
 SDK
 RUNTIME
A SOFTWARE STACK FOR MOBILE DEVICES
 ANDROID LINUX KERNEL
 SECURITY
 MEMORY & PROCESS MANAGEMENT
 FILE & NETWORK I/O
 DEVICE DRIVERS
 ANDROID SPECIFIC
 POWER MANAGEMENT
 ANDROID SHARED MEMORY
 LOW MEMORY KILLER
 SYSTEM LIBRARIES
 APPLICATION FRAMEWORKS
 KEY APPS
 SDK
 RUNTIME
A SOFTWARE STACK FOR MOBILE DEVICES
 ANDROID LINUX KERNEL
 SECURITY
 MEMORY & PROCESS MANAGEMENT
 FILE & NETWORK I/O
 DEVICE DRIVERS
 ANDROID SPECIFIC
 POWER MANAGEMENT
 ANDROID SHARED MEMORY
 LOW MEMORY KILLER
 IPC - BINDER
 SYSTEM LIBRARIES
 APPLICATION FRAMEWORKS
 KEY APPS
 SDK
 RUNTIME
A SOFTWARE STACK FOR MOBILE DEVICES
 LINUX KERNEL
 SYSTEM LIBRARIES
 APPLICATION FRAMEWORKS
 WINDOW MANAGER
 VIEW SYSTEM
 PACKAGE MANAGER
 ACTIVITY MANAGER
 LOCATION MANAGER
 NOTIFICATION MANAGER
 ALARM MANAGER
 CONTENT PROVIDERS
 RESOURCE MANAGER
 TELEPHONY MANAGER
 KEY APPS
 SDK
 RUNTIME
Introduction to everything around Android
Emulator
Can emulate many different device/user characteristics, such as
Network speed/latencies
Battery Power
Location coordinates
VGA means Video Graphics Array, and has a resolution of 640*480 pixels.
QVGA means Quarter Video Graphics Array and has a resolution of 320*240 pixels.
HVGA means Half Video Graphics Array, and has a resolution of 480*320 pixels.
WVGA (Wide Video Graphics Array) with a resolution of 800*480 pixels
FWVGA (Full Wide Video Graphics Array) at 854*480 pixels
The only difference between WVGA and FWVGA is the screen aspect ratio. WVGA has
15:9, and FWVGA is 16:9. 16:9 is better for HD movie watching
telnet localhost 554
help
power capacity 100
power ac off
power status not-charging
power capacity 5
power ac off
help network
help network speed
network speed edge
network speed edge
EDGE (Enhanced GPRS) on GSM networks.
 It give 3x speed than outdated GPRS system.
 Max of 473 kbps.
network speed full
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Android Device Manager
Android Device Manager
Android Device Manager is a Google app that allows you to
track and secure your devices remotely.
Android Device Manager
Android Device Manager is a Google app that allows you to
track and secure your devices remotely.
Android Device Manager
, you can remotely track your devices, cause them to ring (even if it
was put in silent mode), change the lock code, or completely wipe
your devices through this handy little app.
Android Device Manager
https://www.google.com/android/devicemanager
If you lose your android device, you can use Android Device
Manager to:
1. Find
2. Ring
3. Lock
4. Erase
5. Add a phone number to lock screen
Depending on the permissions you give Android Device
Manager in the Google Settings app
Android Device Manager
https://www.google.com/android/devicemanager
If you lose your android device, you can use Android Device
Manager to:
1. Locate
2. Ring
3. Lock
4. Erase
5. Add a phone number to lock screen
Android Device Manager
https://www.google.com/android/devicemanager
If you lose your android device, you can use Android Device
Manager to:
1. Find
2. Ring
3. Lock
4. Erase
5. Add a phone number to lock screen
Depending on the permissions you give Android Device
Manager in the Google Settings app
www.google.co.in
www.android.com/devicemanager
www.google.com/android/devicemanager
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
Introduction to everything around Android
~ End of part-1 ~

More Related Content

PPTX
Android overview
PPTX
Android Development Training
PPSX
ANDROID
PPTX
Android basic principles
PDF
Android App Development Intro at ESC SV 2012
PDF
Android Development: Build Android App from Scratch
PDF
Android : Architecture & Components
PPTX
Aptech Apps
Android overview
Android Development Training
ANDROID
Android basic principles
Android App Development Intro at ESC SV 2012
Android Development: Build Android App from Scratch
Android : Architecture & Components
Aptech Apps

What's hot (20)

PPT
Android development tutorial
PPTX
Introduction to Android for Quality Engineers
ZIP
Android Application Development
PDF
Evolution of Android Operating System and it’s Versions
PDF
Android - From Zero to Hero @ DEVit 2017
PPTX
PPTX
Android terminologies
PPTX
Android App development III
PDF
Software training report
PPTX
PPT
Android application structure
PDF
01 what is android
DOCX
Questions About Android Application Development
PPT
android-tutorial-for-beginner
PDF
Android mobile os final
PDF
Os eclipse-androidwidget-pdf
PPT
Android application development
PDF
Training android
PPT
Android ppt
Android development tutorial
Introduction to Android for Quality Engineers
Android Application Development
Evolution of Android Operating System and it’s Versions
Android - From Zero to Hero @ DEVit 2017
Android terminologies
Android App development III
Software training report
Android application structure
01 what is android
Questions About Android Application Development
android-tutorial-for-beginner
Android mobile os final
Os eclipse-androidwidget-pdf
Android application development
Training android
Android ppt
Ad

Viewers also liked (7)

PPT
Android Operating System
PPTX
Android and android phones
PPTX
Android Presentation
PPT
Android operating system
PPTX
Android operating system final
PPTX
ANDROID MOBILE OPERATING SYSTEM
PPTX
What is Android OS in ppt ?
Android Operating System
Android and android phones
Android Presentation
Android operating system
Android operating system final
ANDROID MOBILE OPERATING SYSTEM
What is Android OS in ppt ?
Ad

Similar to Introduction to everything around Android (20)

PDF
Android Part-1 - Hello Android
PDF
Mobile Application Development-Lecture 03 & 04.pdf
PPTX
Android Application Development
PPTX
And dev101
PPTX
Power pointactivity2
ODP
Java Meetup - 12-03-15 - Android Development Workshop
PDF
Ch1 hello, android
PPT
Google android os
PPTX
Introduction to android mobile app development.pptx
PDF
Introduction to Android App Development
PPTX
18ITT61 - Introduction.pptx
PPTX
Android mp3 player
PPTX
Android quick talk
PPT
Android Application Development Using Java
PPT
My androidpresentation
PPTX
Android Security Humla Part 1
PDF
Begining Android Development
PPTX
Lecture_on_IntroductionToAndroidApp.pptx
DOCX
Android Architecture and Working
PPTX
Android Revolution
Android Part-1 - Hello Android
Mobile Application Development-Lecture 03 & 04.pdf
Android Application Development
And dev101
Power pointactivity2
Java Meetup - 12-03-15 - Android Development Workshop
Ch1 hello, android
Google android os
Introduction to android mobile app development.pptx
Introduction to Android App Development
18ITT61 - Introduction.pptx
Android mp3 player
Android quick talk
Android Application Development Using Java
My androidpresentation
Android Security Humla Part 1
Begining Android Development
Lecture_on_IntroductionToAndroidApp.pptx
Android Architecture and Working
Android Revolution

Recently uploaded (20)

PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Transform Your Business with a Software ERP System
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
top salesforce developer skills in 2025.pdf
PDF
medical staffing services at VALiNTRY
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Nekopoi APK 2025 free lastest update
Which alternative to Crystal Reports is best for small or large businesses.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Navsoft: AI-Powered Business Solutions & Custom Software Development
L1 - Introduction to python Backend.pptx
Reimagine Home Health with the Power of Agentic AI​
How Creative Agencies Leverage Project Management Software.pdf
PTS Company Brochure 2025 (1).pdf.......
Transform Your Business with a Software ERP System
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Softaken Excel to vCard Converter Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
top salesforce developer skills in 2025.pdf
medical staffing services at VALiNTRY
Internet Downloader Manager (IDM) Crack 6.42 Build 41
wealthsignaloriginal-com-DS-text-... (1).pdf
CHAPTER 2 - PM Management and IT Context
Nekopoi APK 2025 free lastest update

Introduction to everything around Android

  • 2. Agenda  Introduction to o Android mobile operating system o Android app o Android app sandboxing o Android app development platform o Android emulators and advance techniques o Android device administration o Sample App Bipin Jethwani
  • 3. Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google. Bipin Jethwani
  • 4. Initially developed by Android, Inc., which Google backed financially and later bought in 2005, Android was unveiled in 2007. This was along with the founding of the Open Handset Alliance— a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. Bipin Jethwani
  • 5. The main hardware platform for Android is the ARM architecture (ARMv7 and ARMv8-A architectures). x86 and MIPS architectures are also officially supported Since Android 5.0 "Lollipop", 64-bit variants of all platforms are supported. Bipin Jethwani
  • 7. Google Nexus Google's flagship Android products Google manages the design, development, marketing, and support of these devices, But some development and all manufacturing are carried out by partnering original equipment manufacturers (OEMs). Nexus One (by HTC) Nexus S (by Samsung) Galaxy Nexus (by Samsung) Nexus 4 (by LG) Nexus 5 (by LG) Nexus 6 (by Motorola Mobility) Nexus 7 (by Asus) Nexus 9 (Google and HTC) Nexus 10 (by Samsung) Bipin Jethwani
  • 8. Initial release September 23, 2008 Latest release April 21, 2015 (5.1.1 "Lollipop“) Bipin Jethwani
  • 12. Android 2.0 Éclair  Expanded Account sync, allowing users to add multiple accounts (emails and contacts)  Microsoft Exchange email support.  Bluetooth 2.1 support  Multi-touch events
  • 13. Android 2.2 Froyo (Frozen Yoghurt)  Push Notifications  Adobe Flash support.  Chrome's V8 JavaScript engine into the Browser  Microsoft Exchange security enhancements including remote wipe  Installing apps on SD card
  • 14. Android 2.3 Gingerbread  Native Code Development  Near Field Communication (NFC)  Download Manager  Power Management
  • 15. Android 3.0 Honeycomb  The first tablet-only Android update.  Fragment class was introduced  Multi-core Processors
  • 16. Android 3.0 Honeycomb  The first tablet-only Android update.  Fragment class was introduced  Multi-core Processors
  • 17. Android 4.0 Ice Cream Sandwich  Face Unlock
  • 18. Android 4.1 (Jelly Bean) (API level 16) Android 4.1 Jelly Bean (API level 16)
  • 19. Android 4.2 Jelly Bean (API level 17)
  • 21. Android 5.0 "Lollipop"  Android Runtime (ART) with ahead-of-time (AOT) compilation and improved garbage collection (GC), replacing Dalvik that combines bytecode interpretation with trace-based just-in-time (JIT) compilation.  Support for 64-bit CPUs  Material design  Project Volta, for battery life improvements
  • 22. Android 5.1.1  Device protection: if a device is lost or stolen it will remain locked until the owner signs into their Google account, even if the device is reset to factory settings.
  • 23. Android apps are written in the Java programming language
  • 24. However, they run on Android's own Java Virtual Machine, called Dalvik Virtual Machine (DVM)
  • 26. The Android SDK tools compile your code— along with any data and resource files—into an APK: an Android package, which is an archive file with an .apk suffix.
  • 27. .apk file is the containers for app binaries.  .dex files these are all the app’s .class files converted to Dalvik byte code.  compiled resources (resources.arsc)  uncompiled resource  Binary version of AndroidManifest.xml An .apk file contains all of the information necessary to run your application on a device or emulator.
  • 29. App are made from components. Android instantiates and runs them as needed.
  • 30. The two fundamental concepts about Android app framework  App provide multiple entry points o From one component you can start another component using an intent. You can even start a component in a different app, such as an activity in maps app to show an address.  Apps adapt to different devices o You can create different XML layout files for different screen sizes and the system determines which layout to apply based on the current device’s screen size.
  • 31. Three of the four component types—activities, services, and broadcast receivers—are activated by an asynchronous message called an intent.
  • 33. Once installed on a device, each Android app lives in its own security sandbox
  • 34.  Android OS is a multi-user Linux system
  • 35.  Android OS is a multi-user Linux system  Each app is a different user.
  • 36.  Android OS is a multi-user Linux system  Each app is a different user.  System assigns each app a unique Linux User ID
  • 37.  Android OS is a multi-user Linux system  Each app is a different user.  System assigns each app a unique Linux User ID  This User ID doesn’t change during app’s life on a device.
  • 38.  Android OS is a multi-user Linux system  Each app is a different user.  System assigns each app a unique Linux User ID  This User ID doesn’t change during app’s life on a device.  This User ID is used only by the system and is unknown to the app.
  • 39.  Android OS is a multi-user Linux system  Each app is a different user.  System assigns each app a unique Linux User ID  This User ID doesn’t change during app’s life on a device.  This User ID is used only by the system and is unknown to the app.  System sets permissions for all the files in an app so that only the User ID assigned to that app can access them.
  • 40.  Android OS is a multi-user Linux system  Each app is a different user.  System assigns each app a unique Linux User ID  This id doesn’t change during app’s life on a device.  This User ID is used only by the system and is unknown to the app.  System sets permissions for all the files in an app so that only the User ID assigned to that app can access them.  Each process has its own virtual machine (VM), so an app's code runs in isolation from other apps.
  • 41.  Android OS is a multi-user Linux system  Each app is a different user.  System assigns each app a unique Linux User ID  This id doesn’t change during app’s life on a device.  This User ID is used only by the system and is unknown to the app.  System sets permissions for all the files in an app so that only the User ID assigned to that app can access them.  Each application is given a dedicated data directory which only it has permission to read and write to  Each process has its own virtual machine (VM), so an app's code runs in isolation from other apps.  By default, every app runs in its own Linux process. Android starts the process when any of the app's components need to be executed, then shuts down the process when it's no longer needed or when the system must recover memory for other apps.
  • 43. Zygote is a daemon whose goal is to launch Apps.
  • 44. Automatically generated UIDs for applications start at 10000 (AID_APP), and the corresponding usernames are in the form  app_XXX or  uY_aXXX (on Android versions that support multiple physical users),
  • 45. The data directory of the email application is named after its package name and is created under /data/data/ on single-user devices.
  • 46. Thus, applications are isolated, or sandboxed, both at the process level (by having each run in a dedicated process) and at the file level (by having a private data directory). This creates a kernel-level application sandbox, which applies to all applications, regardless of whether they are executed in a native or virtual machine process.
  • 47.  Apps that are signed with same certificate can share data, user ID, as well as run in a single process. They just need to specify same sharedUserId and process.
  • 51. Android Development Environment Your workbench for writing android applications
  • 52. Based on Eclipse Based on IntelliJ Community Edition
  • 53. Based on Eclipse Based on IntelliJ Community Edition Windows •Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit)
  • 54. Based on Eclipse Based on IntelliJ Community Edition Windows •Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit) Mac OS X Mac® OS X® 10.8.5 or higher, up to 10.9 (Mavericks)
  • 55. Based on Eclipse Based on IntelliJ Community Edition Windows •Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit) Mac OS X Mac® OS X® 10.8.5 or higher, up to 10.9 (Mavericks) Linux GNOME or KDE desktop Tested on Ubuntu® 14.04, Trusty Tahr
  • 58. DDMS DDMS stands for: Dalvik Debug Monitor Server It is used in: Tracking memory allocation of objects Examining thread information Helps in emulating phone operations and location Also for screen capture, call, and SMS spoofing.
  • 62. Google USB Driver The Google USB Driver is required for Windows only in order to perform adb debugging with any of the Google Nexus devices. Downloading the Google USB Driver
  • 63. Running android app on real devices via USB To run the Android app on a real device (Android Phone or Android Tablet): 1.Connect the real device to your computer. 1.Make sure that you have the "USB Driver" for your device installed on your computer. 2.Enable "USB Debugging" mode on your real device:
  • 64. Running android app on real devices via USB To run the Android app on a real device (Android Phone or Android Tablet): 1.Connect the real device to your computer. 1.Make sure that you have the "USB Driver" for your device installed on your computer. 2.Enable "USB Debugging" mode on your real device: (On Android 3.2 and older) This allows Android SDK to transfer data between your computer and your device. Also enable "Unknown source" from "Applications". This allows applications from unknown sources to be installed on the device. "Settings" ⇒ "Applications" ⇒ "Development" ⇒ Check "USB Debugging"
  • 65. Running android app on real devices via USB To run the Android app on a real device (Android Phone or Android Tablet): 1.Connect the real device to your computer. 1.Make sure that you have the "USB Driver" for your device installed on your computer. 2.Enable "USB Debugging" mode on your real device: (On Android 4.0 and newer) "Settings" ⇒ "Developer options" ⇒ Check "USB Debugging".
  • 66. Running android app on real devices using USB To run the Android app on a real device (Android Phone or Android Tablet): 1.Connect the real device to your computer. 1.Make sure that you have the "USB Driver" for your device installed on your computer. 2.Enable "USB Debugging" mode on your real device: (On Android 4.2 and newer) First you need to enable "Developer options" via "Settings" ⇒ About Phone ⇒ tap "Build number" seven (7) times "Settings" ⇒ "Developer options" ⇒ Check "USB Debugging".
  • 69. A SOFTWARE STACK FOR MOBILE DEVICES
  • 70. A SOFTWARE STACK FOR MOBILE DEVICES  ANDROID LINUX KERNEL  SYSTEM LIBRARIES  RUNTIME  APPLICATION FRAMEWORKS  SDK  KEY APPS
  • 71. A SOFTWARE STACK FOR MOBILE DEVICES  ANDROID LINUX KERNEL  SECURITY  MEMORY & PROCESS MANAGEMENT  FILE & NETWORK I/O  DEVICE DRIVERS  SYSTEM LIBRARIES  RUNTIME  APPLICATION FRAMEWORKS  SDK  KEY APPS
  • 72. A SOFTWARE STACK FOR MOBILE DEVICES  ANDROID LINUX KERNEL  SECURITY  MEMORY & PROCESS MANAGEMENT  FILE & NETWORK I/O  DEVICE DRIVERS  ANDROID SPECIFIC  POWER MANAGEMENT  SYSTEM LIBRARIES  APPLICATION FRAMEWORKS  KEY APPS  SDK  RUNTIME
  • 73. A SOFTWARE STACK FOR MOBILE DEVICES  ANDROID LINUX KERNEL  SECURITY  MEMORY & PROCESS MANAGEMENT  FILE & NETWORK I/O  DEVICE DRIVERS  ANDROID SPECIFIC  POWER MANAGEMENT  ANDROID SHARED MEMORY  SYSTEM LIBRARIES  APPLICATION FRAMEWORKS  KEY APPS  SDK  RUNTIME
  • 74. A SOFTWARE STACK FOR MOBILE DEVICES  ANDROID LINUX KERNEL  SECURITY  MEMORY & PROCESS MANAGEMENT  FILE & NETWORK I/O  DEVICE DRIVERS  ANDROID SPECIFIC  POWER MANAGEMENT  ANDROID SHARED MEMORY  LOW MEMORY KILLER  SYSTEM LIBRARIES  APPLICATION FRAMEWORKS  KEY APPS  SDK  RUNTIME
  • 75. A SOFTWARE STACK FOR MOBILE DEVICES  ANDROID LINUX KERNEL  SECURITY  MEMORY & PROCESS MANAGEMENT  FILE & NETWORK I/O  DEVICE DRIVERS  ANDROID SPECIFIC  POWER MANAGEMENT  ANDROID SHARED MEMORY  LOW MEMORY KILLER  IPC - BINDER  SYSTEM LIBRARIES  APPLICATION FRAMEWORKS  KEY APPS  SDK  RUNTIME
  • 76. A SOFTWARE STACK FOR MOBILE DEVICES  LINUX KERNEL  SYSTEM LIBRARIES  APPLICATION FRAMEWORKS  WINDOW MANAGER  VIEW SYSTEM  PACKAGE MANAGER  ACTIVITY MANAGER  LOCATION MANAGER  NOTIFICATION MANAGER  ALARM MANAGER  CONTENT PROVIDERS  RESOURCE MANAGER  TELEPHONY MANAGER  KEY APPS  SDK  RUNTIME
  • 78. Emulator Can emulate many different device/user characteristics, such as Network speed/latencies Battery Power Location coordinates
  • 79. VGA means Video Graphics Array, and has a resolution of 640*480 pixels. QVGA means Quarter Video Graphics Array and has a resolution of 320*240 pixels. HVGA means Half Video Graphics Array, and has a resolution of 480*320 pixels. WVGA (Wide Video Graphics Array) with a resolution of 800*480 pixels FWVGA (Full Wide Video Graphics Array) at 854*480 pixels The only difference between WVGA and FWVGA is the screen aspect ratio. WVGA has 15:9, and FWVGA is 16:9. 16:9 is better for HD movie watching
  • 81. help
  • 83. power ac off power status not-charging
  • 85. power ac off help network help network speed
  • 87. network speed edge EDGE (Enhanced GPRS) on GSM networks.  It give 3x speed than outdated GPRS system.  Max of 473 kbps.
  • 95. Android Device Manager Android Device Manager is a Google app that allows you to track and secure your devices remotely.
  • 96. Android Device Manager Android Device Manager is a Google app that allows you to track and secure your devices remotely.
  • 97. Android Device Manager , you can remotely track your devices, cause them to ring (even if it was put in silent mode), change the lock code, or completely wipe your devices through this handy little app.
  • 98. Android Device Manager https://www.google.com/android/devicemanager If you lose your android device, you can use Android Device Manager to: 1. Find 2. Ring 3. Lock 4. Erase 5. Add a phone number to lock screen Depending on the permissions you give Android Device Manager in the Google Settings app
  • 99. Android Device Manager https://www.google.com/android/devicemanager If you lose your android device, you can use Android Device Manager to: 1. Locate 2. Ring 3. Lock 4. Erase 5. Add a phone number to lock screen
  • 100. Android Device Manager https://www.google.com/android/devicemanager If you lose your android device, you can use Android Device Manager to: 1. Find 2. Ring 3. Lock 4. Erase 5. Add a phone number to lock screen Depending on the permissions you give Android Device Manager in the Google Settings app
  • 112. ~ End of part-1 ~