SlideShare a Scribd company logo
Introduction to Android
        Christophe Beyls
   Jeudis du Libre - April 2012
About the speaker
● Developer living in Brussels.
● Uses various programming languages,
  mostly Java and C#.
● Likes coding, hacking devices, travelling,
  movies, music, (LOL)cats.

● Worked for:
Agenda

1. Introduction - Why Android?
2. History
3. System architecture and its free parts
4. The SDK
5. The building blocks of an Android
   app
6. Devices hacking and custom ROMs
7. Questions & Answers.
Why Android?
Why Android?
Why Android?
■ Open architecture.
■ Apps may be distributed outside the Google
  Play Store (Android Market) and installed on
  any device.
History
■ 2003: Android Inc.
  founded by Andy Rubin.
■ 2005: Purchase by Google.

■ January 2007: Apple announces
  the iPhone.
■ June 2007: iPhone released.
History
November 2007
Google creates the Open Handset Alliance
consortium with 34 founding members.

Manufacturers: HTC, LG, Sony, Motorola,
Samsung.
Semiconductors: Qualcomm, Intel, nVidia, ...
Operators: T-Mobile, Sprint, Telefónica...
Software: eBay, Google, Nuance, ...
History
November 2007: First beta SDK released.
History
December 2007: Early prototype unveiled.
History
February 2008: Apple releases the iPhone
SDK.
June 2008: Apple opens the App Store and
releases the iPhone 3G.
History
September 2008
Android 1.0 on HTC Dream (T-Mobile G1).
History
February 2009: Android 1.1 (bugfixes).
April 2009: Android 1.5 Cupcake
 (Widgets, virtual keyboard).
June 2009: 2 more Android phones released.
       HTC Magic              HTC Hero




September 2009: Android 1.6 Donut
(Text-to-speech, multiple screen resolutions).
History
November 2009: Android 2.0 Eclair
(HTML5, Contacts + Bluetooth APIs).
January 2010: Nexus One released
(first Google-branded phone).
Android 2.1 (bugfixes, live wallpapers).

April 2010: Apple iPad released.
May 2010: Android 2.2 FroYo
(speed, JIT compiler, push notifications, Adobe
Flash support, WiFi hotspot).
History
2Q10: Android outsells iOS devices worldwide.
History
December 2010: Android 2.3 Gingerbread
on Google Nexus S.
(Black interface, NFC, native SIP,
WebM support)
History
February 2011: Android 3.0 Honeycomb
on the first Android tablet: the Motorola Xoom.
■ New UI: Holo theme, Fragments, Action Bar
■ Full 2D hardware acceleration.
History
3Q11: Android market share doubles compared
to 3Q10 and becomes to most used mobile OS.
History
November 2011:
Android 4.0 Ice Cream Sandwich
on Google/Samsung Galaxy Nexus.

■ Unified OS for Smartphones
  and Tablets.
■ Faster, smoother
■ Improved browser
■ Roboto font
■ Face unlock.
System Architecture
System architecture - Bionic libc
■ Fast, optimized for ARM
■ Lightweight (200 ko), half the size of glibc
■ No C++ Exceptions
■ No Standard Template Library
■ New pthreads implementation
  [does not support pthread_cancel()]
■ Can be exploited directly through NDK
  (native development kit)

BSD licence
https://github.com/android/platform_bionic
System architecture - WebKit
■ Developed by KDE, Apple, Nokia, Google
  and others.
■ Android 2.2+ uses faster V8 javascript
  engine instead of JavascriptCore.
■ No differences between Android browser
  and webviews embedded in apps.
System architecture -
Media Framework
Based on OpenCORE and Stagefright (2.2+).
System architecture -
Media Framework - Base support
■ Audio codecs: AAC, MP3, AMR, PCM,
  MIDI, Ogg Vorbis, FLAC (3.1+)
■ Image codecs: JPEG, GIF, BMP, PNG,
  WebP (4.0+)
■ Video codecs: H.263, H.264, MPEG-4 SP,
  VP8 (2.3.3+)
■ Containers: 3GPP, MPEG-4,
  Matroska (.mkv) (4.0+)
