Android Introduce yourself.

Slides:



Advertisements
Similar presentations
 Very dominant in terms of market share.  Is 7.4% of smartphone market share. 60% of all Android devices globally.
Advertisements

Google chrome operating system
Cosc 4730 Installing IDEs And a note on carriers..
SM3121 Software Technology Mark Green School of Creative Media.
This course is designed to give you a basic introduction to the ins and outs of using tablet and smartphone technology. By and large, you will learn the.
UFCFX5-15-3Mobile Device Development Android Development Environments and Windows.
SET UP COMPUTER ** PLEASE BE AWARE SCREENSHOTS MAY NOT MATCH **
Introduction to Android Platform Overview
Rooting Android Devices. What is rooting? Rooting is the term for gaining access to the root of the hierarchical structure of a device Rooting is sometimes.
Operating Systems Chapter 4.
Smartphones Adrián Preciado. Smartphones Index 1.iPhone OS 1.1Pros 1.2Cons 1.3Different iPhones 1.4 App Store 2.Android 2.1Pros 2.2Cons 2.3 Some phones.
Chromium OS is an open-source project that aims to build an operating system that provides a fast, simple, and more secure computing experience for people.
 Security and Smartphones By Parker Moore. The Smartphone Takeover  Half of mobile phone subscribers in the United States have a smartphone.  An estimated.
May 10, 2012 Lloyd Moore, President/Owner. Quick Start Video Building Mobility 1.2 SDK Emulator Quirks Installing On A Device Summary Overview.
Confidential [Offline] Regular Demo installation SOP for ME301T.
Hacked, rooted and jailbroken – different approaches to accessibility Bruce Darby Technology Advisor University of Edinburgh.
Introduction to Android. Android as a system, is a java based operating system that runs on the Linux kernel. The system is very lightweight and full.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Fun With the HTC Rezound Janus Ixion For NoVAHackers
Building Your Own Android Systems from Source Adam C. Champion CSE 5236: Mobile App Development 1.
GOOGLE PLAY By William Cook April 14, GOOGLE PLAY Marketplace for apps for android Androids “app store” You must make an account on the developer.
By Collin Donaldson.   In conventional OS architectures, the user accesses the OS via an account that has certain privileges (admin, guest). They can.
 Prepared by: Eng. Maryam Adel Abdel-Hady
UNIX U.Y: 1435/1436 H Operating System Concept. What is an Operating System?  The operating system (OS) is the program which starts up when you turn.
3 main operating system! BY Charlotte Oates. Microsoft windows! A family of operating systems for personal computers. Windows dominates the personal computer.
Transfer Contacts from iPhone to Android From:
How to root Android Phone and Tablet for free and safe.
Upgrading to Windows 10 Mike Farquhar January 2016 Thornbury U3A Computer Club.
How to Send Text Messages from PC to iPhoneHow to Send Text Messages from PC to iPhone? Q: Is there a way to read and send text messages (SMS) from a PC.
IPhone to Galaxy Transfer
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
TIZEN STUDIO INSTALLATION & ENVIRONMENT SETUP FOR DEVLAB
Brian Atzori 4B 2015/2016.
Daniel, Stephen & Thomson
DISCOVERING COMPUTERS 2018 Digital Technology, Data, and Devices
Mobile Device Development
Downloading & Installing the BIT115 Software & Programs
Home entertainment and computing
bitcurator-access-webtools Quick Start Guide
Keeping Children Safe Online
iPhones and iPads and iTunes, Oh My!
Operating System & Application Software
WELCOME Mobile Applications Testing
Advanced Computer Systems Lab
Seamless Guest OS's and more!
Android 1: Background Kirk Scott.
LINUX WINDOWS Vs..
Mobile Application Development
Android Studio, Android System Basics and Git
Boomerang Adds Smart Calendar Assistant and Reminders to Office 365 That Increase Productivity and Simplify Meeting Scheduling OFFICE 365 APP BUILDER.
Android.
Android is the step in the vision of creating a better mobile phone.
Why You Ought To Use Framaroot APK When Rooting Your Android Device?
Liberating Android with Paul from DCTRL.
What this activity will show you
MOBILE DEVICE OPERATING SYSTEM
LINUX WINDOWS Vs..
Introduction to Mobile Devices
Software engineering in the mobile phone platform war.
Computer Technology (S1 OBJ and obj 3-2)
Intro. To Operating Systems
Backtrack Metasploit and SET
Office 365.
Navigating the RUN Mobile Demo NCSC Product Certification
Operating Systems 1: News
IST346: Operating Systems / Command Line Interfaces
Chromebook Carts Kamiak High School.
Introducing Windows Operating Systems
Making a Revision Timetable
Building Your Own Android Systems from Source
Presentation transcript:

Android Introduce yourself

What is Android? Android is and OS created by Google. It target market is mobile phones and tablets The first Android phone designs were going to look like crappy blackberries – they never saw the light of day because Apple released the iPhone and Google realized they needed to do better – so they did.

The Android OS The Android OS uses a Linux kernel. Pretty much everything else comes from Google. On top of the Linux kernel sits a BSD licensed C library Called bionic that the core android libraries link with. On top of this implemented the other key libraries such as a C++ run time environment. Op top of this comes Davlik the Android “JVM”, This is the part of Android that Google was sued by Oracle for because the design of Davlik is basically that of a Java Virtual Machine – early android actually contained source files from Sun. The Davlik runs the Apps on your phone, but we're not going to talk about this much. Android is only barely like our friend GNU/Linux. Really the only common code that Android shares with GNU/Linux is the Linux kernel. This is because Google pretty much wrote Android from scratch.

