Android ROM Porting: A Review

Size: px
Start display at page:

Download "Android ROM Porting: A Review"

Transcription

1 MIT International Journal of Computer Science and Information Technology, Vol. 5, No. 2, August 2015, pp Android ROM Porting: A Review Shubham Raj Singh er.shubhamrajs@gmail.com Rameez Arshad rameez.ars740@gmail.com Priyanka Goel Assistant Professor prie @gmail.com Pankaj Kumar noissypankaj@gmail.com ABSTRACT Android is a mobile operating system (OS) based on the linux kernel developed by Google. A ROM is the operating system software that runs an Android device. It is stored in the Read Only Memory portion of the hardware on the Android smartphone and/or tablet. All Android devices contain ROM installed by the manufacturer. But, we can gain the ability to install custom ROMs that will completely change the look and feel of the software. Android ROM porting refers to making a ROM compatible to our device. Flashing a ROM means installing the system image into the device s internal flash memory. This memory holds the Android s firmware just like the other devices with an embedded OS. Designed to improve the user experience and performance of the Android OS, a very popular custom ROM is Cyanogen Mod. Keywords: ROM, ROM Porting, Cyanogen Mod, Flashing ROM. I. INTRODUCTION Android is a mobile operating system (OS) based on the Linux kernel and developed by Google. It consists of a user interface which is based on direct manipulation. Android is designed primarily for touchscreen mobile devices such as smartphones and tablet computers. The OS uses touch inputs that correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, and a virtual keyboard. Android OS is open source software which Google released the code under the Apache License. Android Open Source Project allows the user to modify and distribute it freely. Android also has application developer community that further extends the functionality of the device [1]. This is what makes Android to grow much more rapidly than its competitors. Kernel provides the basic system functionality such as process management, memory management and device management. Linux kernel provides device drivers which make our task easier while interfacing the android with peripheral devices. 2. Libraries: On the top of Linux Kernel another layer called libraries is present. It provides different libraries useful for well-functioning of android operating system. Libraries are java libraries which are built specifically for android operating system. Some of the libraries are listed below: Libraries Explanation II. ANDROID ARCHITECTURE Android operating system comprise of different software components arranges in stack. Different components of android operating system are: 1. Linux kernel: Bottom layer of android operating system is Linux kernel. Android is built on top of Linux 2.6 Kernel and few architectural changes made by Google. Linux SQLite SSL OpenGL It is used to access data published by content providers and includes SQLite database management classes. This is used to provide internet security. It is used to provide Java interface to the OpenGL/ ES 3D graphics rendering API.

2 MIT International Journal of Computer Science and Information Technology, Vol. 5, No. 2, August 2015, pp Libraries Media framework Web Kit Explanation It is used to provides different media codecs which allow the recording and playback of different media formats. This library is the browser engine which is used to display internet or HTML content. 3. Android Run time: It is third component of the android architecture and placed in second layer from bottom. It provides most important part of android called Dalvik Virtual Machine. Dalvik Virtual Machine is similar to JVM but only difference is that it is designed and optimized for Android. Dalvik Virtual machine uses core functions of Linux such as memory management and multithreading and enables each android app to run its own process. 4. Application Framework: It is second topmost component in android operating system stack Android applications which directly interacts with application framework. Application framework manages the basic functions of android device such as resource management, voice call management etc. 5. Applications: Applications created by third party users or developer will be installed on application layer. Below is architecture diagram of android operating system: III. ANDROID ROM The term ROM is misused, and a pseudonym. Up until recently, ROM s were storage chips consisting of Read-Only-Memory. The term which is closer to being correct with reference to Android, is Firmware. We can easily replace it all, if we choose to. Device manufacturers traditionally referred to a cell phone s included operating system as ROMs because they did not intend for us, the user, to replace it. Whether we call Cyanogen Mod a ROM or a firmware or an operating system or a distribution, it all means in this case the same thing. The ambiguous terminology is just the result of a decade-long transition from simple, non-replaceable software on hand-held devices to full-fledged, updatable operating systems on a small, portable computers that fits in the palm of our hand. This board has a few ROM chips, one of which tells the device how to boot the firmware. When people talk about installing ROM s on their devices, it refers to erasing or overwriting old Android software/system files, and replacing them with new ones to alter the behavior of Android and the device. A. Custom Rom A custom ROM is one that has undergone any modification from being a pure distribution of Android. Google make the Android source code available for anyone and people take this code and can change it for themselves. They can add features in it, or can redistribute it with fun additions. So a custom ROM can have some custom code modifications to make Android run better on a device, which may include changing the home screen, background services or default software. Many software experts collaborate together in communities to build the fastest ROMs or the ROMs having most of the features. The most popular now-a-days are Cyanogen Mod (which supports over 70 devices!), AOKP (a lightweight ROM with plenty of customization options), and Android Revolution, a heavyweight ROM which often focusses on looking great. B. Cyanogenmod Cyanogen Mod is an enhanced open source firmware distribution for smartphones and tablet computers based on the Android mobile operating system. It offers features and options not found in the official firmware distributed by vendors of these devices. Features supported by Cyanogen Mod include native theming support, FLAC audio codec support, a large Access Point Name list, an OpenVPN client, an enhanced reboot menu [3] [4], support for Wi-Fi, Bluetooth, and USB tethering, CPU overclocking and other performance enhancements, soft buttons and other tablet tweaks, toggles in the notification pull-down (such as Wi-Fi, Bluetooth and GPS), application permissions management and other interface enhancements. Cyanogen Mod does not contain spyware or bloat ware [3]. In many cases, Cyanogen Mod may increase performance and reliability compared with official firmware releases [4]. Cyanogen Mod is a free and open source software which is based on the official releases of Android by Google along with some added original and third-party code. IV. ROM PORTING A. Initializing A Build Environment (i) Setting-up a Linux Build Environment These instructions apply to all branches, including master. The Android build is routinely tested on recent versions of Ubuntu especially 14.04, but most distributions should have required build tools available. For Gingerbread (2.3.x) and newer versions, along with the master branch, a 64-bit environment is required. Older versions can be compiled on 32-bit systems [2] [9].