■ Manufacturers may add more codecs.

  Italic = patent-free
System architecture - Runtime
■ Android uses only the Java language,
  not the Java platform.
■ Dalvik Virtual Machine developed by
  Google.
■ Uses minimal memory.
■ Java bytecode is converted to smaller
  Dalvik bytecode at build time (.dex files).
■ Uses Just-In-Time compilation since
  Android 2.2 for better performance.
■ Standard library is based on Apache
  Harmony open source implementation.
Android Open Source Project
(AOSP)
source.android.com
Android Open Source Project
(AOSP)
Almost... fully open:
■ Google publishes source code when they
  decide it.
■ No real interaction with Google teams.
■ Not everything is open source:
  ○ Proprietary binary drivers
  ○ Google Apps: Google Maps, Gmail, Google
    Contacts/Calendar/Bookmarks Sync, Google Talk,
    Play Store (Android Market), Youtube, Weather
    widget, Text-To-Speech, Voice Search.
The SDK
iPhone / iPad
■ Hardware: Mac (with latest Mac OS X)
■ IDE: XCode (free)
■ Language: Objective-C.

Windows Phone 7 / Windows 8
■ Hardware: PC with Microsoft Windows
■ IDE: Microsoft Visual Studio (free)
■ Language: C#, Visual Basic.
The SDK
Android
■ Hardware: Any x86
■ IDE: Eclipse, Netbeans, IntelliJ IDEA
■ Language: Java.
Installing the SDK
developer.android.com/sdk
Official SDK Tools
■   ADB (Android Debug Bridge)
■   ARM Emulator (based on QEMU)
■   DDMS (Dalvik Debug Monitor Server)
■   Proguard (Java optimizer & obfuscator)
■   ADT Plugin for Eclipse:
    ○   Project wizards
    ○   Java editor with code completion, refactoring, ...
    ○   Lint integration
    ○   Visual layout editor



+ NDK (Native Development Kit)
Official SDK Tools - ADT Plugin
Official SDK Tools - ADT Plugin
Official SDK Tools - ADT Plugin
Official SDK Tools - ADT Plugin
Resources
■ By language
■ By screen density
■ By screen orientation
■ By Android version
Official SDK Tools - ADT Plugin
User Interface




developer.android.com/design
Android apps: the building blocks
Activities: screens with a life cycle.
Android apps: the building blocks
Fragments: portions of screens with a life
cycle.
Android apps: the building blocks
■ Background services.

■ Intents: IPC mechanism between
  Activities and/or Services.
  Action + Data
  ○ Action: View, Edit, Dial, ..., custom actions
  ○ Data: URL scheme or any MIME type.

■ Everything in the system use intents
  and is interchangeable.
Android apps: the building blocks
Special apps:
■ Live wallpapers
■ Widgets
Diversity
Development challenges:

■ Write fast high-level code or use NDK

■ Support multiple devices types
    ○ Phones
    ○ Tablets
    ○ Google TVs

■   Support multiple Android versions.
Diversity - Android versions
Diversity - Android versions




                               99%
Diversity - Android versions
Use features of newer Android versions
while staying compatible with older runtimes:
Isolate special functionality in separate classes.

MyInterface implementation;

if (Build.VERSION.SDK_INT >=
     Build.VERSION_CODES.FROYO)
   implementation = new FroYoImplementation();
else
   implementation = new CompatibleImplementation();
The upgrade problem
Manufacturers provide custom user interfaces.




                  Sony Ericsson
  HTC Sense        Timescape      Samsung TouchWiz
The upgrade problem
■ Updating the custom user interface to a new
  Android version requires a lot of work.
■ Manufacturers focus on selling you their
  latest hardware, not providing support for
  older hardware.
■ On Android, upgrades usually depend on
  carriers. (The Proximus case)
■ Many manufacturers don't do OTA updates.
■ Average official support time:
  ○ 3 years for Apple
  ○ <= 2 years for most Android phones.
The upgrade solution:
Installing community ROMs
Why hack ?
■ Give choice to the user.
■ Remove bloatware.
■ Provide longer term support and upgrades.

