SlideShare a Scribd company logo
1 of 16
Nanik
Tolaram
nanikjava@yahoo.com
AOSP WorkshopAOSP Workshop
Sydney
Devfest
7th
November
2015
• Senior Android Platform Engineer-Senior Android Platform Engineer-
BlocksGlobal.comBlocksGlobal.com
• ScreenerOS – http://screener.digitalScreenerOS – http://screener.digital
• Lumen Health –Lumen Health – http://lumenhealth.cohttp://lumenhealth.co (pilot)(pilot)
• Android writer for magazine.odroid.comAndroid writer for magazine.odroid.com
• AOSP Contributor (when time permits)AOSP Contributor (when time permits)
About MeAbout Me
• Android Open Source ProjectAndroid Open Source Project
• Powers BILLIONS of Android devices !Powers BILLIONS of Android devices !
• Who uses it ? What does it contains ? Why youWho uses it ? What does it contains ? Why you
want to know ?want to know ?
• Future OpportunityFuture Opportunity
• Source – android.googlesource.comSource – android.googlesource.com
AOSPAOSP
AndroidAndroid
StackStack
LinuxLinux
KernelKernel• Most are pre-4.x kernelMost are pre-4.x kernel
• ““Android”-ify KernelAndroid”-ify Kernel
• Few vendors provide updated kernelFew vendors provide updated kernel
• Maintained by open source communityMaintained by open source community
Framework +Framework +
LibraryLibrary• Between application and kernelBetween application and kernel
• Android SDK lives hereAndroid SDK lives here
• C,C++ and Java universeC,C++ and Java universe
• Frequent update (security and bug fixes)Frequent update (security and bug fixes)
• Dalvik/ART is hereDalvik/ART is here
ApplicatioApplicatio
nsns• Standard bundled appsStandard bundled apps
• Production readyProduction ready
• Extend to create your own appExtend to create your own app
• Not IDE friendlyNot IDE friendly
VendorVendor
DriverDriver• Binary filesBinary files
• Heavily reliance on hardware vendorHeavily reliance on hardware vendor
• No update == No future Android supportNo update == No future Android support
• Android specific driversAndroid specific drivers
• Intel i5 or i7Intel i5 or i7
• 16GB RAM (minimum)16GB RAM (minimum)
• SSD drive (highly recommended)SSD drive (highly recommended)
• Min 50GB free spaceMin 50GB free space
• 64-bit Linux OS (highly recommended)64-bit Linux OS (highly recommended)
BuildBuild
SystemSystem
HowHow
Big ?Big ?
(*) size not includes .repo/, out/, .git/ directories(*) size not includes .repo/, out/, .git/ directories
(+) size does not include out/, prebuilts/, device/, development/, docs/, ndk/, pdk/, vendor/, tools/, developers/,(+) size does not include out/, prebuilts/, device/, development/, docs/, ndk/, pdk/, vendor/, tools/, developers/,
sdk/, hardware/, dalvik/, .repo/, .git/, kernel/sdk/, hardware/, dalvik/, .repo/, .git/, kernel/
NexusNexus
DevicesDevices• Straight build from AOSPStraight build from AOSP
• Extra driver downloadExtra driver download
• Maintained by GoogleMaintained by Google
• Custom Android from communityCustom Android from community
• Always up-to-dateAlways up-to-date
PartitionPartition
ss• Android deviceAndroid device ISIS a “computer”a “computer”
• Partitions - /system, /data, /cache, /recoveryPartitions - /system, /data, /cache, /recovery
• Flashing = Writing to partitionFlashing = Writing to partition
• Fastboot – gateway to flashing (maintained byFastboot – gateway to flashing (maintained by
vendor)vendor)
BootloadeBootloade
rr• Majority are custom u-bootMajority are custom u-boot
• Factory locked (need to unlock)Factory locked (need to unlock)
• Security first line of defenceSecurity first line of defence
• Updated along with radio (GSM)Updated along with radio (GSM)
ImagesImages
• system.img → /system partition (core Androidsystem.img → /system partition (core Android
framework)framework)
• boot.img → init/ramdisk + kernelboot.img → init/ramdisk + kernel
• recovery.img → /recovery partitionrecovery.img → /recovery partition
• userdata.img → /data partitionuserdata.img → /data partition
• cache.img → /cache partitioncache.img → /cache partition
WorkshoWorksho
pp• Setup machine / VMSetup machine / VM
• Checkout code (android-6.0.0_r1)Checkout code (android-6.0.0_r1)

