Kiến trúc của Android được phân chia thành 5 phần:
- linux kernel
- native libraries (middleware),
- Android Runtime
- Application Framework
- Applications
Sơ đồ kiến trúc các phần theo thứ tự từ dưới lên trên:
1) Linux kernel
Đây là phần lõi của hệ thống. Phần lõi Linux này sẽ thực hiện tương tác trực tiếp với phần cứng và điều khiển phần cứng như bộ nhớ, nguồn pin, các phụ kiện...
2) Native Libraries
Tầng phía trên là Native libraries gồm các thư viện WebKit, OpenGL, FreeType, SQLite, Media, C runtime library (libc) etc.
Thư viện WebKit xử lý các vấn đề về trình duyệt web,
SQLite dùng xử lý tương tác cơ sở dữ liệu nhúng được lưu trong thiết bị,
FreeType hỗ trợ xử lý font,
Media xử lý các vấn đề về ghi âm, ghi hình, phát âm, phát hình với các định dạng video và audio khác nhau.
3) Android Runtime
Android sử dụng máy ảo Dalvik để chạy ứng dụng (DVM - Dalvik Virtual Machine). DVM cũng giống JVM của Java, nhưng nó được tối ưu gọn nhẹ hơn cho thiết bị di động. DVM tốn ít tài nguyên hơn và tốc độ nhanh hơn JVM.
4) Android Framework
Tiếp theo tầng phía trên của Native libraries và android runtime là android framework. Android framework chứa các Android API's như UI (User Interface), telephony, resources, locations, Content Providers (data) and package managers. Đây là nơi cung cấp các giao diện lập trình giúp người lập trình ứng dụng chỉ việc gọi thư viện ra sử dụng.
5) Applications
Tầng trên cùng là ứng dụng cho phép người dùng thao tác trực tiếp như các ứng dụng home, contact, settings, games, browsers...
Các ứng dụng này được chạy trong máy ảo DVM và sử dụng thư viện Android Framework thực hiện công việc của mình.