Android architecture roughly consist of below layers.
1. Linux Kernel
2. Hardware Abstraction Level or HAL
3. Android Run time and Libraries
4. Application Framework
5. Applications.
To start with you should first learn basic about Linux kernel , what all module it has how android utilizes it to use system resource.
Android basically leverages the drivers from Linux kernel for several hardware components like Bluetooth , Memory , Keypad , Power Management , Audio/Video, WiFi , Display and many more.
Try to look into code for these drivers, here is linkCross Referencethat could help you understand this in source code tree that you should consider looking to see into code.
HAL consist of vendor independent codes for several hardware modules like Audio,Video, Camera and many more modules.
There are several libraries that android provides like SQLite, Surface Flinger, Media Framework, Open GL, libc, Webkit, SSL etc that you should consider reading about and how they play role in android system.
Application frameworks basically consist of set of standard frameworks provided by android to facilitate android developers to use the resource available with android effectively.
It consist of Activity Manager, Notification Manager, Window Manager ,Content Providers , Telephony Manager , Location Manager , Package Manager , Resource Manager etc. Learn about these frameworks and how do they work.
Then come up actual android applications that we use. Try building some apps and publishing them on playstore
Android architecture is very vast thing and it is not something that can be mastered in one month or so.
So, I suggest first analyse where you are and what you already know and start learning gradually.
Here are few important links:
Android Interfaces and Architecture
For complete OS and Kernel Source code reference :Cross Reference:
I hope this helps you to start with.
网友评论