Android is an open source operating system, which is widely used in mobile devices.
It's also used in automotive devices, televisions, VR devices, etc. It has also a corresponding open
source project, which is led by Google.
On the right side, you can see a high level architecture diagram of aosp.
So as you can see, Android has multiple layers.
At the bottom we can find Linux kernel, so Android is built on top of Linux kernel.
And above that there is the hull, which is the hardware abstraction layer.
And above that we have the Android runtime or the Dalvik virtual machine.
At the same level, we have the native libraries, which are mostly written in C and C++.
And on top we have the Android framework which is written in Java and at the topmost we have the apps.
So as a normal Android user will be mostly interacting with the apps and the Android framework.
And the native libraries are basically a mediator between the apps and the HAL or Linux kernel.
So we'll discuss in detail about each of these layer in a later session.
Next, I would like to introduce you to source dot android dot com.
So as an Aosp platform developer, you should definitely look at this website.
You get a lot of information about Aosp.
You can find the English version here.
So search android dot com and if you need a Chinese version, you could use this one.
There is also a link to the code provided by Google.
So if you click on this, we'll take you to the code and here you can see the branch.
It is the master.
Now if you want to quickly reference refer the code of Aosp, then you can use this link.
See us to Android and here you can search for whatever modules you want.
And similar to an editor, you can use this, but only for rating purposes.
A search for system UI here.
Then you can see the module and system UI related classes here and here.
You have the option to change the branch.
So if you're looking for some other branch, you can of course use that branches here.
And if you are looking for some commits that also you can see here in source dot android dot com you
can find a lot of information about Aosp under the docs.
You can see different documentations for getting started.
Security Core Topics Compatibility Android devices reference under getting started.
There is the required information about how to download and build an Aosp project.
Here you can find information about the platform structure, development, environment, setup, downloading
and building the source customizations and some information on how to contribute to Android Open Source
Project.
Under security, you can get an overview of Android security at different levels, like in an Android
application or even in the kernel level.
It also details the security features provided by Android like Linux, key store encryption, authentication
and app signing.
There is information on how to perform security test on your Aosp build and some best practices for
security and record topics.
You can find a lot of information on different building blocks of Android.
There is detailed explanation about the architecture and many essential modules in Android like audio,
camera, media, etc. Under compatibility you can find the compatibility definition document and compatibility
tests your related information.
These are important if you plan to build a pure Android device.
If you want to keep Android logo on your device, you should pass these CTS tests or compatibility tests.
You tests, you run the CTS test for your AOSP build and send it to Google for approval.
But this is not mandatory.
If you are simply building a device that does not need Android logo, then this is optional.
These tests are quality gates to ensure that you are built meets the basic quality standards set by
Google and Android devices.
We can find information specific to automotive, enterprise and TV.
And finally, there is a reference section under which you find more information about the hardware
abstraction layer.
It's ideal HAL Interface, definition, language and Trade Federation, which is basically a testing
framework for continuous testing.