Custom ROMs:
Complete firmware (OS, UI, base applications)
created by the community.
Hacking - Custom ROMs
Different kinds of custom ROMs:
■ Modified original vendor versions
■ Ported from another device (experimental)
■ Build from source (AOSP)

Hack challenges
■ Locked hardware (HTC S-ON).
■ Binary drivers:
  Radio (Wifi - Bluetooth - GPS), Graphics,
  NFC, sometimes accelerometers.
Hacking
Warning: voids warranty.

Successfully hacked:

HTC G1, HTC Magic, HTC Hero, HTC Desire,
HTC Legend, Dell Streak, Samsung Galaxy S,
Samsung Galaxy Gio, Samsung Galaxy Tab,
Acer Liquid, ZTE Blade, Motorola Xoom,
Sony Ericsson Xperia X10.
Hacking - The Bible
       forum.xda-developers.com
Hacking - Custom ROMs
  Cyanogenmod - www.cyanogenmod.com
Hacking - Custom ROMs
        MIUI - miuiandroid.com
Hacking basics
■ ROM                      Bootloader
                     IPL    SPL     Kernel

■ Recovery                 Recovery
                            Radio

Boot modes:                System
■ Normal OS
■ Recovery
■ SPL (Flash mode)           Data
Hacking basics

Custom ROM:
Zip file containing
■ system files
■ kernel
■ optionnally radio.

Can be installed easily
using a custom recovery.
Hacking basics - 1. Flash tools
FastBoot (Google, HTC, Sony Ericsson)

■ Android standard command line Flash Tool
■ Available in the SDK (Win, Mac, Linux)
■ Useful commands:

fastboot   oem unlock
fastboot   flash recovery recovery.img
fastboot   boot recovery.img
fastboot   erase data -w
Hacking basics - 1. Flash tools
        Samsung ODIN (Windows)
Hacking basics - 2. Root access
■ Root access allows to perform restricted
  operations like:
   ○ writing files on system partition
   ○ flashing a custom recovery directly from Android
     OS.


■ It requires:
   ○ Patching or replacing the kernel
   ○ - or -
   ○ Use phone-specific kernel exploits
     (mainly through ADB).
Hacking basics - 2. Root access
Recap: How to change your ROM
1. Go to a forum / wiki and learn the procedure
2. Use:
   a. fastboot
   b. the vendor flash tool
   c. a root hack
   to install a custom recovery on your phone.
3. Download a custom ROM as zip file and
   place it to your SD card/internal storage.
4. Reboot your phone in custom recovery and
   install the ROM. Reboot. Done.
Hacking basics - Custom recovery
ClockworkMod
recovery
Hacking basics - Custom recovery
Thank you for watching.
Questions?




Twitter: @BladeCoder
Web: digitalia.be

More Related Content

What's hot

Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
Opersys inc.
 
Flutter introduction
Flutter introductionFlutter introduction
Flutter introduction
SheilaJimenezMorejon
 
C language in our world 2017
C language in our world 2017C language in our world 2017
C language in our world 2017
Juraj Michálek
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)
Ron Munitz
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011
Opersys inc.
 
Android Things Latest News / Aug 25, 2017
Android Things Latest News / Aug 25, 2017Android Things Latest News / Aug 25, 2017
Android Things Latest News / Aug 25, 2017
Masahiro Hidaka
 
Development of Mobile Applications
Development of Mobile ApplicationsDevelopment of Mobile Applications
Development of Mobile Applications
Dávid Kaya
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
Samsung Open Source Group
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
Opersys inc.
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
Opersys inc.
 
Android Things Introduction
Android Things IntroductionAndroid Things Introduction
Android Things Introduction
Benjamin Stürmer
 
Android development
Android developmentAndroid development
Android developmentLope Emano
 
Flutter
Flutter Flutter
Flutter
Mohit Nainwal
 
Android Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IAndroid Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part I
Opersys inc.
 
