Visual Embedded Android AOSP with Drawings and Practice

Explore Android Open Source Project and design powerful systems using Android 11
Visual Embedded Android AOSP with Drawings and Practice
File Size :
9.57 GB
Total length :
7h 28m



Mustafa Ozcelikors


Last update




Visual Embedded Android AOSP with Drawings and Practice

What you’ll learn

Understand embedded system essentials and purpose
Understand high level operating systems (Linux, Android) and purpose of using one
Understand Linux software stack essentials
Understand Android software stack essentials
Customize Android Open Source Project
Work with Android 11 source
Run Android 11 on ASUS Tinkerboard 2
Create custom Android builds for ASUS Tinkerboard 2
Create Android native services
Port native binaries to Android build system
Get around with Android build system (Soong, Makefile)
Use Android Debugging Bridge (ADB) confidently for talking with embedded devices
Use Fastboot confidently for flashing images
Create and work with SELinux policies
Work with AOSP directories confidently
Understand and work with partitions in Android
Port custom Android applications to AOSP
Run Google Compatibility Test Suite (CTS)
Design Android Software compatible with CTS
Get and set system features by manipulating Android system properties
Define and integrate AIDL interfaces
Understand Linux and Android boot process and their differences

Visual Embedded Android AOSP with Drawings and Practice


Basic Linux understanding (commands, bash scripts, code compilation, basic concepts)
Basic embedded system understanding (basic concepts, cross compilation, system images)
Basic C and C++ programming understanding (not a must but good to have)


Hi,My name is Mustafa Ozcelikors, a Linux & Android Engineer with more than +7 years of experience working in automotive, who have won Google SOC event in 2017. Here comes a unique beginner to intermediate course that is dedicated to teach Android Open Source Project and Embedded Android concepts to a larger audience.Visual Embedded Android Training is a unique course in the way that I use slideshows, pen and canvas for theoretical subjects, whereas makes hands-on examples for the practical subjects. I have mastered this technique over the years, teaching my colleagues at work, teaching on Youtube, and now I have decided to move on to Udemy to reach larger audience.Theoretical subjects are carefully planned and almost for every important subject, multiple block diagrams have been created for better understanding. Almost every figure, schematic, drawing comes from years of experience in the field, not from the internet or from any book. In practical subjects we take a deep dive in exploring AOSP directories and open up a terminal to achieve things within it.At the end of the course we together will have a custom Android with custom launcher and custom theme, with integrated AIDL service and test application.You are in this now for the following great content:Understand embedded Android and Linux software stacksGet around with Android 11 source code and Soong (Android.bp) build systemUse ASUS Tinkerboard 2 and run Android 11 on it , completely from the source.Create AIDL interfaces, native C++ Android services, create test applicationsPort existing Android Java applications to Soong (Android.bp build systemUnderstand AOSP folder layout, partitionsUnderstand and work with SELinux policiesFlash images confidently using fastboot toolTalk to embedded device confidently using adb toolRun CTS testsLog and dump Android system informationThank you!!Kindly yours,Mustafa


Section 1: Introduction to Embedded Systems

Lecture 1 Course Promotional Video

Lecture 2 Introduction to Embedded Systems

Lecture 3 A Generic View on an Embedded System

Section 2: Embedded Android Architecture

Lecture 4 Android vs Linux

Lecture 5 Linux Architecture Basics

Lecture 6 Android Architecture

Lecture 7 How Linux and Android Boots?

Section 3: Building Android Source and Flashing Android Image

Lecture 8 Obtaining and Building Android Source

Lecture 9 Downloading Android 11 source for ASUS Tinkerboard 2

Lecture 10 Building Android 11 source for ASUS Tinkerboard 2

Lecture 11 Flashing Android 11 image to ASUS Tinkerboard 2

Section 4: A Tour Through Android Source and Partitions

Lecture 12 Android Source Code Directories Explained

Lecture 13 Android Filesystem Partitions

Section 5: Accessing Android Device

Lecture 14 Introduction to ASUS Tinkerboard 2 Hardware and Interfacing using Serial

Lecture 15 Introduction to ADB and Fastboot

Lecture 16 Flashing seperate partitions using Fastboot tool

Lecture 17 ADB Remote Screen

Section 6: Exploring ASUS Tinkerboard 2 directories and sources

Lecture 18 Board, build, and device configuration files

Lecture 19 Init Scripts (RC files)

Lecture 20 Devicetree and Kernel Config Files

Lecture 21 Files for Android Framework Customization

Section 7: Customizing Android Framework

Lecture 22 Integrating a Custom Launcher in Android Build System

Lecture 23 Creating a New Device Workspace to Contain Our Changes

Lecture 24 Integrating a Prebuilt Application (Apk) in Android Build System

Lecture 25 Customizing Android Framework to Enable Night Mode

Lecture 26 Customizing Android Framework to Modify Default Wallpaper

Section 8: Working in Android Build System

Lecture 27 Android System Properties

Lecture 28 Integrating Plain C Applications in Android Build System

Lecture 29 Deploying Binaries to Various Partitions using Android Build System

Lecture 30 Taking a Partial Build using mm Command

Section 9: Understanding and Creating Native C++ Service

Lecture 31 Introduction to Native Service Creation in Android

Lecture 32 Creating Native AIDL Service using C++

Lecture 33 Creating Init Script for Our Example Service

Lecture 34 Modifying Manifest Files for adding AIDL Interface

Lecture 35 Creating Aidl Interface Library using Android Build System

Lecture 36 SELinux Configuration for Example Service

Lecture 37 Creating Test Application to Talk with Example Service over AIDL Interface

Section 10: Going Forward

Lecture 38 An Example Approach to Fixing System-wide Issues

Lecture 39 Testing and Certification in Android

Lecture 40 ADB Commands for System-wide Debugging

Section 11: Extras

Lecture 41 Introduction and Example for HAL and Driver Integration

Beginners and enthusiasts who understand Linux and want to learn AOSP and Embedded Android,Hobbyists who want to work with ASUS Tinkerboard 2 and AOSP,Beginners who would like to develop their car infotainment, or mobile devices based on Android,Professionals who want a great wrap-up on their favourite subject

Course Information:

Udemy | English | 7h 28m | 9.57 GB
Created by: Mustafa Ozcelikors

You Can See More Courses in the IT & Software >> Greetings from

New Courses

Scroll to Top