3 MIT International Journal of Computer Science and Information Technology, Vol. 5, No. 2, August 2015, pp (ii) Installing The Jdk The master branch of Android in the Android Open Source Project (AOSP) requires Java 7. On Ubuntu, use Open JDK. Java 7: For the latest version of Android [2] $ sudo apt-get update $ sudo apt-get install openjdk-7-jdk (iii) Installing Required Packages (Ubuntu 14.04) Ubuntu is 64-bit version and is recommended. Following command will work: $ sudo apt-get install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip (iv) Installing Required Packages (Ubuntu12.04) Ubuntu can be used to build older versions of Android. This version is not supported on recent releases. In this case, following commands will work: $ sudo apt-get install git gnupg flex bison gperf build-essential\ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386\ libgl1-mesa-dev g++-multilib mingw32 tofrodos\pythonmarkdown libxml2-utils xsltproc zlib1g-dev:i386 $ sudo ln -s / usr/lib/i386-linux-gnu/mesa/libgl.so.1 /usr/lib/i386-linux-gnu/ libgl.so (v) Installing Required Packages (Ubuntu ) Building on Ubuntu may be useful for building older releases of AOSP. Following commands will work: $ sudo apt-get install git gnupg flex bison gperf build-essential \zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \ x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev\ libgl1-mesa-dev g++-multilib mingw32 tofrodos pythonmarkdown \ libxml2-utils xsltproc On Ubuntu 10.10: $ sudo ln -s /usr/lib32/mesa/libgl.so.1 /usr/lib32/mesa/libgl.so On Ubuntu 11.10: $ sudo apt-get install libx11-dev:i386 (vi) Using A Separate Output Directory By default, the output of each build is stored in the out/ subdirectory of the matching source tree. On some machines with multiple storage devices, builds are faster when storing the source files and the output on separate volumes. For additional performance, the output can be stored on a file system optimized for speed instead of crash robustness, since all files can be re-generated in case of file system corruption. To set this up, export the OUT_DIR_COMMON_BASE variable to point to the location where our output directories will be stored. Its command is: export OUT_DIR_COMMON_BASE=<path-to-our-outdirectory>. Or instance, if we have source trees as /source/master1 and / source/master2 and OUT_DIR_COMMON_BASE is set to / output, the output directories will be /output/master1 and / output/master2. It is important in that case to not have multiple source trees stored in directories that have the same name, as those would end up sharing an output directory, with unpredictable results. This is only supported on Jelly Bean (4.1) and newer, including the master branch. B. Downloading the Source Cyanogen Mod uses a special program for storing, distributing, maintaining, and synchronizing the thousands of source code files that make up Android. The system, known as a version control system, is called Git. Git was developed primarily by Linus Torvalds and is used not only by Cyanogen Mod, but by AOSP (Android Open Source Project the vanilla Android source code from Google), the Linux Kernel, and countless open source projects around the world. Git allows every developer to have their own full copy (called a Git repository ) of all the source code that is used to build Cyanogen Mod. The code base can be easily re-synchronized with a single command so that it is always kept up-to-date. Git also allows developers to easily contribute their bug fixes and enhancements back, where it may be accepted to become part of the official repository. The Android source tree is located in a Git repository hosted by Google. (i) INSTALLING REPO Repo is a tool that makes it easier to work with Git in context of Android. To install Repo: i. Make sure we have a bin/ directory in our home directory and that it is included in our path: $ mkdir ~/bin $ PATH=~/bin:$PATH ii. Download the Repo tool and ensure that it is executable: $ curl > ~/bin/repo $ chmod a+x ~/bin/repo For version 1.17, the SHA-1 checksum for repo is ddd79b6d5a7807e911b524cb223bc3544b661c28 For version 1.19, the SHA-1 checksum for repo is 92cbad8c880f697b58ed83e348d06619f8098e6c For version 1.20, the SHA-1 checksum for repo is e197cb48ff4ddda4d11f23940d316e323b29671c For version 1.21, the SHA-1 checksum for repo is b8bd1804f432ecf1bab730949c82b93b0fc5fede (ii) INITIALIZING A REPO CLIENT After installing Repo, we have to set up our client to access the Android source repository:

4 MIT International Journal of Computer Science and Information Technology, Vol. 5, No. 2, August 2015, pp (i) Create an empty directory to hold working files. If we are using Mac OS, this has to be on a case-sensitive file system. We can give any name like: $ mkdir WORKING_DIRECTORY $ cd WORKING_DIRECTORY (ii) Run repo init to bring down the latest version of Repo with all its most recent bug fixes. We must specify a URL for the manifest, which specifies where the various repositories included in the Android source will be placed within working directory. $repo init -u To check out a branch other than master, specify it with b for a list of branches. $ repo init u platform/ manifest -b android-4.0.1_r1 (iii) When prompted, configure Repo with real name and address. To use the Gerrit code-review tool, we will need an address that is connected with a registered Google account. Make sure this is a live address at which one can receive messages. The name that we provide here will show up in attributions for our code submissions. A successful initialization will end with a message stating that Repo is initialized in your working directory. Oour client directory will now contain a.repo directory where files such as the manifest will be kept. (iii) DOWNLOADING THE ANDROID SOURCE TREE To pull down the Android source tree to working directory from the repositories as specified in the default manifest, run: The Android source files will be located in working directory under their project names. The initial sync operation will take an hour or more to complete. (iv) USING AUTHENTICATION By default, access to the Android source code is anonymous. To protect the servers against excessive usage, each IP address is associated with a quota. When sharing an IP address with other users (e.g. when accessing the source repositories from beyond a NAT firewall), the quotas can trigger even for regular usage patterns (e.g. if many users sync new clients from the same IP address within a short period). In that case, it is possible to use authenticated access, which then uses a separate quota for each user, regardless of the IP address. The first step is to create a password with the password generator and follow the instructions on the password generator page. The second step is to force authenticated access, by using the following manifest URI: platform/manifest. It can be noticed how the /a/ directory prefix triggers mandatory authentication. We can convert an existing client to use mandatory authentication with the following command: $ repo init -u a/ platform/ manifest (v) USING A LOCAL MIRROR When using several clients, especially in situations where bandwidth is scarce, it is better to create a local mirror of the entire server content, and to sync clients from that mirror (which requires no network access). The download for a full mirror is smaller than the download of two clients, while containing more information. These instructions assume that the mirror is created in /usr/ local/aosp/mirror. The first step is to create and sync the mirror itself. Notice the --mirror flag, which can be specified only when creating a new client: $ mkdir -p /usr/local/aosp/mirror $ cd /usr/local/aosp/mirror $ repo init -u mirror/ manifest mirror Once the mirror is synced, new clients can be created from it. Note that it s important to specify an absolute path: $ mkdir -p /usr/local/aosp/master $ cd /usr/local/aosp/master $ repo init -u /usr/local/aosp/mirror/platform/manifest.git Finally, to sync a client against the server, the mirror needs to be synced against the server, then the client against the mirror: $ cd /usr/local/aosp/mirror $ cd /usr/local/aosp/master It s possible to store the mirror on a LAN server and to access it over NFS, SSH or Git. It s also possible to store it on a removable drive and to pass that drive around between users or between machines. C. BUILDING THE SYSTEM The following instructions to build the Android source tree apply to all branches, including master: (i) CHOOSING A BRANCH Some of the requirements for our build environment are determined by which version of the source code we plan to compile. We may also choose to download and build the latest source code (called master), in which case we will simply omit the branch specification when we initialize the repository. Once we have selected a branch, we can follow the appropriate instructions below to set up our build environment. (ii) INITIALIZE Initialize the environment with the envsetup.sh script. Note that replacing source with.(a single dot) saves a few characters, and the short form is more commonly used in documentation.