Embedded Android Workshop at Embedded Linux Conference Europe 2011
Embedded Android Workshop at Embedded Linux Conference Europe 2011Embedded Android Workshop at Embedded Linux Conference Europe 2011
Embedded Android Workshop at Embedded Linux Conference Europe 2011
Opersys inc.
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto Project
Leon Anavi
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Samsung Open Source Group
 
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)
Ron Munitz
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things Internals
Opersys inc.
 
Flutter intro
Flutter introFlutter intro
Flutter intro
George T Kurian
 

What's hot (20)

Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Flutter introduction
Flutter introductionFlutter introduction
Flutter introduction
 
C language in our world 2017
C language in our world 2017C language in our world 2017
C language in our world 2017
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011
 
Android Things Latest News / Aug 25, 2017
Android Things Latest News / Aug 25, 2017Android Things Latest News / Aug 25, 2017
Android Things Latest News / Aug 25, 2017
 
Development of Mobile Applications
Development of Mobile ApplicationsDevelopment of Mobile Applications
Development of Mobile Applications
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Android Things Introduction
Android Things IntroductionAndroid Things Introduction
Android Things Introduction
 
Android development
Android developmentAndroid development
Android development
 
Flutter
Flutter Flutter
Flutter
 
Android Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IAndroid Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part I
 
Embedded Android Workshop at Embedded Linux Conference Europe 2011
Embedded Android Workshop at Embedded Linux Conference Europe 2011Embedded Android Workshop at Embedded Linux Conference Europe 2011
Embedded Android Workshop at Embedded Linux Conference Europe 2011
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto Project
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
 
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things Internals
 
Flutter intro
Flutter introFlutter intro
Flutter intro
 

Viewers also liked

Gbi 130219083032-phpapp02
Gbi 130219083032-phpapp02Gbi 130219083032-phpapp02
Gbi 130219083032-phpapp02kurt6008
 
Professional Development Opportunity on Google Drive
Professional Development Opportunity on Google DriveProfessional Development Opportunity on Google Drive
Professional Development Opportunity on Google Drive
Clement Coulston
 
Gestion basica de la informacion
Gestion basica de la informacionGestion basica de la informacion
Gestion basica de la informacionUNIMINUTO
 
Beyond company profile feb 2013 eng
Beyond company profile  feb 2013 engBeyond company profile  feb 2013 eng
Beyond company profile feb 2013 engHusna1965
 
Android Support Library: Using ActionBarCompat
Android Support Library: Using ActionBarCompatAndroid Support Library: Using ActionBarCompat
Android Support Library: Using ActionBarCompat
cbeyls
 
краткая биография всемирно известных актеров великобритании
краткая биография всемирно известных актеров великобританиикраткая биография всемирно известных актеров великобритании
краткая биография всемирно известных актеров великобританииАлексей Галахов
 
Bai tap lon xac xuat thong ke
Bai tap lon xac xuat thong keBai tap lon xac xuat thong ke
Bai tap lon xac xuat thong ke
Ngô Khắc Vũ
 
Agama tokoh istiqomah
Agama tokoh istiqomahAgama tokoh istiqomah
Agama tokoh istiqomahAnissa Nazda
 
Global business
Global businessGlobal business
Global business
Deba Ojha
 
You can sell presentation
You can sell presentationYou can sell presentation
You can sell presentation
Deba Ojha
 
gerak melingkar dengan laju konstan
gerak melingkar dengan laju konstangerak melingkar dengan laju konstan
gerak melingkar dengan laju konstan
Hestri Yanti
 
Reflection Resource from the 2013 National Service Learning Conference
Reflection Resource from the 2013 National Service Learning ConferenceReflection Resource from the 2013 National Service Learning Conference
Reflection Resource from the 2013 National Service Learning ConferenceClement Coulston
 
Perfetti’s distribution
Perfetti’s distributionPerfetti’s distribution
Perfetti’s distribution
Deba Ojha
 
Buzz marketing by sandip
Buzz marketing by sandipBuzz marketing by sandip
Buzz marketing by sandip
Deba Ojha
 
Routing
RoutingRouting
Routing
Deba Ojha
 
Adaptive missile-guidance-using-gps
Adaptive missile-guidance-using-gpsAdaptive missile-guidance-using-gps
Adaptive missile-guidance-using-gpsVinod Kumar
 

