Analysis of Access Control Framework of Android
|
|
- Dominick Robertson
- 3 years ago
- Views:
From this document you will learn the answers to the following questions:
What does the uncompressed dex fie take less?
What is the name of the virtual machine that Android uses?
Transcription
1 Analysis of Access Control Framework of Android Jawad Manzoor Erisa Dervishi Sari Setianingsih EMDC January-2011
2 Table of Contents 1. Introduction Motivation Goals Android Architecture Application Components Dalvik Virtual Machine Architecture of Dalvik VM Dalvik Byte Code Dalvik optimizations Comparison of Dalvik VM with Java VM Size Comparison of Dex & Jar Files Security Architecture Permissions Permission class AndroidManifest.xml file Permission Enforcement Source Code Analysis Debugging Logging PackageManagerService class Conclusions References... 14
3 1. Introduction Android is the first comprehensive open source mobile software stack introduced in the market by Open Handset Alliance (OHA - A global alliance of leading technology and mobile industries)[1]. It consists of complete mobile operating system supported by Linux kernel, a newly built Dalvik virtual machine, and some modern day mobile applications. Its is targeted at smart phones and ported to many net books and recently on x86 architecture too. 2. Motivation Android is widely adopted by both the end users and the developer community. This adoption has led to the creation of a large number of third party applications. Developers post their applications on Android Market but there is no dedicated team to analyze the application code uploaded to Android Market and decide its trustworthiness. There is a threat of intrusion by malicious applications, worms and viruses. Figure 1 shows the worldwide Operating System share according to AdMob Mobile Metrics Report and figure 2 shows the share for United States. We can clearly see that Android is constantly going up and other operating systems are going down in the graph. Figure 1 - AdMob Mobile Metrics Report, May 2010
4 Figure 2 - Nielsen Report, June Goals Get hands on experience with Android framework. To study and analyze access control mechanism of Android How applications access system resources? What are the vulnerabilities? Find limitations in Android regarding its access control mechanism. 4. Android Architecture Android system architecture is composed of four layers. Mobile applications are on upper most layer, underneath that the second layer contains the application framework. The application framework is a built-in toolkit, which provides set of services to the Android developers in order to build innovative and efficient Android applications. The third layer provides the C/C++ native libraries and Android Runtime (which further consists of two modules, Dalvik virtual machine and Android core libraries). The last layer is Linux kernel that manages low level resources; such as memory management, power management, hardware drivers, process management, etc.
5 Applications Browser Dialer Camera..... Application Framework SMS Manager Location Manager Telephony Manager Package Manager Connectivity Manager... Android Runtime Libraries Core Libraries Dalvik Virtual Machine Webkit.. SSL SQLite.. OpenGL FreeType.. Linux Kernel Display Driver WiFi Driver Binder (IPC) Driver Power Management..... Figure 3: Android architecture 5. Application Components Activities: An activity presents a visual user interface with which the user can interact. It is implemented as a subclass of the Activity base class. Services: A service doesn't have a visual user interface, but rather runs in the background for an indefinite period of time. Broadcast receivers: A broadcast receiver is a component that does nothing but receive and react to broadcast announcements. Content providers: A content provider makes a specific set of the application's data available to other applications. The data can be stored in the file system or SQLite database. 6. Dalvik Virtual Machine All mobile systems features little RAM, low performance CPU, slow internal flash memory, and limited battery power. Therefore, a need was felt for a VM that could provide better performance with limited resources. So came Dalvik [2], designed to run on Linux kernel, which provides process threading, pre-processing for faster application execution, User ID
6 based security procedures and inter-process communication. Dalvik is a virtual machine that is designed specifically for the Android platform. Unlike most of virtual machines that are stack based[4], Dalvik architecture is register based[4]. It is optimized to use less space. The interpreter is simplified for faster execution. 5.1 Architecture of Dalvik VM Dalvik is a register based architecture making it faster and performance efficient for running application code. It has to operate on Dalvik byte code rather than Java byte code. The supported functionalities are: Dalvik execution file format. Dalvik instruction set J2ME CLDC API Multi-threading. The supported libraries in Dalvik include: 1. dalvik/libcore (written in C/C++) 2. dalvik/vm/native (written in C/C++) 3. OpenSSL (for encryption) 4. zlib (free, general-purpose, data-compression library) 5. ICU (for character encoding) 6. java packages (including java.nio, java.lang, java.util) 7. Apache Harmony classlib (including Apache HttpClient) 5.2 Dalvik Byte Code Dalvik operates on its own form of byte-code known as Dalvik byte code. This byte code is created from the Java byte code with the help of dx tool and stored in.dex file. Reason for using its own byte is obvious. It prepares its byte code for optimal performance before it is executed. 5.3 Dalvik optimizations To overcome memory limitations, system overhead, redundancy, and similar issues Dalvik performs several optimizations. To minimize the system memory usage, dex files are mapped read-only (for security purpose), and also sharing is allowed between processes. This avoids unnecessary repetition of data, and reduces memory usage. It also aggregates multiple classes into single dex file to avoid redundancy. This saves a lot of memory for the system. For reducing overhead to the system the byte code is optimized by ordering the byte-code and word alignment adjustment, before launching an application. Dalvik is therefore optimized for running many concurrent instances even in the limited memory of a mobile phone [5]. Byte-code verification is a slow process, so Dalvik makes processing fast by performing pre-verification of this byte code[6]. 5.4 Comparison of Dalvik VM with Java VM The following table depicts different aspects of both VMs.
7 Criteria Dalvik JVM Architecture Register-based Stack-based OS Support Android All Reverse Engineering-tools A few(dexdump,ddx) Many (jad, bcel,_ndbugs,...) Executables DEX JAR Constant-Pool Per application Per class Table 1: Different Aspects of both the VM's [7] 5.5 Size Comparison of Dex & Jar Files From this table it is evident that even the uncompressed dex fie is taking less space than the compressed jar file. Contents Uncompressed jar file Compressed jar files Uncompressed dex file In Bytes In % In Bytes In % In Bytes In % Common System Libraries Web browser Application Alarm Check Application Table 2: Size Comparison between Jar & Dex files [8]. 7. Security Architecture Android is a multi-process system, in which each application runs in its own process. Most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications. Each Android package (.apk) file installed on the device is given its own unique Linux user ID which remains constant for the duration of its life on that device. 7.1 Permissions Every application needs to access some system services in order to perform its actions. In order to access any system service/resource the application must have the appropriate permission. For example:
8 Send SMS, take pictures from the camera, make calls, access Internet 7.2 Permission class Manisfest.Premission class has a list of all permissions that may be needed by an application. public static final class Manifest.permission extends Object java.lang.object android.manifest.permission Some of the common permissions are shown below: READ_CONTACTS Allows an application to read the user's contacts data. WRITE_CONTACTS READ_SMS SEND_SMS ACCESS_FINE_LOCATION ACCESS_COARSE_LOCATION INTERNET CALL_PHONE Allows an application to write (but not read) the user's contacts data Allows an application to read SMS messages Allows an application to send SMS messages. Allows an application to access fine (e.g., GPS) location Allows an application to access coarse (e.g., Cell-ID, WiFi) location Allows applications to open network sockets. Allows an application to initiate a phone call Table 3: List of permissions in Android 7.3 AndroidManifest.xml file The permissions are declared by the application developer in the manifest file AndroidManifest.xml. This file is packaged along the executable of the application. In the uses-permission tag of this file, we specify one by one all the permissions that are required by our application in order to perform its functionalities. The format of the xml file is shown below:
9 <manifest xmlns:android=" package="com.android.app.myapp" > <uses-permission android:name="android.permission.internet" /> </manifest> 7.4 Permission Enforcement Permission Enforcement is done in two steps. First is the install time permission allocation. Permissions requested by application are presented to the user grouped together in categories. The user must allow all permissions or deny to abort installation. Second step is the runtime permission checking. When a user starts using an application, during execution the application requires different permissions. At runtime the system checks if this application was allocated the requested permission during installation. A particular permission may be enforced at a number of places during your program's operation. For Example At the time of a call into the system, to prevent an application from executing certain functions. On starting an activity, to prevent applications from launching activities of other applications. When accessing and operating on a content provider. 8. Source Code Analysis The source code of Android project was downloaded and was configured with eclipse IDE using the following steps: Step 1: Set up source development environment $ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev Step 2: Initializing a Repo client Create an empty directory to hold your working files: $ mkdir mydroid $ cd mydroid Run repo init to bring down the latest version of Repo. $ repo init -u git://android.git.kernel.org/platform/manifest.git
10 Step 3: Getting the files To pull down files to your working directory from the repositories as specified in the default manifest, run Step 4: Download and install the SDK starter package Step 5: Install the ADT Plugin for Eclipse Debugging After setting up the environment the code was debugged tracing the call hierarchy and type hierarchy of methods and classes. This helped in finding out the places from where a method is called. This technique is shown in the figure below: Figure 4- Debugging techniques
11 8.2 Logging Logging was also used to identify the classes involved in the access control functionality of Android. We used Android Debug Bridge (adb) tool for this purpose which is a versatile tool which facilitates managing the state of an emulator instance or Android-powered device. Adb provides an ash shell that can be used to run a variety of commands on an emulator or device. Logs were monitored using the following commands: Run the emulator: $. build/envsetup.sh $ lunch 1 $ emulator Get the logs: $. build/envsetup.sh $ lunch 1 $ adb logcat > android.log View logs: $ tail -f android.log With this technique we can execute different application on the emulator and see the logs for that at runtime in the console. This shown in the figure below: Figure5 Logging technique
12 8.2 PackageManagerService class Using the debug and log techniques we identified that Android framework revolves around checking the permission at runtime for all applications at a single end point which is PackageManagerService class. checkpermission() method of ApplicationContext class receives requests from applications. It forwards the request to ActivityManagerService class. If the requesting process is root i-e has uid 1000, the permission is granted to it at this point. If the requesting process is not root or system server but a normal application, the request is forwarded to PackageManagerService class. checkuidpermission() method of PackageManagerService class receives the requested permission, user id and process id of the calling application. The requested permission is searched in the grantedpermissions HashSet.If found, the permission is granted to the application. Otherwise it is denied. This mechanism is shown in the following figure 6. The source code of checkuidpermission method of PackageManagerService class is shown below: public int checkuidpermission(string permname, int uid) { } synchronized (mpackages) { Object obj = msettings.getuseridlp(uid); if (obj!= null) { if (obj instanceof SharedUserSetting) { SharedUserSetting sus = (SharedUserSetting)obj; if (sus.grantedpermissions.contains(permname)) { } return PackageManager.PERMISSION_GRANTED; } else if (obj instanceof PackageSetting) { } } } PackageSetting ps = (PackageSetting)obj; if (ps.grantedpermissions.contains(permname)) { } returnpackagemanager.permission_granted; return PackageManager.PERMISSION_DENIED;
13 Figure 6 Access control flow diagram
14 Conclusions We conclude the following points from the analysis of android framework: Dalvik virtual machine is designed specifically for the Android platform for efficient resource usage Security in Android is enforced using unique UID for each application Specific set of permissions are associated with each UID At install time permissions are assigned to application At runtime permission checking is done whenever an application requests access to a resource PackageManagerService class is responsible for permission management References [1] Homepage: Android. Available at: [2] Homepage: Dalvik Virtual Machine. Available at: [3]Ryan Slobojan. Dalvik, android's virtual machine, generates significant debate. Available at: [4] J.E. Smith and R. Nair. Virtual machines: versatile platforms for systems and processes. Morgan Kaufmann Pub, [5] T. Suganuma, T. Ogasawara, M. Takeuchi, T. Yasue, M. Kawahito, K. Ishizaki, H. Komatsu, and T. Nakatani. Overview of the IBM Java just-in-time compiler. IBM Systems Journal, 39(1):175_193, [6] Jeff Wilcox. Android performance 2: Loop speed and the dalvik vm. Available at: [7] Marc Schonefeld. Reconstructing dalvik applications. Available at: [8] Dan Bornstein. Dalvik virtual machine: Internals. Available at: VM-Internals.pdf.
Performance Analysis of Android Platform
Performance Analysis of Android Platform Jawad Manzoor EMDC 21-Nov-2010 Table of Contents 1. Introduction... 3 2. Android Architecture... 3 3. Dalvik Virtual Machine... 4 3.1 Architecture of Dalvik VM...
More informationAn Introduction to Android
An Introduction to Android Michalis Katsarakis M.Sc. Student katsarakis@csd.uoc.gr Tutorial: hy439 & hy539 16 October 2012 http://www.csd.uoc.gr/~hy439/ Outline Background What is Android Android as a
More informationOverview. The Android operating system is like a cake consisting of various layers.
The Android Stack Overview The Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose but the layers are not always cleanly separated and
More informationAndroid Programming and Security
Android Programming and Security Dependable and Secure Systems Andrea Saracino andrea.saracino@iet.unipi.it Outlook (1) The Android Open Source Project Philosophy Players Outlook (2) Part I: Android System
More informationFive standard procedures for building the android system. Figure1. Procedures for building android embedded systems
Standard Operating Procedures for Android Embedded Systems Anupama M. Kulkarni, Shang-Yang Chang, Ying-Dar Lin National Chiao Tung University, Hsinchu, Taiwan November 2012 Android is considered to be
More informationТехнологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет
Технологии Java Android: Введение Санкт-Петербургский Государственный Политехнический Университет Кузнецов Андрей Николаевич 1 2 Архитектура ОС Android See http://www.android-app-market.com/android-architecture.html
More informationHacking your Droid ADITYA GUPTA
Hacking your Droid ADITYA GUPTA adityagupta1991 [at] gmail [dot] com facebook[dot]com/aditya1391 Twitter : @adi1391 INTRODUCTION After the recent developments in the smart phones, they are no longer used
More informationAndroid Geek Night. Application framework
Android Geek Night Application framework Agenda 1. Presentation 1. Trifork 2. JAOO 2010 2. Google Android headlines 3. Introduction to an Android application 4. New project using ADT 5. Main building blocks
More informationAn Introduction to Android. Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn
An Introduction to Android Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn Outline Background What is Android? Development for Android Background Internet users and Mobile
More informationIntroduction to Android
Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application
More informationWhite Paper. Implementing CyaSSL as an SSL Provider on the Android Platform A Step-by-Step Guide. yassl http://www.yassl.com
White Paper Implementing CyaSSL as an SSL Provider on the Android Platform A Step-by-Step Guide yassl http://www.yassl.com ANDROID SSL PROVIDER 2 TABLE OF CONTENTS INTRODUCTION... 3 WHAT ARE TLS AND SSL?...
More informationProgramming the Android Platform. Logistics
Programming the Android Platform CMSC498G Logistics Professor Adam Porter 4125 AVW aporter@cs.umd.edu Course meets W 3:00 3:50 in CSI 3118 1 Goals Learn more about Mobile devices Mobile device programming
More information060010702 Mobile Application Development 2014
Que 1: Short question answer. Unit 1: Introduction to Android and Development tools 1. What kind of tool is used to simulate Android application? 2. Can we use C++ language for Android application development?
More informationODROID Multithreading in Android
Multithreading in Android 1 Index Android Overview Android Stack Android Development Tools Main Building Blocks(Activity Life Cycle) Threading in Android Multithreading via AsyncTask Class Multithreading
More informationWorkshop on Android and Applications Development
Workshop on Android and Applications Development Duration: 2 Days (8 hrs/day) Introduction: With over one billion devices activated, Android is an exciting space to make apps to help you communicate, organize,
More informationGETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS
Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,
More informationGraduate presentation for CSCI 5448. By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )
Graduate presentation for CSCI 5448 By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu ) Content What is Android?? Versions and statistics Android Architecture Application Components Inter Application
More informationMobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications
Mobile Devices - An Introduction to the Android Operating Environment Design, Architecture, and Performance Implications Dominique A. Heger DHTechnologies (DHT) dheger@dhtusa.com 1.0 Introduction With
More informationOverview of CS 282 & Android
Overview of CS 282 & Android Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282
More informationAndroid Development. Marc Mc Loughlin
Android Development Marc Mc Loughlin Android Development Android Developer Website:h:p://developer.android.com/ Dev Guide Reference Resources Video / Blog SeCng up the SDK h:p://developer.android.com/sdk/
More informationReminders. Lab opens from today. Many students want to use the extra I/O pins on
Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students
More informationANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY
ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY Suhas Holla #1, Mahima M Katti #2 # Department of Information Science & Engg, R V College of Engineering Bangalore, India Abstract In the advancing
More informationA Short Introduction to Android
A Short Introduction to Android Notes taken from Google s Android SDK and Google s Android Application Fundamentals 1 Plan For Today Lecture on Core Android Three U-Tube Videos: - Architecture Overview
More informationAn Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi
An Introduction to Android Application Serdar Akın, Haluk Tüfekçi ARDIC ARGE http://www.ardictech.com April 2011 Environment Programming Languages Java (Officially supported) C (Android NDK Needed) C++
More informationSmartphone market share
Smartphone market share Gartner predicts that Apple s ios will remain the second biggest platform worldwide through 2014 despite its share deceasing slightly after 2011. Android will become the most popular
More informationAndroid 多 核 心 嵌 入 式 多 媒 體 系 統 設 計 與 實 作
Android 多 核 心 嵌 入 式 多 媒 體 系 統 設 計 與 實 作 Android Application Development 賴 槿 峰 (Chin-Feng Lai) Assistant Professor, institute of CSIE, National Ilan University Nov. 10 th 2011 2011 MMN Lab. All Rights Reserved
More informationAndroid Operating System
Prajakta S.Adsule Student-M.B.A.[I.T.] BharatiVidyapeeth Deemed University,Pune(india) praju_hiramani@yahoo.co.in Mob. No. 9850685985 Android Operating System Abstract- Android operating system is one
More informationAndroid Basics. Xin Yang 2016-05-06
Android Basics Xin Yang 2016-05-06 1 Outline of Lectures Lecture 1 (45mins) Android Basics Programming environment Components of an Android app Activity, lifecycle, intent Android anatomy Lecture 2 (45mins)
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 informationIntroduction to Android Development. Jeff Avery CS349, Mar 2013
Introduction to Android Development Jeff Avery CS349, Mar 2013 Overview What is Android? Android Architecture Overview Application Components Activity Lifecycle Android Developer Tools Installing Android
More informationWhat else can you do with Android? Inside Android. Chris Simmonds. Embedded Linux Conference Europe 2010. Copyright 2010, 2net Limited.
What else can you do with Android? Chris Simmonds Embedded Linux Conference Europe 2010 Copyright 2010, 2net Limited 1 Overview Some background on Android Quick start Getting the SDK Running and emulated
More informationRoverPal - A Mobile Payment Application
White Paper RoverPal - A Mobile Payment Application Introduction Online shopping has been a favorable experience with most of us. Still, we come across instances where we are out on shopping and we run
More informationResearch and Design of Universal and Open Software Development Platform for Digital Home
Research and Design of Universal and Open Software Development Platform for Digital Home CaiFeng Cao School of Computer Wuyi University, Jiangmen 529020, China cfcao@126.com Abstract. With the development
More informationIntroduction to Android. Sean Sullivan October 27, 2008
Introduction to Android Sean Sullivan October 27, 2008 What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications source: Google
More informationIntroduction to Android
Introduction to Android Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering October 19, 2015 Outline 1 What is Android? 2 Development on Android 3 Applications:
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationLecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
More informationCreating and Using Databases for Android Applications
Creating and Using Databases for Android Applications Sunguk Lee * 1 Research Institute of Industrial Science and Technology Pohang, Korea sunguk@rist.re.kr *Correspondent Author: Sunguk Lee* (sunguk@rist.re.kr)
More informationRunning a Program on an AVD
Running a Program on an AVD Now that you have a project that builds an application, and an AVD with a system image compatible with the application s build target and API level requirements, you can run
More informationDeep Inside Android. OpenExpo 2008 - Zurich September 25 th, 2008. Gilles Printemps - Senior Architect. Copyright 2007 Esmertec AG.
Deep Inside Android OpenExpo 2008 - Zurich September 25 th, 2008 Copyright 2007 Esmertec AG Jan 2007 Gilles Printemps - Senior Architect Agenda What is Android? The Android platform Anatomy of an Android
More informationIntroduction to Android Android Architecture Software Development Purpose of the project Location Based Service (LBS) Android. Location class Google
By: Mikias M. Seid Introduction to Android Android Architecture Software Development Purpose of the project Location Based Service (LBS) Android. Location class Google API and Map View Demo Future of the
More informationANDROID OPERATING SYSTEM
ANDROID OPERATING SYSTEM Himanshi Grover,Devesh Agrawal IT Department, Dronacharya College Of Engg Gurgaon,Haryana,India Abstract - Android has become need rather than luxury these days. The computing
More informationHow To Develop Android On Your Computer Or Tablet Or Phone
AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli Outline Overview of the Android Operating System Development tools Deploying application packages Step-by-step application development The
More informationUniversità Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone - 2012
Android Development Lecture 1 Android SDK & Development Environment Università Degli Studi di Parma Lecture Summary - 2 The Android Platform Android Environment Setup SDK Eclipse & ADT SDK Manager Android
More informationANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Who am I? Lo Chi Wing, Peter Lecture 1: Introduction to Android Development Email: Peter@Peter-Lo.com Facebook: http://www.facebook.com/peterlo111
More informationLecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday
Lecture 17: Mobile Computing Platforms: Android Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Mobile applications vs. traditional applications Traditional model of computing: an OS (Linux / Windows),
More informationCS378 -Mobile Computing. Android Overview and Android Development Environment
CS378 -Mobile Computing Android Overview and Android Development Environment What is Android? A software stack for mobile devices that includes An operating system Middleware Key Applications Uses Linux
More informationANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi
ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct
More informationAndroid Environment SDK
Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 2A. Android Environment: Eclipse & ADT The Android
More informationFriendly ARM MINI2440 & Dalvik Virtual Machine with Android
e t International Journal on Emerging Technologies (Special Issue on NCRIET-2015) 6(2): 197-202(2015) ISSN No. (Print) : 0975-8364 ISSN No. (Online) : 2249-3255 Friendly ARM MINI2440 & Dalvik Virtual Machine
More informationl What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)
today l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc) l Other: Signing Apps, SVN l Discussion and Questions introduction to android
More informationAndroid Application Development. Daniel Switkin Senior Software Engineer, Google Inc.
Android Application Development Daniel Switkin Senior Software Engineer, Google Inc. Goal Get you an idea of how to start developing Android applications Introduce major Android application concepts Walk
More informationAnalysis of advanced issues in mobile security in android operating system
Available online atwww.scholarsresearchlibrary.com Archives of Applied Science Research, 2015, 7 (2):34-38 (http://scholarsresearchlibrary.com/archive.html) ISSN 0975-508X CODEN (USA) AASRC9 Analysis of
More informationNewton2 Developers Guide
Newton2 Developers Guide Date: Jan. 2015 Newton2 Developers Guide Release history Date Revision Revision History Jan. 12, 2015 1.0 - First released Disclaimer This documentation is provided for use with
More informationMobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications
Mobile Devices - An Introduction to the Android Operating Environment - Design, Architecture, and Performance Implications 1.0 Introduction With the worldwide proliferation of mobile devices, reliability,
More informationOpenCV on Android Platforms
OpenCV on Android Platforms Marco Moltisanti Image Processing Lab http://iplab.dmi.unict.it moltisanti@dmi.unict.it http://www.dmi.unict.it/~moltisanti Outline Intro System setup Write and build an Android
More informationIslamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM 5341. Eng. Wafaa Audah.
Islamic University of Gaza Faculty of Engineering Computer Engineering Department Mobile Computing ECOM 5341 By Eng. Wafaa Audah June 2013 1 Setting Up the Development Environment and Emulator Part 1:
More informationProgramming with Android
Praktikum Mobile und Verteilte Systeme Programming with Android Prof. Dr. Claudia Linnhoff-Popien Philipp Marcus, Mirco Schönfeld http://www.mobile.ifi.lmu.de Sommersemester 2015 Programming with Android
More informationITG Software Engineering
Basic Android Development Course ID: Page 1 Last Updated 12/15/2014 Basic Android Development ITG Software Engineering Course Overview: This 5 day course gives students the fundamental basics of Android
More informationThe Android Platform
The Android Platform F. Mallet Frederic.Mallet@unice.fr Université Nice Sophia Antipolis A software stack for mobile devices The Android Platform OS kernel, system libraries, application frameworks & key
More informationPraktikum Entwicklung Mediensysteme (für Master)
Praktikum Entwicklung Mediensysteme (für Master) An Introduction to Android An Introduction to Android What is Android? Installation Getting Started Anatomy of an Android Application Life Cycle of an Android
More informationIntroduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University
Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University Android OS Open-source mobile OS (mostly Apache licence) Developed by Google + Open Handset Alliance
More informationPentesting Android Apps. Sneha Rajguru (@Sneharajguru)
Pentesting Android Apps Sneha Rajguru (@Sneharajguru) About Me Penetration Tester Web, Mobile and Infrastructure applications, Secure coding ( part time do secure code analysis), CTF challenge writer (at
More informationAndroid Operating System:
Android Operating System: An in depth introduction CS423 Project Mohammad Alian, Shuomeng Guang, Bo Teng Outline 1. What is Android 2. History 3. Android architecture 4. Android vs Linux 5. Process Management
More informationIntroduction to Android Programming (CS5248 Fall 2015)
Introduction to Android Programming (CS5248 Fall 2015) Aditya Kulkarni (email.aditya.kulkarni@gmail.com) August 26, 2015 *Based on slides from Paresh Mayami (Google Inc.) Contents Introduction Android
More informationINTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011
INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011 1 Goals of the Lecture Present an introduction to the Android Framework Coverage of the framework will be
More informationMobile Operating Systems. Week I
Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone
More informationProgramming Android Smart Phones. Tom Chothia Internet Computing Workshop
Programming Android Smart Phones Tom Chothia Internet Computing Workshop What is Android? A mobile phone operating system. Best selling smart phone OS. Runs on a range of hardware Based on Linux and Java
More informationELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
More informationGoogle s Android: An Overview
Google s Android: An Overview Yoni Rabkin yonirabkin@member.fsf.org This work is licensed under the Creative Commons Attribution 2.5 License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.5/.
More informationAllow Installation from Unknown Sources
Part 5 - Publishing Independently It is possible to publish an application without using any of the existing Android marketplaces. This section will explain these other publishing methods and the licensing
More informationBuilding graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar
Building graphic-rich and better performing native applications Pro Android C++ with the NDK Onur Cinar For your convenience Apress has placed some of the front matter material after the index. Please
More informationANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi
ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct
More informationDevelopment. SriSeshaa Technologies. Table of Contents
SriSeshaa Technologies Development Table of Contents SriSeshaa Android Development... 2 Introduction to Android... 3 SriSeshaa Capabilities... 3 SriSeshaa Android Case Studies... 5 Privacy Guard... 5 Backup
More informationProgramming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna
Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna SDK and initial setup: Outline Ø Today: How
More informationIntroduction to Android. CSG250 Wireless Networks Fall, 2008
Introduction to Android CSG250 Wireless Networks Fall, 2008 Outline Overview of Android Programming basics Tools & Tricks An example Q&A Android Overview Advanced operating system Complete software stack
More informationAndroid Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development
Android Development Lecture AD 0 Android SDK & Development Environment 2013/2014 Parma Università degli Studi di Parma Lecture Summary Android Module Overview The Android Platform Android Environment Setup
More informationIntroduction to Android
Introduction to Android 26 October 2015 Lecture 1 26 October 2015 SE 435: Development in the Android Environment 1 Topics for Today What is Android? Terminology and Technical Terms Ownership, Distribution,
More informationimaginea white paper
white paper Building Mobile Android Applications Even though Android was created for handsets, there is a great opportunity for developing other innovative devices on the Android platform with significant
More informationUnderstand and Build Android Programming Environment. Presented by: Che-Wei Chang
Real Time System Project 1 Understand and Build Android Programming Environment Advisor: Prof. Tei-Wei i Kuo Presented by: Che-Wei Chang Outline Introduction to Android Framework What is Android Android
More informationAndroid Architecture Diagram:
Android News Android Development Make Money FEB 17 2012 Android Architecture The Key Concepts of Android OS In the earlier post on Android Development, we ve learned how to install and setup a complete
More informationA Look through the Android Stack
A Look through the Android Stack A Look through the Android Stack Free Electrons Maxime Ripard Free Electrons Embedded Linux Developers c Copyright 2004-2012, Free Electrons. Creative Commons BY-SA 3.0
More informationIntroduction to Android
Introduction to Android Ref: Wei-Meng Lee, BEGINNING ANDROID 4 APPLICATION DEVELOPMENT, Ch1, John Wiley & Sons, 2012 1. What is Android Android is a mobile operating system that is based on a modified
More informationAn Android-based Instant Message Application
An Android-based Instant Message Application Qi Lai, Mao Zheng and Tom Gendreau Department of Computer Science University of Wisconsin - La Crosse La Crosse, WI 54601 mzheng@uwlax.edu Abstract One of the
More informationBuilding an Android client. Rohit Nayak Talentica Software
Building an Android client Rohit Nayak Talentica Software Agenda iphone and the Mobile App Explosion How mobile apps differ Android philosophy Development Platform Core Android Concepts App Demo App Dissection
More informationAndroid Fundamentals 1
Android Fundamentals 1 What is Android? Android is a lightweight OS aimed at mobile devices. It is essentially a software stack built on top of the Linux kernel. Libraries have been provided to make tasks
More informationAndroid Development Tools for Eclipse
Android Development Tools for Eclipse Sanjay Shah Khirulnizam Abd Rahman Chapter No. 1 "Installing Eclipse, ADT, and SDK" In this package, you will find: A Biography of the author of the book A preview
More informationIssues in Android on Mobile Platform and Their Resolution
Issues in Android on Mobile Platform and Their Resolution 1 Monika A. Ganpate, 2 Dipika R. Shinde 1, 2 Institute of Management and Computer Studies, Thane (West), India, University of Mumbai, India Abstract:
More informationReview On Google Android a Mobile Platform
IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661, p- ISSN: 2278-8727Volume 10, Issue 5 (Mar. - Apr. 2013), PP 21-25 Review On Google Android a Mobile Platform Shyam Bhati 1, Sandeep Sharma
More informationMobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
More informationReversing Android Malware
Reversing Android Malware The Honeynet Project 10 th Annual Workshop ESIEA PARIS.FR 2011-03-21 MAHMUD AB RAHMAN (MyCERT, CyberSecurity Malaysia) Copyright 2011 CyberSecurity Malaysia MYSELF Mahmud Ab Rahman
More informationAndroid Tutorial. Larry Walters OOSE Fall 2011
Android Tutorial Larry Walters OOSE Fall 2011 References This tutorial is a brief overview of some major concepts Android is much richer and more complex Developer s Guide http://developer.android.com/guide/index.html
More informationAndroid Architecture. Alexandra Harrison & Jake Saxton
Android Architecture Alexandra Harrison & Jake Saxton Overview History of Android Architecture Five Layers Linux Kernel Android Runtime Libraries Application Framework Applications Summary History 2003
More informationStudent Attendance Through Mobile Devices
Student Attendance Through Mobile Devices Anurag Rastogi Kirti Gupta Department of Computer Science and Engineering National Institute of Technology Rourkela Rourkela-769 008, Odisha, India Student Attendance
More informationFrameworks & Android. Programmeertechnieken, Tim Cocx
Frameworks & Android Programmeertechnieken, Tim Cocx Discover thediscover world atthe Leiden world University at Leiden University Software maken is hergebruiken The majority of programming activities
More informationProgramming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna
Programming with Android: System Architecture Luca Bedogni Marco Di Felice Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Dalvik Java
More informationThe "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.
Installing the SDK This page describes how to install the Android SDK and set up your development environment for the first time. If you encounter any problems during installation, see the Troubleshooting
More informationA Modular Approach to Teaching Mobile APPS Development
2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development
More informationANDROID APPLICATION FOR FILE STORAGE AND RETRIEVAL OVER SECURED AND DISTRIBUTED FILE SERVERS SOWMYA KUKKADAPU B.E., OSMANIA UNIVERSITY, 2010 A REPORT
ANDROID APPLICATION FOR FILE STORAGE AND RETRIEVAL OVER SECURED AND DISTRIBUTED FILE SERVERS by SOWMYA KUKKADAPU B.E., OSMANIA UNIVERSITY, 2010 A REPORT submitted in partial fulfillment of the requirements
More information