Android Internals. Lecture 1. Android and Low-level Optimizations Summer School. 13 July 2015
|
|
- Jessica Stewart
- 6 years ago
- Views:
Transcription
1 Android Internals Lecture 1 Android and Low-level Optimizations Summer School 13 July 2015 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit Android Internals, Lecture 1 1/60
2 Team and Schedule Android Architecture Application components IPC Linux Kernel Binder Android Framework Managers Tools Android Internals, Lecture 1 2/60
3 Outline Team and Schedule Android Architecture Application components IPC Linux Kernel Binder Android Framework Managers Tools Android Internals, Lecture 1 3/60
4 Team and Schedule UPB: Razvan Prejbeanu, Petre Eftime, Laura Gheorghe Intel: Adrian Loteanu, Cristi Levcovici, Stefan Popa, Alecsandru Patrascu Schedule 13 July - 12 August Monday 18:00-21:00 Wednesday 18:00-21:00 Saturday 10:00-13:00 Android Internals, Lecture 1 4/60
5 Outline Team and Schedule Android Architecture Application components IPC Linux Kernel Binder Android Framework Managers Tools Android Internals, Lecture 1 5/60
6 Android Architecture Source: Android Internals, Lecture 1 6/60
7 Android Architecture Linux kernel AOSP Runtime Libraries Application framework Applications Android Internals, Lecture 1 7/60
8 Linux kernel Patches on top of mainline Linux Android Mainlining Project Wakelocks (also added to Linux 3.5) Low-Memory Killer, Binder, Alarm, Logger, etc. Only suspend to memory Android Internals, Lecture 1 8/60
9 Android Runtime Dalvik Virtual Machine (Java VM) Runs Dalvik-specific byte-code generated from Java-based apps, system components Apache Harmony project (implementation of Java libraries) Designed for embedded systems (slow CPU, small RAM, no swap, battery) Works with.dex files instead of.jar files Dalvik Executable Format.dex is 50% smaller than corresponding.jar Android Internals, Lecture 1 9/60
10 Android Runtime Class1.java Class2.java... Java compiler Class1.class constant pool class definition data Class2.class constant pool class definition data... dx classes.dex header constant pool Class1 definition Class2 definition... ClassN definition data ClassN.java ClassN.class constant pool class definition data Android Internals, Lecture 1 10/60
11 Libraries bionic (libc) Much smaller than glibc sqlite Managing SQL databases OpenGL ES Standard software interface for 3D processing hardware WebKit Display web pages Android, Apple ios, BlackBerry, Tizen SSL Securing the communication over Internet Android Internals, Lecture 1 11/60
12 Application Framework Services Managers Telephony Location Activity Package Notification Content Providers Android Internals, Lecture 1 12/60
13 Application Framework Application process System processes Thread Application API RPC stub Binder Service 1 JNI Thread... Native application libraries Binder Service N Android Internals, Lecture 1 13/60
14 Outline Team and Schedule Android Architecture Application components IPC Linux Kernel Binder Android Framework Managers Tools Android Internals, Lecture 1 14/60
15 Application components User interaction Activities Background functionality Services Broadcast Receivers Content Providers Android Internals, Lecture 1 15/60
16 Activity User interface Similar to a window from window-based GUIs Cannot be minimized, maximized, resized Uses the whole visual area User interacts with a single activity at a time Activities stack Activities launch other activities Back button for returning to the previous activity No forward button Start activities with intents Android Internals, Lecture 1 16/60
17 Activity Lifecycle Source: Android Internals, Lecture 1 17/60
18 Service Performs operations in background, no UI Runs in the same process as the application Can be configured to run in another process Provide services to the other applications Communication through the Binder Android Internals, Lecture 1 18/60
19 Broadcast Receiver Receive broadcast announcements Low battery Reboot Application state changes Can receive global or local broadcasts Choose which broadcasts to receive Intents Intent filters Active only when receiving a broadcast Android Internals, Lecture 1 19/60
20 Content Provider Manage access to a structured set of data Required for sharing data with other apps File data or structured data URI for identifying the provider and the table Content Resolver uses the URI to send a query to the provider Active only when responding to a request Android Internals, Lecture 1 20/60
21 Outline Team and Schedule Android Architecture Application components IPC Linux Kernel Binder Android Framework Managers Tools Android Internals, Lecture 1 21/60
22 Intents Send message, determine action execution Purpose Start activities, start or bind services Delivering broadcast messages to receivers Dispatched by the Android system Includes action and data ACTION DIAL content://contacts/people/1 Types Explicit: directed towards a specific receiver Implicit: a receiver which can resolve the action Android Internals, Lecture 1 22/60
23 Binder Lightweight RPC Remote object invocation In process and interprocess Transmit parcels of data Synchronous calls (blocking) Android Internals, Lecture 1 23/60
24 Outline Team and Schedule Android Architecture Application components IPC Linux Kernel Binder Android Framework Managers Tools Android Internals, Lecture 1 24/60
25 Linux Kernel Androidized kernel Hundreds of patches over the standard kernel Device-specific functionality, fixes, enhancements Many features get into the mainline kernel Androidisms Wakelocks Low-Memory Killer Binder Anonymous Shared Memory Alarm Logger Android Internals, Lecture 1 25/60
26 Wakelocks The Android kernel goes to sleep as often as possible Sometimes you want to keep the system from going to sleep Input from the user, critical operations Wakelocks keep the system awake A wakelock must be obtained by the application when it needs to stay awake Apps communicate with the Power Manager Service when they require a wakelock Device drivers call in-kernel wakelock primitives Included in mainline Android Internals, Lecture 1 26/60
27 Low-Memory Killer Linux OOM killer Prevents the activation of the OOM killer (system unlikely to run out of memory) Kills processes with components unused for a long time Based on OOM adjustments mechanism Different OOM kill priorities for different processes The userspace may control OOM killing policies Policies applied at startup by init Modified and enforced by Activity Manager Android Internals, Lecture 1 27/60
28 Low-Memory Killer Levels assigned to processes based on their components Levels from -17 to 15 (high -> killed) Threshold (MinFree) for each type of process Foreground app - application in foreground Visible app - visible but not in foreground Secondary server - service Hidden app - hidden, needed by a running app Content provider - provide data Empty app - app not active Starts killing when the threshold is reached Android Internals, Lecture 1 28/60
29 Anonymous Shared Memory (ashmem) IPC mechanism SysV IPC can lead to resource leakage in the kernel (vulnerability) Similar to POSIX SHM, differences: Uses reference counting to destroy the memory regions Shrink mapped regions when the system needs memory To shrink a region it must be unpinned First process creates region, uses Binder to share descriptor with other processes System services rely on ashmem Surface Flinger, Audio Flinger Driver included in the staging tree Android Internals, Lecture 1 29/60
30 Alarm Uses the RTC and HRT functionalities The setitimer() does not work when the system is suspended (HRT) The application receives the signal when the device wakes up Using RTC, the alarm will be fired even if the system is suspended RTC hardware device Uses HRT by default When the system is about to suspend, it uses RTC Android Internals, Lecture 1 30/60
31 Alarm /dev/alarm character device, ioctl() SystemClock, AlarmManager class rely on the driver SystemClock - obtain and set time AlarmManager - provide alarms to apps The driver and AlarmManager use WakeLocks The app that receives the alarm runs before the system is suspended again Included in the staging tree Android Internals, Lecture 1 31/60
32 Logger Uses kernel buffers for logging data Circular buffers in RAM No task switch, no writing in files (compared to syslog) Avoiding write operations in files is critical on Android devices Each buffer - separate entry in /dev/log (Events, System, Radio, Main) logcat displays the Main buffer by default Android Internals, Lecture 1 32/60
33 Logger Log and EventLog classes - public API Developers use Log EventLog used by the system components Diagnostic events Slog - system use (AOSP) Android Internals, Lecture 1 33/60
34 Logging Messages Through liblog library Logging from java classes Used by logcat Formatting and filtering Log message Priority, tag and data for each event Priority: verbose, debug, info, warn, error Tag: identifies the component that generated the message Staging tree Android Internals, Lecture 1 34/60
35 Logging System Android Internals, Lecture 1 35/60
36 Outline Team and Schedule Android Architecture Application components IPC Linux Kernel Binder Android Framework Managers Tools Android Internals, Lecture 1 36/60
37 Binder History RPC mechanism Initially in BeOS (then bought by Palm) OpenBinder project OpenBinder developers working in Android team Android Binder does not derive from OpenBinder Clean re-write of the same functionality OpenBinder documentation for understanding the mechanism Binder driver in the staging tree from kernel 3.3 Android Internals, Lecture 1 37/60
38 Binder Remote object invocation Remote services as objects Interface definition and reference to it Cornerstone of Android architecture Apps talk to System Server Apps talk to other service components Developers don t use the Binder directly Use interfaces and stubs generated with the aidl tool Android Internals, Lecture 1 38/60
39 Binder Driver Part of the Binder implemented in a kernel driver Character device /dev/binder Uses ioctl() calls Transmit parcels of data (serialized) between entities Android Internals, Lecture 1 39/60
40 Outline Team and Schedule Android Architecture Application components IPC Linux Kernel Binder Android Framework Managers Tools Android Internals, Lecture 1 40/60
41 Android Framework On top of the native userspace android.* packages, System Services, Android Runtime Code in /frameworks directory in AOSP Key building blocks: Service Manager, Dalvik, Zygote Android Internals, Lecture 1 41/60
42 System Services Form an object-oriented OS on top of Linux System Server All components run in the system_server process Many Java-based services/managers, 2 C-based services Power Manager, Activity Manager, Location Manager, etc. Surface Flinger, Sensor Service (C/C++) Media Server mediaserver process C/C++ code Audio Flinger, Media Player Service, Camera Service Android Internals, Lecture 1 42/60
43 Service Manager Performs system service handle lookups The Yellow pages book of all services A service must be registered to the Service Manager to be available Started by init before any other service Opens /dev/binder and becomes the Context Manager of the Binder Binder ID 0 = magic object = Service Manager Android Internals, Lecture 1 43/60
44 Service Manager System Server registers every service with the Service Manager Any app that wants to talk to a system service: Asks the Service Manager for a handle getsystemservice() Invokes the methods of the service using the handle Not used by an app to access its own service Used by the dumpsys utility to obtain the status of the system services Android Internals, Lecture 1 44/60
45 Dalvik Dalvik virtual machine Java VM optimized for mobile architectures Lower memory footprint Works with.dex files instead of.jar files Incompatible with Java bytecode Register based, not stack based 16 bit instructions Android Internals, Lecture 1 45/60
46 Dalvik Includes Just-in-Time (JIT) compiler ARM, x86, MIPS Translates bytecode into binary machine instructions Code runs directly on the CPU, not one instruction at a time by the VM The conversion is stored and used next time the application runs Apps run much faster Android Internals, Lecture 1 46/60
47 ART Android Runtime (ART) Dalvik Executable format Ahead-of-Time compilation (AoT) Improved garbage collection Support for sampling profiler More debugging features More details in case of exceptions and crash reports Android Internals, Lecture 1 47/60
48 Zygote Daemon used to launch apps Listens to connections on its socket for requests to start apps /dev/socket/zygote When it gets a request, it forks itself and launches the app Preloads (in RAM) all Java classes and resources needed by an app Copy-on-write (COW) Classes and resources are not modified, so all apps use them from Zygote (only one copy in RAM) The System Server is started explicitly by Zygote The PPID of all apps is the PID of Zygote Android Internals, Lecture 1 48/60
49 Outline Team and Schedule Android Architecture Application components IPC Linux Kernel Binder Android Framework Managers Tools Android Internals, Lecture 1 49/60
50 Activity Manager One of the most important services in the System Server Handles application lifecycle Broadcasts intents Starting new components (activities, services) Fetching Content Providers Responsible with the Application Not Responding (ANR) messages Involved in Permission checks OOM adjustments for the Low-Memory Killer Task management Android Internals, Lecture 1 50/60
51 Activity Manager Starts the Launcher (with Intent.CATEGORY_HOME) When an app is started from Launcher Launcher s onclick() callback is called Launcher calls the startactivity() from ActivityManager (through Binder) ActivityManager calls startviazygote() method Opens socket to Zygote and asks to start the activity am command for invoking the functionality of the ActivityManager isuseramonkey() Android Internals, Lecture 1 51/60
52 Package Manager Manages the.apk files in the systems API for installing, uninstalling, upgrading.apk files system_server and installd processes Ensures that the JIT versions of the dex bytecode is available before the app is started Resolves intents pm command for invoking the functionality of the PackageManager Android Internals, Lecture 1 52/60
53 Power Manager Control the power state of the device Handles WakeLocks Includes the WakeLock class acquire(), release() Apps request WakeLocks from PowerManager All calls to the Power Management (kernel) go through PowerManager Can force device to go to sleep Set the brightness of the backlights Android Internals, Lecture 1 53/60
54 Outline Team and Schedule Android Architecture Application components IPC Linux Kernel Binder Android Framework Managers Tools Android Internals, Lecture 1 54/60
55 SDK Tools Android SDK Manager Download SDK packages AVD Manager Manages Android Virtual Devices (for emulator) Emulator Virtual mobile devices running on a PC Dalvik Debug Monitor Server (ddms) Debugging tool Port forwarding, screen capture, call and SMS spoofing, location spoofing, etc. Android Internals, Lecture 1 55/60
56 SDK Tools Android Debug Bridge (adb) Communication between the development tools and (virtual) device dx Generates the classes.dex file from several.class files Android Interface Definition Language (aidl) To allow clients from another application to access your service Generates interfaces and stubs that are used by the Binder Android Asset Packaging Tool (aapt) Create, update and view Zip-compatible archives (zip, apk, jar) Compile resources into binary assets (XML files, etc.) dexdump Disassembler tool Obtain the Dalvik bytecode from classes.dex Android Internals, Lecture 1 56/60
57 Android Debug Bridge Three components Client: runs on the development machine Server: background process on the development machine Daemon: background process on the (virtual) device Copy files Install applications Debug Shell on the (virtual) device Android Internals, Lecture 1 57/60
58 Emulator QEMU Screen, Keyboard, Network, Audio, GPS, Radio Can be accelerated through virtualization x86 System Image Intel Hardware Accelerated Execution Manager (HAXM) on Windows KVM on Linux GPU accelerated Android Internals, Lecture 1 58/60
59 Bibliography Karim Yaghmour, Embedded Android: Porting, Extending, and Customizing, Chapter 2 activities.html services.html providers/content-providers.html intents-filters.html http: //developer.android.com/tools/help/index.html Android Internals, Lecture 1 59/60
60 Keywords Linux kernel AOSP Android Runtime Libraries Activities Services Broadcast Receivers Content Providers Intents WakeLocks Low-Memory killer Binder Ashmem Alarm Logger System Server Service Manager Dalvik ART Zygote Activity Manager Package Manager ADB Emulator Android Internals, Lecture 1 60/60
Lecture 3 Android Internals
Lecture 3 Android Internals This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or
More informationLecture 1 - Introduction to Android
Lecture 1 - Introduction to Android This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/
More informationAndroid Internals. Lecture 3. Operating Systems Practical. 19 October 2016
Android Internals Lecture 3 Operating Systems Practical 19 October 2016 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.
More informationIntroduction. Lecture 1. Operating Systems Practical. 5 October 2016
Introduction Lecture 1 Operating Systems Practical 5 October 2016 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.
More informationAnother difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.
9. Android is an open-source operating system for mobile devices. Nowadays, it has more than 1.4 billion monthly active users (statistic from September 2015) and the largest share on the mobile device
More informationAndroid: Under the Hood. GDG-SG DevFest 5th Nov 2016 Jason Zaman
Android: Under the Hood GDG-SG DevFest 5th Nov 2016 Jason Zaman Overview Who am I? Android Block Diagram Mobile Hardware Filesystem Layout Startup Linux Kernel Bionic libc Ashmem / Binder IPC Zygote Dalvik
More informationANDROID NATIVE APP: INTRODUCTION TO ANDROID. Roberto Beraldi
ANDROID NATIVE APP: INTRODUCTION TO ANDROID Roberto Beraldi Role of an operating system APPLICATIONS OPERATING SYSTEM CPU MEMORY DEVICES Android = OS + Middleware Based on Linux Not just another distribution.
More informationAndroid Internals and the Dalvik VM!
Android Internals and the Dalvik VM! Adam Champion, Andy Pyles, Boxuan Gu! Derived in part from presentations by Patrick Brady, Dan Bornstein, and Dan Morrill from Google (http://source.android.com/documentation)!
More informationAndroid Overview. Most of the material in this section comes from
Android Overview Most of the material in this section comes from http://developer.android.com/guide/ Android Overview A software stack for mobile devices Developed and managed by Open Handset Alliance
More informationKernel hacking su Android. Better Embedded Andrea Righi
Kernel hacking su Android Agenda Overview Android Programming Android Power Management Q/A Overview What is Android OS? Linux kernel Android patches Bionic libc Dalvik VM (Java Virtual Machine) Application
More informationMobile and Wireless Systems Programming
to Android Android is a software stack for mobile devices that includes : an operating system middleware key applications Open source project based on Linux kernel 2.6 Open Handset Alliance (Google, HTC,
More informationLecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.
CSCE 315: Android Lectures (1/2) Dr. Jaerock Kwon App Development for Mobile Devices Jaerock Kwon, Ph.D. Assistant Professor in Computer Engineering App Development for Mobile Devices Jaerock Kwon, Ph.D.
More informationMobile and Ubiquitous Computing: Android Programming (part 1)
Mobile and Ubiquitous Computing: Android Programming (part 1) Master studies, Winter 2015/2016 Dr Veljko Pejović Veljko.Pejovic@fri.uni-lj.si The World of Android The Android Platform A mobile operating
More informationAn Introduction to Android. Jason Chen Developer Advocate Google I/O 2008
An Introduction to Android Jason Chen Developer Advocate Google I/O 2008 Background What is Android? Latest News 4,000,000,000 Internet and Mobile Phone Users, Worldwide 3,000,000,000 2,000,000,000 1,000,000,000
More informationMobile OS. Symbian. BlackBerry. ios. Window mobile. Android
Ing. Elton Domnori December 7, 2011 Mobile OS Symbian BlackBerry Window mobile Android ios Mobile OS OS First release Last release Owner Android Android 1.0 September 2008 Android 4.0 May 2011 Open Handset
More informationAndroid System Development Training 4-day session
Android System Development Training 4-day session Title Android System Development Training Overview Understanding the Android Internals Understanding the Android Build System Customizing Android for a
More informationProduced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology
Mobile Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie Android Anatomy Android Anatomy 2! Agenda
More informationAndroid. (XKE Mars 2009) Erwan Alliaume.
Android (XKE Mars 2009) Erwan Alliaume ealliaume(*at*)xebia(*dot*)fr http://www.xebia.fr http://blog.xebia.fr History August 2005 Google acquires Android November 2007 Open Handset Alliance announcement
More informationIJRDTM Kailash ISBN No Vol.17 Issue
ABSTRACT ANDROID OPERATING SYSTEM : A CASE STUDY by Pankaj Research Associate, GGSIP University Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
More informationSHWETANK KUMAR GUPTA Only For Education Purpose
Introduction Android: INTERVIEW QUESTION AND ANSWER Android is an operating system for mobile devices that includes middleware and key applications, and uses a modified version of the Linux kernel. It
More informationAndroid App Development
Android App Development Outline Introduction Android Fundamentals Android Studio Tutorials Introduction What is Android? A software platform and operating system for mobile devices Based on the Linux kernel
More informationCS260 Intro to Java & Android 04.Android Intro
CS260 Intro to Java & Android 04.Android Intro Winter 2015 Winter 2015 CS260 - Intro to Java & Android 1 Android - Getting Started Android SDK contains: API Libraries Developer Tools Documentation Sample
More informationAndroid Fundamentals - Part 1
Android Fundamentals - Part 1 Alexander Nelson September 1, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Projects Project 1 due Wednesday, September 13th
More informationJapan Linux Symposium Daisuke Numaguchi Tetsuo Handa Giuseppe La Tona NTT DATA CORPORATION
Japan Linux Symposium 2009 2009.10.23 Daisuke Numaguchi Tetsuo Handa Giuseppe La Tona NTT DATA CORPORATION 1. INTRODUCTIONS Copyright (C) 2009 NTT Data Corporation 2 TOMOYO overview MAC implementation
More informationCOLLEGE OF ENGINEERING, NASHIK-4
Pune Vidyarthi Griha s COLLEGE OF ENGINEERING, NASHIK-4 DEPARTMENT OF COMPUTER ENGINEERING 1) What is Android? Important Android Questions It is an open-sourced operating system that is used primarily
More information21. This is a screenshot of the Android Studio Debugger. It shows the current thread and the object tree for a certain variable.
4. Logging is an important part of debugging, which is hard to achieve on mobile devices, where application development and execution take place on different systems. Android includes a framework that
More informationCHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationIntroduction to Android
Introduction to Android http://myphonedeals.co.uk/blog/33-the-smartphone-os-complete-comparison-chart www.techradar.com/news/phone-and-communications/mobile-phones/ios7-vs-android-jelly-bean-vs-windows-phone-8-vs-bb10-1159893
More informationAndroid App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore
Android App Development Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore Mobile devices (e.g., smartphone, tablet PCs, etc.) are increasingly becoming an essential part of human life
More informationAndroid Ecosystem and. Revised v4presenter. What s New
Android Ecosystem and Revised v4presenter What s New Why Mobile? 5B 4B 3B 2B 1B Landlines PCs TVs Bank users Mobiles 225M AOL 180M 135M 90M 45M 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Quarters
More informationAndroid on Tizen. Moscow State University
Android on Tizen 1 Moscow State University Presenter Andrey Shitov PhD Student at Lomonosov Moscow State University (MSU), Computational Mathematics and Cybernetics 2 Compilers, Virtual Machines, System
More informationUnCovert: Evaluating thermal covert channels on Android systems. Pascal Wild
UnCovert: Evaluating thermal covert channels on Android systems Pascal Wild August 5, 2016 Contents Introduction v 1: Framework 1 1.1 Source...................................... 1 1.2 Sink.......................................
More informationLecture 2 Android SDK
Lecture 2 Android SDK This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send a
More informationAndroid AOSP Overview. Karthik Dantu and Steve Ko
Android AOSP Overview Karthik Dantu and Steve Ko Administrivia Any issues in building? Android Build System & Source Tree Today s goal Getting to know the build system Navigating the source tree Resources
More informationUnderstand applications and their components. activity service broadcast receiver content provider intent AndroidManifest.xml
Understand applications and their components activity service broadcast receiver content provider intent AndroidManifest.xml Android Application Written in Java (it s possible to write native code) Good
More informationios vs Android By: Group 2
ios vs Android By: Group 2 The ios System Memory Section A43972 Delta Core OS Layer Core Services Layer Media Layer CoCoa Touch Layer Memory Section A43972 Delta Aaron Josephs Core OS Layer - Core OS has
More informationCS378 - Mobile Computing. Anatomy of an Android App and the App Lifecycle
CS378 - Mobile Computing Anatomy of an Android App and the App Lifecycle Application Components five primary components different purposes and different lifecycles Activity single screen with a user interface,
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationIntroduction To Android
Introduction To Android Mobile Technologies Symbian OS ios BlackBerry OS Windows Android Introduction to Android Android is an operating system for mobile devices such as smart phones and tablet computers.
More informationAndroid Debugging ART
Android Debugging ART Khaled JMAL 2016 / 11 / 17 2 / 24 The Dalvik Virtual Machine Up to version 4.4 KitKat, Android was based on the Dalvik Virtual Machine Java compiles into DEX code DEX code is compiled
More informationAndroid System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015
Android System Architecture Android Application Fundamentals Applications in Android All source code, resources, and data are compiled into a single archive file. The file uses the.apk suffix and is used
More informationAndroid App Development
Android App Development Course Contents: Android app development Course Benefit: You will learn how to Use Advance Features of Android with LIVE PROJECTS Original Fees: 15000 per student. Corporate Discount
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edition
Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationChapter 2. Operating-System Structures
Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationMobile Application Development - Android
Mobile Application Development - Android MTAT.03.262 Satish Srirama satish.srirama@ut.ee Goal Give you an idea of how to start developing Android applications Introduce major Android application concepts
More informationCOSC 3P97 Mobile Computing
COSC 3P97 Mobile Computing Mobile Computing 1.1 COSC 3P97 Prerequisites COSC 2P13, 3P32 Staff instructor: Me! teaching assistant: Steve Tkachuk Lectures (MCD205) Web COSC: http://www.cosc.brocku.ca/ COSC
More informationAndroid App Development. Ahmad Tayeb
Android App Development Ahmad Tayeb Ahmad Tayeb Lecturer @ Department of Information Technology, Faculty of Computing and Information Technology, KAU Master degree from Information Sciences and Technologies,
More informationAndroid System Development Day-4. Team Emertxe
Android System Development Day-4 Team Emertxe Android System Service Table of Content Introduction to service Inter Process Communication (IPC) Adding Custom Service Writing Custom HAL Compiling SDK Testing
More informationRequired Core Java for Android application development
Required Core Java for Android application development Introduction to Java Datatypes primitive data types non-primitive data types Variable declaration Operators Control flow statements Arrays and Enhanced
More informationDeepDroid: Dynamically Enforcing Enterprise Policy on Android Devices
DeepDroid: Dynamically Enforcing Enterprise Policy on Android Devices Xueqiang Wang 1, Kun Sun 2, Yuewu Wang 1, Jiwu Jing 1 1 Institute of Information Engineering, CAS 2 College of William and Mary Mon,
More informationAndroid Overview. Francesco Mercaldo, PhD
Android Overview Francesco Mercaldo, PhD Post-Doctoral researcher Corso di Sicurezza delle Reti e dei Sistemi Software Università degli Studi del Sannio (fmercaldo@unisannio.it) Things are not always what
More informationINTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY
INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK A REVIEW ON THE ARCHITECTURE OF ANDROID IN SMART PHONES RAVNEET KAUR T. BAGGA 1,
More informationInfrastructure Middleware (Part 3): Android Runtime Core & Native Libraries
Infrastructure Middleware (Part 3): Android Runtime Core & Native Libraries Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt
More informationAndroid Architecture and Binder. Dhinakaran Pandiyan Saketh Paranjape
Android Architecture and Binder Dhinakaran Pandiyan Saketh Paranjape Android Software stack Anatomy of an Android application Activity UI component typically corresponding of one screen Service Background
More informationUser Guide. Android x86 Modified System. Sponsor: Huan Ren. Compiled by: Zachary Bair, Taronish Daruwalla, Joshua Duong, and Anthony Nguyen
User Guide Android x86 Modified System Sponsor: Huan Ren Compiled by: Zachary Bair, Taronish Daruwalla, Joshua Duong, and Anthony Nguyen Table of Contents 1. What is Android x86? 2. How to get Android
More informationSecurity Philosophy. Humans have difficulty understanding risk
Android Security Security Philosophy Humans have difficulty understanding risk Safer to assume that Most developers do not understand security Most users do not understand security Security philosophy
More informationLecture 08. Android Permissions Demystified. Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner. Operating Systems Practical
Lecture 08 Android Permissions Demystified Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner Operating Systems Practical 20 November, 2013 OSP Lecture 08, Android Permissions Demystified
More informationMobile Application Development
Mobile Application Development The principal goal of education is to create men and women who are capable of doing new things, not simply repeating what other generations have done. -Jean Piaget Mobile
More informationAndroid Programming in Bluetooth Cochlea Group
Android Programming in Bluetooth Cochlea Group Zijian Zhao Abstract: My project is mainly android programming work in the Bluetooth Cochlea Group. In this report I will first introduce the background of
More informationApplications Mobiles et Internet des Objets Introduction a l architecture d Android
Applications Mobiles et Internet des Objets Introduction a l architecture d Android Thibault CHOLEZ - thibault.cholez@loria.fr TELECOM Nancy - Universite de Lorraine LORIA - INRIA Nancy Grand-Est From
More informationPAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY:
PAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY: K.VENU 10JE1A0555 Venu0555@gmail.com B.POTHURAJU 10JE1A0428 eswr10je1a0410@gmail.com ABSTRACT early prototypes, basic building blocks of an android
More informationAndroid-Basics. Praktikum Mobile und Verteilte Systeme. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld
Praktikum Mobile und Verteilte Systeme Android-Basics Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld http://www.mobile.ifi.lmu.de WS 2017/18 Programming with Android Today: Android basics
More informationIntroduction to Mobile Application and Development
Introduction to Mobile Application and Development Mobile Phones A mobile phone (also called mobile, cellular telephone, cell phone, or hand phone is an electronic device used to make 1. Calls across a
More informationANDROID SYLLABUS. Advanced Android
Advanced Android 1) Introduction To Mobile Apps I. Why we Need Mobile Apps II. Different Kinds of Mobile Apps III. Briefly about Android 2) Introduction Android I. History Behind Android Development II.
More informationMobile Computing. Introduction to Android
Mobile Computing Introduction to Android Mobile Computing 2011/2012 What is Android? Open-source software stack for mobile devices OS, middleware and key applications Based upon a modified version of the
More informationAndroid - open source mobile platform
Android - open source mobile platform Alexander Schreiber http://www.thangorodrim.de/ Chemnitzer Linux-Tage 2009 Alexander Schreiber Android - open source mobile
More informationSD Module- Android Programming
Assignment No. 1 SD Module- Android Programming R (2) C (4) V (2) T (2) Total (10) Dated Sign Title: Download Install and Configure Android Studio on Linux /windows platform. Problem Definition: Install
More informationATC Android Application Development
ATC Android Application Development 1. Android Framework and Android Studio b. Android Platform Architecture i. Linux Kernel ii. Hardware Abstraction Layer(HAL) iii. Android runtime iv. Native C/C++ Libraries
More informationLecture 4 Native libraries
Lecture 4 Native libraries This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on
Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System
More informationIntroduction to Android
Introduction to Android Ambient intelligence Alberto Monge Roffarello Politecnico di Torino, 2017/2018 Some slides and figures are taken from the Mobile Application Development (MAD) course Disclaimer
More informationAndroid Programming (5 Days)
www.peaklearningllc.com Android Programming (5 Days) Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. This Android
More informationAndroid. Mobile operating system developed by Google A complete stack. Based on the Linux kernel Open source under the Apache 2 license
Android Android Mobile operating system developed by Google A complete stack OS, framework A rich set of applications Email, calendar, browser, maps, text messaging, contacts, camera, dialer, music player,
More informationAndroid OS and Power Architecture
June 24, 2010 OS and Power Architecture FTF-NET-F0677 Phil Brownfield Software Product Manager, NMG Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC,
More informationzwange@gmu.edu, astavrou@gmu.edu What is Android?! Android delivers a complete set of software for mobile devices: an operating system, middleware and key mobile applications. -- http://android.com/about/!
More informationITG Software Engineering
Android Security Course ID: Page 1 Last Updated 12/15/2014 Android Security ITG Software Engineering Course Overview: This 5 day course covers the Android architecture, the stack, and primary building
More informationAround Android. Essential Android features illustrated by a walk through a practical example
Around Android Essential Android features illustrated by a walk through a practical example By Stefan Meisner Larsen, Trifork. sml@trifork.dk. Twitter: stefanmeisner Agenda Introduction to MoGuard Alert
More informationandroid application development CONTENTS 1.1 INTRODUCTION TO O ANDROID OPERATING SYSTEM... TURES Understanding the Android Software Stack...
Contents android application development FOR m.tech (jntu - h) i semester - CSE, ii semester - WEB TECHNOLOGIES CONTENTS i UNIT - I [CH. H. - 1] ] [INTRODUCTION TO ANDROID OPERATING SYSTEM]... 1.1-1.32
More informationLab 4 In class Hands-on Android Debugging Tutorial
Lab 4 In class Hands-on Android Debugging Tutorial Submit lab 4 as PDF with your feedback and list each major step in this tutorial with screen shots documenting your work, i.e., document each listed step.
More informationBECOMING MORE EFFECTIVE WITH THE ANDROID EMULATOR
AnDevCon San Francisco 2013 PRESENTED BY LUIS DE LA ROSA DIRECTOR OF TECHNOLOGY @louielouie BECOMING MORE EFFECTIVE WITH THE ANDROID EMULATOR AKA ANDROID EMULATOR MYTHS... BUSTED! 2.1 WHAT YOU WILL LEARN
More informationChapter 1 Hello, Android
Chapter 1 Hello, Android OPEN HANDSET ALLIANCE OPEN HANDSET ALLIANCE OPEN HANDSET ALLIANCE A commitment to openness, a shared vision for the future, and concrete plans to make the vision a reality. To
More informationSoftware Development & Education Center ANDROID. Application Development
Software Development & Education Center ANDROID Application Development Android Overview and History ANDROID CURRICULUM How it all got started Why Android is different (and important) Android Stack Overview
More informationIntroduction to Android
Introduction to Android Ambient intelligence Teodoro Montanaro Politecnico di Torino, 2016/2017 Disclaimer This is only a fast introduction: It is not complete (only scrapes the surface) Only superficial
More informationAndroid Application Development
Android Application Development Octav Chipara What is Android A free, open source mobile platform A Linux-based, multiprocess, multithreaded OS Android is not a device or a product It s not even limited
More informationUNIT:2 Introduction to Android
UNIT:2 Introduction to Android 1 Syllabus 2.1 Overview of Android 2.2 What does Android run On Android Internals? 2.3 Android for mobile apps development 2.5 Environment setup for Android apps Development
More information1. What are the key components of Android Architecture? 2. What are the advantages of having an emulator within the Android environment?
1. What are the key components of Android Architecture? Android Architecture consists of 4 key components: - Linux Kernel - Libraries - Android Framework - Android Applications 2. What are the advantages
More informationMY FIRST ANDROID TM. Peter Aagaard Kristensen
MY FIRST ANDROID TM PORT Peter Aagaard Kristensen Agenda Source Building Kernel Startup Hardware Debugging 2 Where to start developer.android.com source.android.com kandroid.org pdk.android.com android.git.kernel.org
More informationAndroid Programmierung leichtgemacht. Lars Vogel
Android Programmierung leichtgemacht Lars Vogel Twitter: @vogella Lars Vogel Arbeitet als unabhängiger Eclipse und Android Berater und Trainer Arbeit zusätzlichen für SAP AG als Product Owner in einem
More informationCustomization of Android and Performance Analysis of Android Applications in Different Environments
Customization of Android and Performance Analysis of Android Applications in Different Environments Thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Engineering
More informationDROID. By S.Gokulakrishnan AP/CSE SCSVMV
Mobile Applicatio on Development with AND DROID By S.Gokulakrishnan AP/CSE SCSVMV The Players Android Open source mobile OS developed ny the Open Handset Alliance led by Google. Based on Linux 2.6 kernel
More informationFour Components of a Computer System
Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources
More informationCHAPTER 3 - PROCESS CONCEPT
CHAPTER 3 - PROCESS CONCEPT 1 OBJECTIVES Introduce a process a program in execution basis of all computation Describe features of processes: scheduling, creation, termination, communication Explore interprocess
More informationAndroid Online Training
Android Online Training IQ training facility offers Android Online Training. Our Android trainers come with vast work experience and teaching skills. Our Android training online is regarded as the one
More informationMinimizing Boot Time of Android Based Devices
Minimizing Boot Time of Android Based Devices Stage I Report Submitted in partial fulfillment of the requirements for the degree of Master of Technology by Nimit D. Kalaria Roll No: 10305904 under the
More informationAndroid. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1
Android Lesson 1 1 1 1.0 to Android 2 Contents Android is an ecosystem Android platform architecture Android Versions Challenges of Android app development App fundamentals 3 Android Ecosystem 4 What is
More informationAndroid Software Development Kit (Part I)
Android Software Development Kit (Part I) Gustavo Alberto Rovelo Ruiz October 29th, 2010 Look & Touch Group 2 Presentation index What is Android? Android History Stats Why Andriod? Android Architecture
More informationMinds-on: Android. Session 1
Minds-on: Android Session 1 Paulo Baltarejo Sousa Instituto Superior de Engenharia do Porto 2016 Outline Mobile devices Android OS Android architecture Android Studio Practice 1 / 33 2 / 33 Mobile devices
More informationWhy Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18
Why Android? Android Overview Dr. Siddharth Kaza Dr. Josh Dehlinger A lot of students have them 2010 survey by University of CO 1 : 22% of college students have Android phone (26% Blackberry, 40% iphone)
More informationServices are software components designed specifically to perform long background operations.
SERVICES Service Services are software components designed specifically to perform long background operations. such as downloading a file over an internet connection or streaming music to the user, but
More informationAndroid framework. How to use it and extend it
Android framework How to use it and extend it Android has got in the past three years an explosive growth: it has reached in Q1 2011 the goal of 100M of Activations world wide with a number of daily activations
More information