Hardware Drivers -Hardware Drivers -
developers.google.com/android/nexus/driversdevelopers.google.com/android/nexus/drivers

Build (1-2 hours)Build (1-2 hours)

Flash to your deviceFlash to your device
SourceSource
DivingDiving
android-6.0.0_r26

More Related Content

More from Nanik Tolaram

ODROID Magazine December 2014
 ODROID Magazine December 2014 ODROID Magazine December 2014
ODROID Magazine December 2014Nanik Tolaram
 
Peeking into Android Source
Peeking into Android SourcePeeking into Android Source
Peeking into Android SourceNanik Tolaram
 
ODROID Magazine September 2014
ODROID Magazine September 2014ODROID Magazine September 2014
ODROID Magazine September 2014Nanik Tolaram
 
Building Android Devices
Building Android DevicesBuilding Android Devices
Building Android DevicesNanik Tolaram
 
ODROID Magazine August 2014
ODROID Magazine August 2014ODROID Magazine August 2014
ODROID Magazine August 2014Nanik Tolaram
 
Android Wear Presentation
Android Wear PresentationAndroid Wear Presentation
Android Wear PresentationNanik Tolaram
 
ODROID Magazine June 2014
ODROID Magazine June 2014ODROID Magazine June 2014
ODROID Magazine June 2014Nanik Tolaram
 
ODROID Magazine May 2014
ODROID Magazine May 2014ODROID Magazine May 2014
ODROID Magazine May 2014Nanik Tolaram
 
Odroid Magazine March 2014
Odroid Magazine March 2014Odroid Magazine March 2014
Odroid Magazine March 2014Nanik Tolaram
 
ODROID Magazine April 2014
ODROID Magazine April 2014ODROID Magazine April 2014
ODROID Magazine April 2014Nanik Tolaram
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)Nanik Tolaram
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessNanik Tolaram
 
Learning AOSP - Building AOSP for Nexus 7
Learning AOSP - Building AOSP for Nexus 7Learning AOSP - Building AOSP for Nexus 7
Learning AOSP - Building AOSP for Nexus 7Nanik Tolaram
 
Learning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverLearning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverNanik Tolaram
 

More from Nanik Tolaram (14)

ODROID Magazine December 2014
 ODROID Magazine December 2014 ODROID Magazine December 2014
ODROID Magazine December 2014
 
Peeking into Android Source
Peeking into Android SourcePeeking into Android Source
Peeking into Android Source
 
ODROID Magazine September 2014
ODROID Magazine September 2014ODROID Magazine September 2014
ODROID Magazine September 2014
 
Building Android Devices
Building Android DevicesBuilding Android Devices
Building Android Devices
 
ODROID Magazine August 2014
ODROID Magazine August 2014ODROID Magazine August 2014
ODROID Magazine August 2014
 
Android Wear Presentation
Android Wear PresentationAndroid Wear Presentation
Android Wear Presentation
 
ODROID Magazine June 2014
ODROID Magazine June 2014ODROID Magazine June 2014
ODROID Magazine June 2014
 
ODROID Magazine May 2014
ODROID Magazine May 2014ODROID Magazine May 2014
ODROID Magazine May 2014
 
Odroid Magazine March 2014
Odroid Magazine March 2014Odroid Magazine March 2014
Odroid Magazine March 2014
 
ODROID Magazine April 2014
ODROID Magazine April 2014ODROID Magazine April 2014
ODROID Magazine April 2014
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
Learning AOSP - Building AOSP for Nexus 7
Learning AOSP - Building AOSP for Nexus 7Learning AOSP - Building AOSP for Nexus 7
Learning AOSP - Building AOSP for Nexus 7
 
Learning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverLearning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device Driver
 

