Companies Home Search Profile

Android 14 Internals - customize Cuttlefish in the cloud

Focused View

Gil Zhaiek

55:06

24 View
  • 1 - Create a Google Cloud account with compute engine enabled.mp4
    01:23
  • 1 - Google Cloud.txt
  • 1 - Local Ubuntu on Windows.txt
  • 2 - Install the gcloud CLI and connect to the AOSP project on your Google Cloud.mp4
    01:44
  • 2 - gcloud CLI.txt
  • 3 - Compute Pricing.txt
  • 3 - Create an Ubuntu 2004 VM with VMX enabled.mp4
    07:59
  • 3 - Lectures notes.txt
  • 3 - N1 machine series.txt
  • 3 - Storage Pricing.txt
  • 3 - sshkeygen for windows.txt
  • 4 - Downloading the aosp.txt
  • 4 - Download the android1400r21 branch.mp4
    03:06
  • 4 - Installing repo.txt
  • 4 - Lectures notes.txt
  • 4 - Source code tags branches.txt
  • 5 - Build and run the Cuttlefish VM.mp4
    08:59
  • 5 - Launching cuttleflish.txt
  • 5 - Lectures notes.txt
  • 5 - The cuttlefish virtual device.txt
  • 6 - Convert Ubuntu Server to Ubuntu Desktop.mp4
    02:13
  • 6 - Lectures notes.txt
  • 6 - Remote Desktop Access.txt
  • 7 - Android Studio for Platform.txt
  • 7 - Install and configure the Android Studio for Platform.mp4
    02:37
  • 8 - The hmm Command.mp4
    01:00
  • 9 - Authorizing Real Device for ADB Connection.mp4
    00:35
  • 10 - User IDs and the Discretionary Access Control.mp4
    03:27
  • 11 - Mandatory Access Control SELinux.mp4
    02:32
  • 12 - Process Status ps and Private Application Files in datadata.mp4
    03:28
  • 13 - PRODUCTMAKEFILES and Makefile Inheritance.mp4
    04:56
  • 14 - Generic System Image GSI.mp4
    02:15
  • 15 - Android Partitions.mp4
    02:56
  • 16 - Dynamic Partitions superimg AB System Updates and fastbootd.mp4
    04:05
  • 17 - About the Main Lab.mp4
    01:51
  • 18 - Change the CPU scaling governor via the command line adb shell.html
  • 19 - Define an aidlinterface module in Androidbp.html
  • 20 - Define a CPU interface in ICpuaidl.html
  • 21 - Build the CPU Interface using mm.html
  • 22 - Add the AIDL interface to the Cuttlefish build.html
  • 23 - Create an empty service holder in servicecpp.html
  • 24 - Define a new CPU Service executable in Androidbp.html
  • 25 - Define an initrc persistent service pointing to the CPU service executable.html
  • 26 - Define a Vendor Interface VINTF xml object.html
  • 27 - Add the CPU Service to the Cuttlefish build.html
  • 28 - Print the logcat and correctly label the service executable.html
  • 29 - Define new SELinux types and use SELinux macros.html
  • 30 - Use audit2allow to solve avc denied errors.html
  • 31 - Define the CPU class header file.html
  • 32 - Define the CPU class implementation file.html
  • 33 - Register the CPU service with the Service Manager.html
  • 34 - Define a new CPU service interface SELinux type in the Service Manager.html
  • 35 - Create CpuTester executable.html
  • 36 - Change the Scaling Governor file permissions.html
  • 37 - Extend the Application class.html
  • 38 - Create a Broadcast Receiver to handle external requests.html
  • 39 - Defne a persistent Android App in AndroidManifestxml.html
  • 40 - Create a stringsxml resources file.html
  • 41 - Define an Android App module in Androidbp.html
  • 42 - Set SELinux rules for the system app.html
  • 43 - Test the services app by sending a broadcast.html
  • 44 - Create the resource files.html
  • 45 - Extend the Activity class.html
  • 46 - Add the activity to the AndroidManifestxml file.html
  • 47 - Test the Activity.html
  • 48 - Forcing a crash and using llvmaddr2line.html
  • 49 - Debugging native service with lldb.html
  • Description


    Build and run Android 14 in the cloud, create system services, solve SELinux errors and debug native crashes.

    What You'll Learn?


    • Understand Android OS Architecture and control Linux kernel drivers
    • Develop a C++ service and make it persistent with an rc file
    • Build a Kotlin application with system control UI
    • Use AIDL for HAL communication be in line to AOSP design patterns and the CTS
    • Learn how to solve SELinux avc denied errors

    Who is this for?


  • Anyone wanting to understand the Android OS for work, hobby or to gain experience
  • What You Need to Know?


  • Software Developer
  • More details


    Description

    This comprehensive course is designed to guide participants through the intricacies of setting up a development environment on Ubuntu 20.04 within Google Cloud, diving deep into the Android Open Source Project (AOSP), and mastering the art of Android platform development.
    Through a structured series of lectures and labs, learners will embark on a journey that covers a broad spectrum of topics from VM setup and source code compilation to advanced security and debugging techniques.

    Section 1 lays the foundational knowledge required to navigate Google Cloud's compute engine, install the gcloud CLI, and create a VMX-enabled Ubuntu VM, ensuring students are well-prepared for Android platform development.

    Section 2 progresses to downloading and building the Android 14 source code. Participants will learn how to bring the Cuttlefish device to life, providing a practical environment for testing and development.

    In Section 3, the course shifts focus to transforming Ubuntu Server into a Desktop environment and installing ASfP, equipping learners with the tools necessary for Android platform development.

    Section 4 introduces essential tools like the 'hmm' command and adb, enhancing the learners’ ability to interact with and control Android devices and environments effectively.

    Security basics are demystified in Section 5, where participants explore user IDs, discretionary and mandatory access control, and how Android secures application data and processes, providing a solid understanding of Android's security model.

    Section 6 delves into images and partitions of Android, revealing the complexities of system updates, and partition management.

    Sections 7 through 14 consist of hands-on labs ranging from creating a CPU HAL interface with AIDL, developing service daemons, setting correct SELinux permissions, to creating and registering the CPU service implementation. Each lab is meticulously designed to reinforce learning, encourage exploration, and develop a thorough understanding of Android platform development.

    Moreover, the labs tackles debugging tools and strategies, including forcing crashes and using llvm-addr2line, as well as debugging native services with lldb, preparing students to troubleshoot and optimize Android platform applications and services efficiently.

    By the end of this course, participants will have gained not only theoretical knowledge but also practical experience in Android platform development, security models, debugging, and application deployment, enabling them to contribute to the Android ecosystem or undertake custom Android platform projects with confidence.

    Who this course is for:

    • Anyone wanting to understand the Android OS for work, hobby or to gain experience

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    I have 25+ years of experience building technology products, such as heads-up-displays, embedded systems, an RFID modem, a drone OS and a website builder named fronts dot ai.I have an Android 12 Internals course and just finished the Android 14 Internals course.I teach engineers and consult for companies on Android OS and Debian OS.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 17
    • duration 55:06
    • Release Date 2024/04/27