AOSP Google Releases the source code for the entire android OS under the “Android Open Source Project” Google only does this for Major releases of the Android OS and it is released as a starting point for device vendors to port Android to a device. The code in the AOSP site is pretty raw. It only supports a limited number of devices – mostly the Nexus devices sold by Google. The site is difficult to navigate. Its really not a fun place to learn about Android at all. The key thing you learn here is that the Android OS is built from a big collection of software repos.

Licensing Android is mostly covered by an Apache or BSD license. This means that Android Device Vendors can take a develop android for their device and not share the code back. They like this because they feel like that HTC sense crap they make is actually good. It also helps them keep there hardware drivers secrete in a way because the HAL that actually interacts with the very simple camera driver that's in the Linux kernel stays propriety. Thus porting android to a generic phone is really difficult.

Fun AOSP is mostly a dumping ground for Google code so that other massive companies full of paid developers can download it and start porting it to their devices. This really isn't something that is fun for your average guy. Furthermore the modifications that these device makers are making to Android are pretty much closed source – this is because of weak copy left licenses that mostly govern the Android project. Cyanogenmod is a community/open source project. That takes the code from the 50+ git repos that make up the android project and creates something you can actually build for your device with only basic understanding of software engineering. Cyanogenmod also adds its own third party code to Android for supporting things like Wifi tethering etc and creates third party ROMs for many popular devices. This is a good place for our development adventure to begin

Getting started First I recommend you actually install Cyanogenmod on a device you own. This will get you familiar with running a unsupported warranty voiding OS on your $600 smart phone. I've installed Cyanogenmod on my personal cell phone. The fun part was when it wiped all my data! Its safe to run and I recommend it if you have a device that receives a stable release. The things that will break are GPS, Cameras and WIFI, typically basic calling and 3G data will always work. If you are actually going to start building ROM's I highly recommend that you get a second phone to play with. I purchased a Galaxy Nexus S with a cracked screen off ebay for $30. The Nexus phones will be easier to start with because unlocking the bootloader on them is easily done and they are well supported by the android code.

Woah, What is a ROM? ROM is an old computer term for “Read Only Memory” An Android ROM is a archive containing the Android OS that can be installed on device. Cyanogenmod distributes their ROMS in a simple .zip archive. It doesn't matter whether you call CyanogenMod a "ROM" or a "firmware" or an "operating system" or a "distribution", it all means in this case the same thing.

Cyangenmod ROM install Basic Process is: Access root on your phone Use this to rewrite the recovery area with a custom program (typically clockworkmod) Use clockworkmod to wipe the existing ROM and replace it with one you've loaded form the /sdcard Your data will be GONE after you do this, make sure you backup your stuff (contacts/pictures) to google or other service. (usually) Use clockworkmod to load the gapps package so that you can access google services

G-what? Some of the really useful stuff on your phone are propriety Google applications and services. These are called the “gapps” in cyanogenmod speak. This includes the play store app and things like navigation. Google has been tying the Android OS more tightly to their services so a phone without G-Apps is much less fun then one with. Applications can still be side loaded, but if they use certain Google services from G-Apps (location data?) they might not work.

HTC Inc Example http://wiki.cyanogenmod.org/w/Install_CM_for_inc

Ok, that was cute, now build it Building Cyanogenmod is not difficult, Understanding what you are doing is. Setting up the build environment on your laptop is going to take a hour or two, syncing the source archives is going to take a long time, probably a few hours as they are 12GB in size.

First: Find the Build Guide for your device You can use this page to discover what devices support CM11. http://wiki.cyanogenmod.org/w/Build_Guides explain crespo4g mess up

Now RTFM Don't try to force the packages on from the Google Android Page you will brake ubuntu desktop – unless you don't care about a desktop then go right ahead. I used 12.04 LTS. This seams to be a good fit. Newer would work but this was the right mix of new and old. You really need Java 1.6 from Oracle, do not mess around with OpenJDK – at least not until you have more experience. The repo sync command is going to take a long time. Have a good internet connection and something else to do while it runs – like go to bed. If you repo sync to a new release you are doing a git rebase. Moving backwards is relatively quick, maybe 20-40 min... Going fowards will take hours. If you repo sync and get connection timeouts use the - j# switch to limit the number of threads, 1 might be a good idea if you're at home on mediacom between 4:00pm and 6:00pm.

Builds I did 7.2 for HTC inc – stock cyanogenmod 11.0 for HTC inc – some hacked up build I found on github, worked booted but had massive slowness and video corruption 10.2 stock cyanogenmod for crespo4g – FAILED!!! Big fat waste of time looks like 10.2 doesn't work on crespo 10.1 stock cyanogenmod for crespo4g... Success... IDK.

Unlocking the Bootloader on the Nexus S qclug@qclug:~/android/system$ adb reboot bootloader * daemon not running. starting it now on port 5037 * * daemon started successfully * qclug@qclug:~/android/system$ fastboot oem unlock < waiting for device > ^C qclug@qclug:~/android/system$ fastboot devices (WTF? Not devices?) qclug@qclug:~/android/system$ sudo su - [sudo] password for qclug: root@qclug:~# fastboot devices 34319C6E884D00EC fastboot root@qclug:~# fastboot oem unlock ... OKAY [ 10.878s] finished. total time: 10.878s root@qclug:~#

Building For Unsupported Devices XDA Developers – be prepared for your head to explode.