Viewers also liked (18)

Gbi 130219083032-phpapp02
Gbi 130219083032-phpapp02Gbi 130219083032-phpapp02
Gbi 130219083032-phpapp02
 
Anisa wahyuni
Anisa wahyuniAnisa wahyuni
Anisa wahyuni
 
Professional Development Opportunity on Google Drive
Professional Development Opportunity on Google DriveProfessional Development Opportunity on Google Drive
Professional Development Opportunity on Google Drive
 
Gestion basica de la informacion
Gestion basica de la informacionGestion basica de la informacion
Gestion basica de la informacion
 
Beyond company profile feb 2013 eng
Beyond company profile  feb 2013 engBeyond company profile  feb 2013 eng
Beyond company profile feb 2013 eng
 
Android Support Library: Using ActionBarCompat
Android Support Library: Using ActionBarCompatAndroid Support Library: Using ActionBarCompat
Android Support Library: Using ActionBarCompat
 
краткая биография всемирно известных актеров великобритании
краткая биография всемирно известных актеров великобританиикраткая биография всемирно известных актеров великобритании
краткая биография всемирно известных актеров великобритании
 
Bai tap lon xac xuat thong ke
Bai tap lon xac xuat thong keBai tap lon xac xuat thong ke
Bai tap lon xac xuat thong ke
 
Search Tips
Search TipsSearch Tips
Search Tips
 
Agama tokoh istiqomah
Agama tokoh istiqomahAgama tokoh istiqomah
Agama tokoh istiqomah
 
Global business
Global businessGlobal business
Global business
 
You can sell presentation
You can sell presentationYou can sell presentation
You can sell presentation
 
gerak melingkar dengan laju konstan
gerak melingkar dengan laju konstangerak melingkar dengan laju konstan
gerak melingkar dengan laju konstan
 
Reflection Resource from the 2013 National Service Learning Conference
Reflection Resource from the 2013 National Service Learning ConferenceReflection Resource from the 2013 National Service Learning Conference
Reflection Resource from the 2013 National Service Learning Conference
 
Perfetti’s distribution
Perfetti’s distributionPerfetti’s distribution
Perfetti’s distribution
 
Buzz marketing by sandip
Buzz marketing by sandipBuzz marketing by sandip
Buzz marketing by sandip
 
Routing
RoutingRouting
Routing
 
Adaptive missile-guidance-using-gps
Adaptive missile-guidance-using-gpsAdaptive missile-guidance-using-gps
Adaptive missile-guidance-using-gps
 

Similar to Introduction to Android (Jeudis du libre)

Android Seminar Presentation [March 2019]
Android Seminar Presentation [March 2019]Android Seminar Presentation [March 2019]
Android Seminar Presentation [March 2019]
Jowin John Chemban
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
Chris Simmonds
 
Android and Android phones
Android and Android phonesAndroid and Android phones
Android and Android phoneschristinejoy12
 
Android introduction
Android introductionAndroid introduction
Android introduction
gururaj kulkarni
 
Embedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeEmbedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC Europe
Opersys inc.
 
Embedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IVEmbedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IVOpersys inc.
 
Android (Types, Feature,Application etc..)
Android (Types, Feature,Application etc..)Android (Types, Feature,Application etc..)
Android (Types, Feature,Application etc..)
Coder Tech
 
Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013
Opersys inc.
 
Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013
Opersys inc.
 
Android presantation
Android presantationAndroid presantation
Android presantation
UdayJethva
 
Andoid Basics
Andoid BasicsAndoid Basics
Andoid Basics
SOHIL SUNDARAM
 
Embedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon VEmbedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon VOpersys inc.
 
Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Opersys inc.
 
PRESENTATION ON ANDROID
PRESENTATION ON ANDROIDPRESENTATION ON ANDROID
PRESENTATION ON ANDROID
Rajat Kumar
 
Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Opersys inc.
 
Android technology
Android technology Android technology
Android technology
vikas malviya
 
Android
AndroidAndroid
Android
Vibhu Mishra
 