Recently uploaded

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Sydney Devfest 2015 AOSP Workshop

  • 2. • Senior Android Platform Engineer-Senior Android Platform Engineer- BlocksGlobal.comBlocksGlobal.com • ScreenerOS – http://screener.digitalScreenerOS – http://screener.digital • Lumen Health –Lumen Health – http://lumenhealth.cohttp://lumenhealth.co (pilot)(pilot) • Android writer for magazine.odroid.comAndroid writer for magazine.odroid.com • AOSP Contributor (when time permits)AOSP Contributor (when time permits) About MeAbout Me
  • 3. • Android Open Source ProjectAndroid Open Source Project • Powers BILLIONS of Android devices !Powers BILLIONS of Android devices ! • Who uses it ? What does it contains ? Why youWho uses it ? What does it contains ? Why you want to know ?want to know ? • Future OpportunityFuture Opportunity • Source – android.googlesource.comSource – android.googlesource.com AOSPAOSP
  • 5. LinuxLinux KernelKernel• Most are pre-4.x kernelMost are pre-4.x kernel • ““Android”-ify KernelAndroid”-ify Kernel • Few vendors provide updated kernelFew vendors provide updated kernel • Maintained by open source communityMaintained by open source community
  • 6. Framework +Framework + LibraryLibrary• Between application and kernelBetween application and kernel • Android SDK lives hereAndroid SDK lives here • C,C++ and Java universeC,C++ and Java universe • Frequent update (security and bug fixes)Frequent update (security and bug fixes) • Dalvik/ART is hereDalvik/ART is here
  • 7. ApplicatioApplicatio nsns• Standard bundled appsStandard bundled apps • Production readyProduction ready • Extend to create your own appExtend to create your own app • Not IDE friendlyNot IDE friendly
  • 8. VendorVendor DriverDriver• Binary filesBinary files • Heavily reliance on hardware vendorHeavily reliance on hardware vendor • No update == No future Android supportNo update == No future Android support • Android specific driversAndroid specific drivers
  • 9. • Intel i5 or i7Intel i5 or i7 • 16GB RAM (minimum)16GB RAM (minimum) • SSD drive (highly recommended)SSD drive (highly recommended) • Min 50GB free spaceMin 50GB free space • 64-bit Linux OS (highly recommended)64-bit Linux OS (highly recommended) BuildBuild SystemSystem
  • 10. HowHow Big ?Big ? (*) size not includes .repo/, out/, .git/ directories(*) size not includes .repo/, out/, .git/ directories (+) size does not include out/, prebuilts/, device/, development/, docs/, ndk/, pdk/, vendor/, tools/, developers/,(+) size does not include out/, prebuilts/, device/, development/, docs/, ndk/, pdk/, vendor/, tools/, developers/, sdk/, hardware/, dalvik/, .repo/, .git/, kernel/sdk/, hardware/, dalvik/, .repo/, .git/, kernel/
  • 11. NexusNexus DevicesDevices• Straight build from AOSPStraight build from AOSP • Extra driver downloadExtra driver download • Maintained by GoogleMaintained by Google • Custom Android from communityCustom Android from community • Always up-to-dateAlways up-to-date
  • 12. PartitionPartition ss• Android deviceAndroid device ISIS a “computer”a “computer” • Partitions - /system, /data, /cache, /recoveryPartitions - /system, /data, /cache, /recovery • Flashing = Writing to partitionFlashing = Writing to partition • Fastboot – gateway to flashing (maintained byFastboot – gateway to flashing (maintained by vendor)vendor)
  • 13. BootloadeBootloade rr• Majority are custom u-bootMajority are custom u-boot • Factory locked (need to unlock)Factory locked (need to unlock) • Security first line of defenceSecurity first line of defence • Updated along with radio (GSM)Updated along with radio (GSM)
  • 14. ImagesImages • system.img → /system partition (core Androidsystem.img → /system partition (core Android framework)framework) • boot.img → init/ramdisk + kernelboot.img → init/ramdisk + kernel • recovery.img → /recovery partitionrecovery.img → /recovery partition • userdata.img → /data partitionuserdata.img → /data partition • cache.img → /cache partitioncache.img → /cache partition
  • 15. WorkshoWorksho pp• Setup machine / VMSetup machine / VM • Checkout code (android-6.0.0_r1)Checkout code (android-6.0.0_r1)  Hardware Drivers -Hardware Drivers - developers.google.com/android/nexus/driversdevelopers.google.com/android/nexus/drivers  Build (1-2 hours)Build (1-2 hours)  Flash to your deviceFlash to your device