5 MIT International Journal of Computer Science and Information Technology, Vol. 5, No. 2, August 2015, pp $ source build/envsetup.sh or $. build/envsetup.s (iii) CHOOSE A TARGET Choose which target to build with lunch. The exact configuration can be passed as an argument. For example, the following command: $ lunch aosp_arm-eng refers to complete build for the emulator, with all debugging enabled. If run with no arguments lunch will prompt you to choose a target from the menu. All build targets take the form BUILD- BUILDTYPE, where the BUILD is a codename referring to the particular feature combination. (iv) BUILD THE CODE GNU can handle parallel tasks with a -jn argument, and it s common to use a number of tasks N that s between 1 and 2 times the number of hardware threads on the computer being used for the build. For example, on a dual-e5520 machine (2 CPUs, 4 cores per CPU, 2 threads per core), the fastest builds are made with commands between make -j16 and make -j32. (v) RUN IT We can either run our build on an emulator or flash it on a device. It should be noted that we have already selected our build target with lunch, and it is unlikely at best to run on a different target than it was built for. (vi) FLASH A DEVICE To flash a device, we will need to use fastboot, which should be included in our path after a successful build. Place the device in fastboot mode either manually by holding the appropriate key combination at boot, or from the shell with $ adb reboot bootloader Once the device is in fastboot mode, run $ fastboot flashall w The -w option wipes the /data partition on the device; this is useful for first time flashing a particular device but is otherwise unnecessary. (vii) READY TO USE Now the ROM is ready to use. The first boot may take some time as it optimizes the resources for the first time. After the Booting process is completed a setup application guides through the first use. V. CONCLUSION This paper is an innovative application and its main purpose is to get familiar with Android ROM and Android SDK. In future it can be extended further to take into consideration the optimality attitude of application. The next version can concentrate on remaining problems like portability between different kinds of device, adaptability with the change of API, friendlier interface, and also optimality in network usage. REFERENCES [1] [2] Overview of the sources by Google: [3] The Cyanogen Mod Learning Centre: org/ [4] XDA Community Forums: [5] XDA Learning Centre: [6] Essential Linux Device Driver Book [7] Tutorials on Android Internals by Marakana: com/watch?v=1_h4alqana0 [8] Github Repo: [9] Discussion over stack overflow forums: [10] A Documentary: Revolution OS

P6: Trial Build of a ROM Nikhil George. 1. Introduction. Overview of the build task. Cite the build/ wiki articles you read.

P6: Trial Build of a ROM Nikhil George. 1. Introduction. Overview of the build task. Cite the build/ wiki articles you read. P6: Trial Build of a ROM Nikhil George 1. Introduction. Overview of the build task. Cite the build/ wiki articles you read. Installation of required packages sudo apt-get install git gnupg flex bison gperf

More information

WES 237A Project Part 1 Guide

WES 237A Project Part 1 Guide WES 237A Project Part 1 Guide A. Environment Setup Guide Goals The purpose of this document is to prepare your development machine for the project by: 1. Installing any missing, required tools 2. Setting

More information

DEVELOPMENT GUIDE VAB-820. Android BSP v

DEVELOPMENT GUIDE VAB-820. Android BSP v DEVELOPMENT GUIDE VAB-820 Android BSP v5.0.6 1.01-08112017-095100 Copyright Copyright 2017 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted, transcribed,

More information

Ingenic. Newton Android Development Guide

Ingenic. Newton Android Development Guide Ingenic Date: Apr. 2014 Ingenic Copyright Ingenic Semiconductor Co. Ltd 2014. All rights reserved. Release history Date Revis ion Apr. 2014 1.0 First release Change Disclaimer This documentation is provided

More information

Building a ROM for Android on Ubuntu in Virtualbox

Building a ROM for Android on Ubuntu in Virtualbox Building a ROM for Android on Ubuntu 14.04 in Virtualbox 1. Introduction a) Read AOSP Tour from "Embedded Android" Book b) Created Ubuntu 14.04 Virtual Machine with 2 CPUs, 5GB RAM and 200GB dynamic allocation

More information

Mars ZX3 Android manual. Antmicro

Mars ZX3 Android manual. Antmicro Mars ZX3 Android manual Antmicro Sep 27, 2017 Contents 1 Introduction 1 1.1 Acknowledgements..................................... 1 1.2 Version information..................................... 1 2 Compiling

More information

DEVELOPMENT GUIDE AMOS-825. Android BSP v

DEVELOPMENT GUIDE AMOS-825. Android BSP v DEVELOPMENT GUIDE AMOS-825 Android BSP v5.0.3 1.00-05172018-120700 Copyright Copyright 2018 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted,

More information

DEVELOPMENT GUIDE VAB-630. Android BSP v

DEVELOPMENT GUIDE VAB-630. Android BSP v DEVELOPMENT GUIDE VAB-630 Android BSP v1.0.3 1.00-08112017-153900 Copyright Copyright 2017 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted, transcribed,

More information