Vijay android ppt
Vijay android pptVijay android ppt
Vijay android pptvijaymashre
 
Embedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIEmbedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIOpersys inc.
 

Similar to Introduction to Android (Jeudis du libre) (20)

Android Seminar Presentation [March 2019]
Android Seminar Presentation [March 2019]Android Seminar Presentation [March 2019]
Android Seminar Presentation [March 2019]
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
 
Android and Android phones
Android and Android phonesAndroid and Android phones
Android and Android phones
 
Android introduction
Android introductionAndroid introduction
Android introduction
 
Embedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeEmbedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC Europe
 
Embedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IVEmbedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IV
 
Android (Types, Feature,Application etc..)
Android (Types, Feature,Application etc..)Android (Types, Feature,Application etc..)
Android (Types, Feature,Application etc..)
 
Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013
 
Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013
 
Android presantation
Android presantationAndroid presantation
Android presantation
 
Andoid Basics
Andoid BasicsAndoid Basics
Andoid Basics
 
Embedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon VEmbedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon V
 
Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014
 
PRESENTATION ON ANDROID
PRESENTATION ON ANDROIDPRESENTATION ON ANDROID
PRESENTATION ON ANDROID
 
Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014
 
Android technology
Android technology Android technology
Android technology
 
Android
AndroidAndroid
Android
 
Vijay android ppt
Vijay android pptVijay android ppt
Vijay android ppt
 
Embedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIEmbedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VI
 
Androids
AndroidsAndroids
Androids
 

Recently uploaded

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 

Recently uploaded (20)

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 

Introduction to Android (Jeudis du libre)

  • 1. Introduction to Android Christophe Beyls Jeudis du Libre - April 2012
  • 2. About the speaker ● Developer living in Brussels. ● Uses various programming languages, mostly Java and C#. ● Likes coding, hacking devices, travelling, movies, music, (LOL)cats. ● Worked for:
  • 3. Agenda 1. Introduction - Why Android? 2. History 3. System architecture and its free parts 4. The SDK 5. The building blocks of an Android app 6. Devices hacking and custom ROMs 7. Questions & Answers.
  • 6. Why Android? ■ Open architecture. ■ Apps may be distributed outside the Google Play Store (Android Market) and installed on any device.
  • 7. History ■ 2003: Android Inc. founded by Andy Rubin. ■ 2005: Purchase by Google. ■ January 2007: Apple announces the iPhone. ■ June 2007: iPhone released.
  • 8. History November 2007 Google creates the Open Handset Alliance consortium with 34 founding members. Manufacturers: HTC, LG, Sony, Motorola, Samsung. Semiconductors: Qualcomm, Intel, nVidia, ... Operators: T-Mobile, Sprint, Telefónica... Software: eBay, Google, Nuance, ...
  • 9. History November 2007: First beta SDK released.
  • 10. History December 2007: Early prototype unveiled.
  • 11. History February 2008: Apple releases the iPhone SDK. June 2008: Apple opens the App Store and releases the iPhone 3G.
  • 12. History September 2008 Android 1.0 on HTC Dream (T-Mobile G1).
  • 13. History February 2009: Android 1.1 (bugfixes). April 2009: Android 1.5 Cupcake (Widgets, virtual keyboard). June 2009: 2 more Android phones released. HTC Magic HTC Hero September 2009: Android 1.6 Donut (Text-to-speech, multiple screen resolutions).
  • 14. History November 2009: Android 2.0 Eclair (HTML5, Contacts + Bluetooth APIs). January 2010: Nexus One released (first Google-branded phone). Android 2.1 (bugfixes, live wallpapers). April 2010: Apple iPad released. May 2010: Android 2.2 FroYo (speed, JIT compiler, push notifications, Adobe Flash support, WiFi hotspot).
  • 15. History 2Q10: Android outsells iOS devices worldwide.
  • 16. History December 2010: Android 2.3 Gingerbread on Google Nexus S. (Black interface, NFC, native SIP, WebM support)
  • 17. History February 2011: Android 3.0 Honeycomb on the first Android tablet: the Motorola Xoom. ■ New UI: Holo theme, Fragments, Action Bar ■ Full 2D hardware acceleration.
  • 18. History 3Q11: Android market share doubles compared to 3Q10 and becomes to most used mobile OS.
  • 19. History November 2011: Android 4.0 Ice Cream Sandwich on Google/Samsung Galaxy Nexus. ■ Unified OS for Smartphones and Tablets. ■ Faster, smoother ■ Improved browser ■ Roboto font ■ Face unlock.
  • 21. System architecture - Bionic libc ■ Fast, optimized for ARM ■ Lightweight (200 ko), half the size of glibc ■ No C++ Exceptions ■ No Standard Template Library ■ New pthreads implementation [does not support pthread_cancel()] ■ Can be exploited directly through NDK (native development kit) BSD licence https://github.com/android/platform_bionic
  • 22. System architecture - WebKit ■ Developed by KDE, Apple, Nokia, Google and others. ■ Android 2.2+ uses faster V8 javascript engine instead of JavascriptCore. ■ No differences between Android browser and webviews embedded in apps.
  • 23. System architecture - Media Framework Based on OpenCORE and Stagefright (2.2+).
  • 24. System architecture - Media Framework - Base support ■ Audio codecs: AAC, MP3, AMR, PCM, MIDI, Ogg Vorbis, FLAC (3.1+) ■ Image codecs: JPEG, GIF, BMP, PNG, WebP (4.0+) ■ Video codecs: H.263, H.264, MPEG-4 SP, VP8 (2.3.3+) ■ Containers: 3GPP, MPEG-4, Matroska (.mkv) (4.0+) ■ Manufacturers may add more codecs. Italic = patent-free
  • 25. System architecture - Runtime ■ Android uses only the Java language, not the Java platform. ■ Dalvik Virtual Machine developed by Google. ■ Uses minimal memory. ■ Java bytecode is converted to smaller Dalvik bytecode at build time (.dex files). ■ Uses Just-In-Time compilation since Android 2.2 for better performance. ■ Standard library is based on Apache Harmony open source implementation.
  • 26. Android Open Source Project (AOSP) source.android.com
  • 27. Android Open Source Project (AOSP) Almost... fully open: ■ Google publishes source code when they decide it. ■ No real interaction with Google teams. ■ Not everything is open source: ○ Proprietary binary drivers ○ Google Apps: Google Maps, Gmail, Google Contacts/Calendar/Bookmarks Sync, Google Talk, Play Store (Android Market), Youtube, Weather widget, Text-To-Speech, Voice Search.
  • 28. The SDK iPhone / iPad ■ Hardware: Mac (with latest Mac OS X) ■ IDE: XCode (free) ■ Language: Objective-C. Windows Phone 7 / Windows 8 ■ Hardware: PC with Microsoft Windows ■ IDE: Microsoft Visual Studio (free) ■ Language: C#, Visual Basic.
  • 29. The SDK Android ■ Hardware: Any x86 ■ IDE: Eclipse, Netbeans, IntelliJ IDEA ■ Language: Java.
  • 31. Official SDK Tools ■ ADB (Android Debug Bridge) ■ ARM Emulator (based on QEMU) ■ DDMS (Dalvik Debug Monitor Server) ■ Proguard (Java optimizer & obfuscator) ■ ADT Plugin for Eclipse: ○ Project wizards ○ Java editor with code completion, refactoring, ... ○ Lint integration ○ Visual layout editor + NDK (Native Development Kit)
  • 32. Official SDK Tools - ADT Plugin
  • 33. Official SDK Tools - ADT Plugin
  • 34. Official SDK Tools - ADT Plugin
  • 35. Official SDK Tools - ADT Plugin Resources ■ By language ■ By screen density ■ By screen orientation ■ By Android version
  • 36. Official SDK Tools - ADT Plugin
  • 38. Android apps: the building blocks Activities: screens with a life cycle.
  • 39. Android apps: the building blocks Fragments: portions of screens with a life cycle.
  • 40. Android apps: the building blocks ■ Background services. ■ Intents: IPC mechanism between Activities and/or Services. Action + Data ○ Action: View, Edit, Dial, ..., custom actions ○ Data: URL scheme or any MIME type. ■ Everything in the system use intents and is interchangeable.
  • 41. Android apps: the building blocks Special apps: ■ Live wallpapers ■ Widgets
  • 42. Diversity Development challenges: ■ Write fast high-level code or use NDK ■ Support multiple devices types ○ Phones ○ Tablets ○ Google TVs ■ Support multiple Android versions.
  • 44. Diversity - Android versions 99%
  • 45. Diversity - Android versions Use features of newer Android versions while staying compatible with older runtimes: Isolate special functionality in separate classes. MyInterface implementation; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) implementation = new FroYoImplementation(); else implementation = new CompatibleImplementation();
  • 46. The upgrade problem Manufacturers provide custom user interfaces. Sony Ericsson HTC Sense Timescape Samsung TouchWiz
  • 47. The upgrade problem ■ Updating the custom user interface to a new Android version requires a lot of work. ■ Manufacturers focus on selling you their latest hardware, not providing support for older hardware. ■ On Android, upgrades usually depend on carriers. (The Proximus case) ■ Many manufacturers don't do OTA updates. ■ Average official support time: ○ 3 years for Apple ○ <= 2 years for most Android phones.
  • 48. The upgrade solution: Installing community ROMs Why hack ? ■ Give choice to the user. ■ Remove bloatware. ■ Provide longer term support and upgrades. Custom ROMs: Complete firmware (OS, UI, base applications) created by the community.
  • 49. Hacking - Custom ROMs Different kinds of custom ROMs: ■ Modified original vendor versions ■ Ported from another device (experimental) ■ Build from source (AOSP) Hack challenges ■ Locked hardware (HTC S-ON). ■ Binary drivers: Radio (Wifi - Bluetooth - GPS), Graphics, NFC, sometimes accelerometers.
  • 50. Hacking Warning: voids warranty. Successfully hacked: HTC G1, HTC Magic, HTC Hero, HTC Desire, HTC Legend, Dell Streak, Samsung Galaxy S, Samsung Galaxy Gio, Samsung Galaxy Tab, Acer Liquid, ZTE Blade, Motorola Xoom, Sony Ericsson Xperia X10.
  • 51. Hacking - The Bible forum.xda-developers.com
  • 52. Hacking - Custom ROMs Cyanogenmod - www.cyanogenmod.com
  • 53. Hacking - Custom ROMs MIUI - miuiandroid.com
  • 54. Hacking basics ■ ROM Bootloader IPL SPL Kernel ■ Recovery Recovery Radio Boot modes: System ■ Normal OS ■ Recovery ■ SPL (Flash mode) Data
  • 55. Hacking basics Custom ROM: Zip file containing ■ system files ■ kernel ■ optionnally radio. Can be installed easily using a custom recovery.
  • 56. Hacking basics - 1. Flash tools FastBoot (Google, HTC, Sony Ericsson) ■ Android standard command line Flash Tool ■ Available in the SDK (Win, Mac, Linux) ■ Useful commands: fastboot oem unlock fastboot flash recovery recovery.img fastboot boot recovery.img fastboot erase data -w
  • 57. Hacking basics - 1. Flash tools Samsung ODIN (Windows)
  • 58. Hacking basics - 2. Root access ■ Root access allows to perform restricted operations like: ○ writing files on system partition ○ flashing a custom recovery directly from Android OS. ■ It requires: ○ Patching or replacing the kernel ○ - or - ○ Use phone-specific kernel exploits (mainly through ADB).
  • 59. Hacking basics - 2. Root access
  • 60. Recap: How to change your ROM 1. Go to a forum / wiki and learn the procedure 2. Use: a. fastboot b. the vendor flash tool c. a root hack to install a custom recovery on your phone. 3. Download a custom ROM as zip file and place it to your SD card/internal storage. 4. Reboot your phone in custom recovery and install the ROM. Reboot. Done.
  • 61. Hacking basics - Custom recovery ClockworkMod recovery
  • 62. Hacking basics - Custom recovery
  • 63. Thank you for watching. Questions? Twitter: @BladeCoder Web: digitalia.be