Project 1 Setup. Some relevant details are the output of: 1. uname -a 2. cat /etc/*release 3. whereis java 4. java -version 5.

Project 1 Setup. Some relevant details are the output of: 1. uname -a 2. cat /etc/*release 3. whereis java 4. java -version 5. Project 1 Setup The purpose of this document is to help you to prepare your development machine for the project by: 1. Installing any missing tools 2. Setting up required environment variables and paths

More information

DEVELOPMENT GUIDE VIA VAB-820. Android BSP v

DEVELOPMENT GUIDE VIA VAB-820. Android BSP v DEVELOPMENT GUIDE VIA VAB-820 Android BSP v5.0.9 1.00-12202018-135700 Copyright Copyright 2018 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted,

More information

DEVELOPMENT GUIDE VAB-630. Linux BSP v

DEVELOPMENT GUIDE VAB-630. Linux BSP v DEVELOPMENT GUIDE VAB-630 Linux BSP v1.0.1 100-09182017-114400 Copyright Copyright 2017 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted, transcribed,

More information

User Guide Yocto Linux. Board Support Package For Intel Quark

User Guide Yocto Linux. Board Support Package For Intel Quark User Guide Yocto Linux Board Support Package For Intel Quark 1 Table of Contents Table of Contents... 2 1. Getting Started... 3 1.1 Prerequisites... 4 1.1.1 To install required packages... 4 1.1.2 To install

More information

QUICK START GUIDE VAB-600. Android BSP v

QUICK START GUIDE VAB-600. Android BSP v QUICK START GUIDE VAB-600 Android BSP v1.2.2 1.00-09072016-160200 Copyright Copyright 2016 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted, transcribed,

More information

REX-RED Community Android 4.3

REX-RED Community Android 4.3 REX-RED Community Android 4.3 Build Guide REXNOS CO.,Ltd Document Information Version 1.1 File Name REX5260 Android 4.3 Build Guide.doc Date May 20, 2014 Status Working Revision History Date Version Update

More information

Tizen TCT User Guide

Tizen TCT User Guide Tizen 2.3.1 TCT User Guide Table of Contents 1. Environment setup... 3 1.1. Symbols and abbreviations... 3 1.2. Hardware Requirements... 3 1.3. Software Requirements... 3 2. Getting TCT-source and TCT-manager...

More information

Root User Guide Android Jelly Bean Operating System

Root User Guide Android Jelly Bean Operating System Root User Guide Android 4.1 1 Jelly Bean Operating System microsoft-toolkit-2-4-6-with-keygen-downloads, Arriva Android 4.1.2 per Galaxy altium designer 13 1 2 build 27559 setup key windows In this post

More information

Building Tizen Development Environment

Building Tizen Development Environment Building Tizen Development Environment Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Tizen 2.3 Development Environment Target hardware device Tizen Reference

More information

Android In Industrial Applications. A Field Report

Android In Industrial Applications. A Field Report Garz & Fricke Android In Industrial Applications A Field Report Android In Industrial Applications A Field Report Contents What we will talk about Garz & Fricke Company Overview Introduction to Android

More information

ITG Software Engineering

ITG 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 information

Chapter 2. Operating-System Structures

Chapter 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 information

Android Programming in Bluetooth Cochlea Group

Android 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 information

Tutorial on Basic Android Setup

Tutorial on Basic Android Setup Tutorial on Basic Android Setup EE368/CS232 Digital Image Processing, Spring 2015 Linux Version Introduction In this tutorial, we will learn how to set up the Android software development environment and

More information

WELCOME Mobile Applications Testing. Copyright

WELCOME Mobile Applications Testing. Copyright WELCOME Mobile Applications Testing Copyright NataliaS@portnov.com 1 Platforms / OS : ANDROID FILE FORMAT.APK Android application package (APK) is the package file format used by the Android operating

More information

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

An 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 information

ALTA DS 2 ARTiGO A900 VAB-1000

ALTA DS 2 ARTiGO A900 VAB-1000 DEVELOPMENT GUIDE ALTA DS 2 ARTiGO A900 VAB-1000 Android BSP 3.0 1.02-07032015-153500 Copyright Copyright 2015 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced,

More information

IJRDTM Kailash ISBN No Vol.17 Issue

IJRDTM 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 information

Chapter 2: Operating-System Structures

Chapter 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 information

Android AOSP Overview. Karthik Dantu and Steve Ko

Android 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 information

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Android 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 information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Chapter 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 information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL 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 information

Samsung Mobile Via Usb

Samsung Mobile Via Usb How To Install Android Apps From Pc To Samsung Mobile Via Usb Supported model : Smart Phone/Tablet from Galaxy Note III (Android OS 4.3 or over) When you connect your mobile device to Kies via a USB cable,

More information

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Android. 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 information

Mobile Internet Devices and the Cloud

Mobile Internet Devices and the Cloud Mobile Internet Devices and the Cloud What Is a Smartphone? Mobile Operating Systems for Smartphones 1. iphone 2. Google (Android) 3. Blackberry 4. Windows Mobile 5. Ubuntu Mobile Internet Device (MID)

More information

User 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 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 information

CHAPTER 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 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 information

File Synchronization using API Google Drive on Android Operating System

File Synchronization using API Google Drive on Android Operating System File Synchronization using API Google Drive on Android Operating System Agustinus Noertjahyana, Kevin Darmawan, Justinus Andjarwirawan Informatics Engineering Department Petra Christian University Surabaya,

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Chapter 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 information

COLLEGE OF ENGINEERING, NASHIK-4

COLLEGE 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 information

Android System Development Training 4-day session

Android 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 information

The HiKey AOSP collaborative experience

The HiKey AOSP collaborative experience The HiKey AOSP collaborative experience Presented by John Stultz (With help from Amit Pundir, Guodong Xu, and Vishal Bhoj) Date BKK16-310 March 9, 2016 Event Linaro Connect BKK16 Outline HiKey in AOSP

More information

Four Components of a Computer System

Four 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 information

Installation Instructions

Installation Instructions Installation Instructions Reading App Builder: Installation Instructions 2017, SIL International Last updated: 1 December 2017 You are free to print this manual for personal use and for training workshops.

More information

QUICK START GUIDE AMOS-820. Android BSP v

QUICK START GUIDE AMOS-820. Android BSP v QUICK START GUIDE AMOS-820 Android BSP v4.0.2 1.00-08112016-145000 Copyright Copyright 2016 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted,

More information

Introduction To Android

Introduction 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 information

Qt for Device Creation

Qt for Device Creation Qt for Device Creation Speeding up ROI & Time-to-Market with Qt Andy Nichols Software Engineer, Qt R&D, Oslo Overview Problems facing Device Creators How Qt for Device Creation addresses those Problems

More information

Enabler Manual Device-Based Anonymization

Enabler Manual Device-Based Anonymization Enabler Manual Device-Based Anonymization Project name Short name 5G Enablers for Network and System Security and Resilience 5G-ENSURE Grant agreement 671562 Call Authors H2020-ICT-2014-2 TIIT: Madalina

More information

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services Operating System Services One set of services for users The other set of services for system operations Operating Systems Structures Notice: This set of slides is based on the notes by Professor Perrone

More information

A STUDY OF ANDROID OPERATING SYSTEM WITH RESPECT WITH USERS SATISFACTION

A STUDY OF ANDROID OPERATING SYSTEM WITH RESPECT WITH USERS SATISFACTION A STUDY OF ANDROID OPERATING SYSTEM WITH RESPECT WITH USERS SATISFACTION Ashish A Kulkarni 1, Pooja A Kulkarni 2 1 Assistant Professor, MIT School of Management Pune, (India) 2 Assistant Professor, NBN

More information

Complex Text Rendering

Complex Text Rendering BRAC UNIVERSITY Complex Text Rendering Submitted By: Saad Bin Mahbub(07201002) Md. Ashraf-ul-Hauque(08101019) Imran Kader (08101008) 1 Submission Date:12 th April, 2012 2 Complex Text Rendering Submitted

More information

Zephyr Kernel Installation & Setup Manual

Zephyr Kernel Installation & Setup Manual Zephyr Kernel Installation & Setup Manual Zephyr kernel is a small footprint Single address space OS, i.e, it combines application specific code with a custom kernel to create a monolithic image that gets

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Kisik Jeong (kisik@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Android - open source mobile platform

Android - 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 information

Android App Development

Android 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 information

Getting the Source Code

Getting the Source Code Getting the Source Code The CORD source code is available from our Gerrit system at gerrit.opencord.org. Setting up a Gerrit account and ssh access will also enable you to submit your own changes to CORD

More information

NI Linux Real-Time. Fanie Coetzer. Field Sales Engineer SA North. ni.com

NI Linux Real-Time. Fanie Coetzer. Field Sales Engineer SA North. ni.com 1 NI Linux Real-Time Fanie Coetzer Field Sales Engineer SA North Agenda 1. Hardware Overview 2. Introduction to NI Linux Real-Time OS Background & Core Technology Filesystem Connectivity and Security 3.

More information

Release Notes Zebra TC51 and TC56 Android M MG (GMS)

Release Notes Zebra TC51 and TC56 Android M MG (GMS) Release Notes Zebra TC51 and TC56 01-21- 04.1MG (GMS) Introduction Description Known Issues and Limitation Contents Device Compatibility Installation Requirements Installation Instructions Change Notes

More information

Kick Start your Embedded Development with Qt

Kick Start your Embedded Development with Qt Kick Start your Embedded Development with Qt Increasing Return On Investment & shortening time-to-market Nils Christian Roscher-Nielsen Product Manager, The Qt Company Overview Problems facing Device Creators

More information

Android Debugging and Performance Analysis

Android Debugging and Performance Analysis Hands On Exercises for Android Debugging and Performance Analysis v. 2018.10 -- Day 1 WARNING: The order of the exercises does not always follow the same order of the explanations in the slides. When carrying

More information

Lab 6: OS Security for the Internet of Things

Lab 6: OS Security for the Internet of Things Department of Computer Science: Cyber Security Practice Lab 6: OS Security for the Internet of Things Introduction The Internet of Things (IoT) is an emerging technology that will affect our daily life.

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Dong-Yun Lee (dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Lecture 1 - Introduction to Android

Lecture 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 information

Android Jelly Bean Manual Install Application On Sd Card

Android Jelly Bean Manual Install Application On Sd Card Android Jelly Bean Manual Install Application On Sd Card All of them except the sd card,have really low space and I can't install 2 but i can move apps to sdcard and my other fone which 4.1.2 doesnt have

More information

Android Application Development A Beginners Tutorial

Android Application Development A Beginners Tutorial We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer, you have convenient answers with android application

More information

Git & Github Fundamental by Rajesh Kumar.

Git & Github Fundamental by Rajesh Kumar. Git & Github Fundamental by Rajesh Kumar About me Rajesh Kumar DevOps Architect @RajeshKumarIN www.rajeshkumar.xyz www.scmgalaxy.com 2 What is git Manage your source code versions Who should use Git Anyone

More information

Research on Improving performance and Battery Backup of Android Mobile with help of Cyanogen Mod, and latest kernel

Research on Improving performance and Battery Backup of Android Mobile with help of Cyanogen Mod, and latest kernel Research on Improving performance and Battery Backup of Android Mobile with help of Cyanogen Mod, and latest kernel Abstract Tushar G Patil. MCA, Mumbai University Institute of Management & Computer Studies,

More information

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18

Why 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 information

Installing Ubuntu 8.04 for use with ESP-r 8 May 2009 Jon W. Hand, ESRU, Glasgow, Scotland

Installing Ubuntu 8.04 for use with ESP-r 8 May 2009 Jon W. Hand, ESRU, Glasgow, Scotland Installing Ubuntu 8.04 for use with ESP-r 8 May 2009 Jon W. Hand, ESRU, Glasgow, Scotland Introduction These notes apply to Ubuntu version 8.04. There are different disk layouts discussed as well as two

More information

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Lecture 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 information

Mobile and Ubiquitous Computing: Android Programming (part 1)

Mobile 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 information

Install ADB on Windows

Install ADB on Windows Android Debug Bridge or better known as ADB is a powerful and versatile tool that lets you do a lot of things like pulling out logs, installing and uninstalling apps, transferring files, rooting and flashing

More information

WELCOME Mobile Applications Testing. Copyright

WELCOME Mobile Applications Testing. Copyright WELCOME Mobile Applications Testing Copyright NataliaS@portnov.com 1 Devices : ROOTING : ANDROID OS Rooting is the Android equivalent of jailbreaking, a means of unlocking the operating system you can

More information

Department of Computer Science and Engineering, Sri Jayachamarajendra College of Engineering, Mysore, Karnataka

Department of Computer Science and Engineering, Sri Jayachamarajendra College of Engineering, Mysore, Karnataka FUTURE DIRECTIONS FOR FIRMWARE FLASHING ON ANDROID DEVICES Yadunandan Laxman Huded* & S. Srinath** Department of Computer Science and Engineering, Sri Jayachamarajendra College of Engineering, Mysore,

More information

Lab 6: OS Security for the Internet of Things

Lab 6: OS Security for the Internet of Things Department of Computer Science: Cyber Security Practice Lab 6: OS Security for the Internet of Things Introduction The Internet of Things (IoT) is an emerging technology that will affect our daily life.

More information

Android Forensics. Investigation, Analysis, Google Android. and Mobile Security for. Andrew Hoog. John McCash, Technical Editor SYNGRESS

Android Forensics. Investigation, Analysis, Google Android. and Mobile Security for. Andrew Hoog. John McCash, Technical Editor SYNGRESS Android Forensics Investigation, Analysis, and Mobile Security for Google Android Andrew Hoog John McCash, Technical Editor AMSTERDAM BOSTON. HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO.

More information

Regardless of the size and complexity of the computer and the operating system, all operating systems perform the same four basic functions:

Regardless of the size and complexity of the computer and the operating system, all operating systems perform the same four basic functions: Operating Systems Introduction The operating system (OS) controls almost all functions on a computer. In this chapter, you learn about the components, functions, and terminology related to the Windows

More information

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating system of a computer What is an

More information

Developing on DragonBoard

Developing on DragonBoard Developing on DragonBoard Getting Started with APQ8060 and Pragmatux+Android Bill Gatliff bgat@billgatliff.com Ryan Kuester rkuester@insymbols.com 1 2 CPU Daughterboard APQ8060 ARMv7 Dual core 1.5 GHz

More information

PAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY:

PAPER 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 information

HOW TO DEVELOP FOR GLASS ENTERPRISE

HOW TO DEVELOP FOR GLASS ENTERPRISE HOW TO DEVELOP FOR GLASS ENTERPRISE Index 1 Introduction. 2 Install Android Studio. 3 SDK Platform and Glass Development Kit preview for android 4.4.2 (API 19). 4 Activate debug. 5 Connect Glass. Authorize.

More information

Installation Instructions

Installation Instructions Installation Instructions Last updated: 08 May 2017 Contents 1. Introduction... 3 2. Windows Installation... 3 2.1. Installing Dictionary App Builder... 3 2.2. Installing Java SE Development Kit (JDK)...

More information

Lab 5: Android Development Environment

Lab 5: Android Development Environment Lab 5: Android Development Environment The goal is to download the kernel sources, a cross compiler, some tools for accessing an Android OS, and an emulator. A new kernel for the ARM architecture will

More information

Android Sdk Tutorial For Windows 7 64 Bit Full Version

Android Sdk Tutorial For Windows 7 64 Bit Full Version Android Sdk Tutorial For Windows 7 64 Bit Full Version I will be doing the same tutorial for Windows 7 next. First of all you need to know which. Windows XP (32-bit), Vista (32- or 64-bit), or Windows

More information

Chapter 2: System Structures

Chapter 2: System Structures Chapter 2: Operating System Structures Operating System Services System Calls Chapter 2: System Structures System Programs Operating System Design and Implementation Operating System Structure Virtual

More information

Having Fun with Social Coding. Sean Handley. February 25, 2010

Having Fun with Social Coding. Sean Handley. February 25, 2010 Having Fun with Social Coding February 25, 2010 What is Github? GitHub is to collaborative coding, what Facebook is to social networking 1 It serves as a web front-end to open source projects by allowing

More information

QUICK START GUIDE NTS HOSTED PBX CALL MANAGER. Welcome. Getting Oriented

QUICK START GUIDE NTS HOSTED PBX CALL MANAGER.   Welcome. Getting Oriented QUICK START GUIDE NTS HOSTED PBX Welcome Welcome to NTS Hosted PBX! This guide is intended to get you up and running with the basic features associated with the product. For more in-depth information,

More information

Tizen Project Guideline. SKKU Embedded Software Lab.

Tizen Project Guideline. SKKU Embedded Software Lab. 1 Tizen Project Guideline Tizen Project Process 2 Assume that you have done flashing Tizen images. 1. Preparation Install Tizen Development Environments 2. Github 1. Sign in Github 2. Make an Organization

More information

Version control. what is version control? setting up Git simple command-line usage Git basics

Version control. what is version control? setting up Git simple command-line usage Git basics Version control what is version control? setting up Git simple command-line usage Git basics Version control - intro ensure we keep track of changes, updates, contributions, suggested mods... could try

More information

BlackBerry BlackBerry 10 OS, version continues to build on the BlackBerry 10 platform for the Z10, Q10 and Z30 devices.

BlackBerry BlackBerry 10 OS, version continues to build on the BlackBerry 10 platform for the Z10, Q10 and Z30 devices. BlackBerry 10.2.1 BlackBerry 10 OS, version 10.2.1 continues to build on the BlackBerry 10 platform for the Z10, Q10 and Z30 devices. PINCH TO PRIORITIZE Don t miss important messages Pinch the Hub to

More information

An overview of mobile and embedded platforms

An overview of mobile and embedded platforms ES3 Lecture 2 An overview of mobile and embedded platforms Basic Classes Embedded devices: These are in toasters, cars, mice, etc. Usually very real-time focused (us accuracy) Very small memory, not usually

More information

Building Construction Management System Using Android Application

Building Construction Management System Using Android Application Building Construction Management System Using Android Application 1 Mr. K.Aravindhan, 2 Iswarya P. 1 Assistant Professor, Department of CSE, SNS College of Engineering, Coimbatore, India e-mail: aravindhan02@gmail.com

More information

Hard Disk Organization. Vocabulary

Hard Disk Organization. Vocabulary Hard Disk Organization Vocabulary Platter: one ceramic plate, covered with magnetizable film where the bits are actually stored. Both sides of a platter can be used. Increasing the number of platters is

More information

International Journal of Multidisciplinary Consortium Volume 2 Issue

International Journal of Multidisciplinary Consortium Volume 2 Issue ARCHITECTURAL COMPARISON A CASE STUDY BETWEEN ANDROID & IOS by Ankit Gupta Research Scholar Tecnia Institute of Advance Studies Delhi & Nisha Research Scholar Tecnia Institute of Advance Studies Delhi

More information

Lab #9: Configuring A Linux File Server

Lab #9: Configuring A Linux File Server Lab #9 Page 1 of 6 Theory: Lab #9: Configuring A Linux File Server The Network File System (NFS) feature provides a means of sharing Linux file systems and directories with other Linux and UNIX computers

More information

Building Tizen Development Environment

Building Tizen Development Environment Building Tizen Development Environment Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Outline Install Ubuntu on Virtual Machine Build Tizen Development Environment

More information

Android Forensics. Presented By: Mohamed Khaled. Thanks to: Ibrahim Mosaad Mohamed Shawky

Android Forensics. Presented By: Mohamed Khaled. Thanks to: Ibrahim Mosaad Mohamed Shawky Android Forensics Presented By: Mohamed Khaled Thanks to: Ibrahim Mosaad Mohamed Shawky Agenda Mobile Forensic Process Different Mobile Forensic Scenario Acquisition Guide Challenges of Android Forensics

More information

Using Openembedded with Snapdragon Flight

Using Openembedded with Snapdragon Flight April 2016 Mark Charlebois Using Openembedded with Snapdragon Flight Background Snapdragon Flight board is available from Intrinsyc Based on Qualcomm APQ8074 Uses 3.4 kernel (Android) and Linux userspace

More information

IJREAT International Journal of Research in Engineering & Advanced Technology, Volume 1, Issue 5, Oct-Nov, 2013 ISSN:

IJREAT International Journal of Research in Engineering & Advanced Technology, Volume 1, Issue 5, Oct-Nov, 2013 ISSN: Friendly ARM MINI2440 & Dalvik Virtual Machine with Android Sangamesh Gama 1 and Manjula C 2 1 Assistant Professor, Department of Computer Science and Engineering, BKIT Bhalki, India 2 Associate Software

More information

Introduction to Android

Introduction 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 information

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Another 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 information