Có thể bấy nhiêu đó là đủ với đại đa số người dùng phổ thông. Nhưng với những ai muốn tìm hiểu nhiều hơn về hệ điều hành của tương lai thì tiếp tục. Ở đây, tôi không trình bày quá sâu vào kiến trúc Android mà chỉ là mang tính giới thiệu lịch sử hình thành và kiến trúc tổng quan. Nếu muốn đi sâu vào Android thì có lẽ các bạn nên mua sách nghiên cứu, học cách lập trình…

Lịch sử Google Android (trích từ wikipedia.org)

Tháng 7 năm 2005, Google mua lại Android, Inc., một công ty nhỏ mới thành lập có trụ sở ở Palo Alto, California, Mỹ. Những nhà đồng sáng lập của Android chuyển sang làm việc tại Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập công ty Wildfire Communications), Nick Sears (từng là phó chủ tịch của T-Mobile), và Chris White (trưởng nhóm thiết kế và phát triển giao diện tại WebTV). Khi đó, có rất ít thông tin về các công việc của Android, ngoại trừ việc họ đang phát triển phần mềm cho điện thoại di động. Điều này tạo những tin đồn về việc Google có ý định bước vào thị trường điện thoại di động.
Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị di động dựa trên nhân Linux, được họ tiếp thị đến các nhà sản xuất thiết bị cầm tay và các nhà mạng trên những tiền đề về việc cung cấp một hệ thống mềm dẻo, có khả năng nâng cấp mở rộng cao. Một số nguồn tin cho biết trước đó Google đã lên danh sách các thành phần phần cứng và các đối tác phần mềm, đồng thời ra hiệu với các nhà mạng rằng họ sẵn sàng hợp tác ở nhiều cấp độ khác nhau. Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại di động xuất hiện trong tháng 12 năm 2006. Tin tức của BBC và Nhật báo phố Wall chú thích rằng Google muốn đưa công nghệ tìm kiếm và các ứng dụng của họ vào điện thoại di động và họ đang nỗ lực làm việc để thực hiện điều này. Các phương tiện truyền thông in và online cũng sớm có bài viết về những tin đồn cho rằng Google đang phát triển một thiết bị cầm tay mang thương hiệu Google. Và lại càng có nhiều suy đoán sau bài viết về việc Google đang định nghĩa các đặc tả công nghệ và trình diễn các mẫu thử với các nhà sản xuất điện thoại di động và nhà mạng.

Tháng 9 năm 2007, InformationWeek đăng tải một nghiên cứu của Evalueserve cho biết Google đã nộp một số đơn xin cấp bằng sáng chế trong lĩnh vực điện thoại di động.

Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở rộng (Open Handset Alliance), bao gồm nhiều công ty trong đó có Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile được thành lập với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động. Cũng ngay trong ngày này, Liên minh thiết bị cầm này mở đã giới thiệu sản phẩm đầu tay của họ, Android, một nền tảng thiết bị di động được xây dựng dựa trên nhân Linux 2.6.

Một trong những thiết bị android đầu tiên

Ngày 9 tháng 12 năm 2008, thêm 14 thành viên mới gia nhập dự án Android được công bố, trong đó có ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp và Vodafone Group Plc.

Trừ những giai đoạn cập nhật ngắn, Android đã lưu hành với mã nguồn mở kể từ ngày 21 tháng 10 năm 2008. Google đã mở toàn bộ mã nguồn thông qua giấy phép của Apache.

Với giấy phép Apache, các nhà cung cấp có thể đưa ra các phần mềm thương mại mà không cần chuyển chúng thành mã nguồn mở.

Cấu trúc của Google Android

Cách dễ dàng nhất có thể hình dung cấu trúc của Android giống như một ngôi nhà có 5 căn phòng. Tên những căn phòng này giống như trong hình vẽ: Applications, Application Framework, Libraries, Android Runtime, Linux Kernel. Bây giờ tiếp tục hình dung, mỗi căn phòng chứa một số lượng người nhất định. Mỗi người tương ứng là những nút màu đỏ và tên của những người này cũng thể hiện trên các nút màu đỏ. Những phòng khác nhau sẽ có số lượng người khác nhau. Mỗi người sẽ có một chức năng riêng biệt gì đó trong căn nhà mang tên Android.

Applications

Căn phòng đâu tiên bạn bước vào khi đến với ngôi nhà Android. Tất cả những người trong căn phòng này chính là các ứng dụng mà bạn có trong thiết bị chạy Android. Là những thứ mà bạn dễ dàng thấy được trên màn hình: Phone, Contact, các trò chơi, chương trình bạn cài vào… và một số ứng dụng chạy ngầm mà bạn không thấy được.

Hầu hết ứng dụng được viết bằng Java (hoặc C). Có thể ví căn phòng này giống như căn phòng riêng của bạn, bạn có thể cho ai đó vào ở (cài đặt ứng dụng) hay nếu “không ưa” ai đó thì có thể “tiễn” họ đi (gỡ bỏ ứng dụng) tùy thích. Những phòng còn lại bạn không có quyền làm như thế.

The Application Framework

Căn phòng này gồm những người có quyền cao hơn những người trong phòng Applications. Những người này sẽ có những nhiệm vụ “quản lí” những người ở phòng Applications.

Ví dụ: Content Provider cho phép chia sẻ thông tin giữa các ứng dụng, Resource Mananger: quản lí các vấn đề liên quan đến đồ họa, các file layout.., Notification Manager quản lí các cảnh báo: tiếng bíp, đèn led… Activity Manager: quản lí hoạt động của các ứng dụng.

Các framework này giống như là bộ ứng dụng sườn của Android. Có rất nhiều nhân vật trong căn phòng này công việc của họ các bạn cũng có thể đoán ra thông qua tên gọi của họ. Mà đa số họ đều là Quản Lí (Manager) hày Nhà cung cấp (Provider) nên “không dám bàn nhiều”.

Libraries

Căn phòng này giống như nhà bếp của ngôi nhà. Tất cả mọi người ở phòng Applications hay Application Framework muốn làm việc thì phải lấy một thứ gì đó trong phòng này cho vào “bụng” thì mới làm việc được. Nghĩa là khi ứng dụng chạy sẽ gọi các hàm nằm trong thư viện này. Các lập trình viên cũng sẽ dùng những hàm trong các thư viện này để phát triển ứng dụng.

Ví dụ: Media Framework sẽ được gọi khi các chương trình có liên quan đến Media như nghe nhạc, xem ảnh. Hay WebKit sẽ liên quan đến Internet, SQLite liên quan đến cơ sở dữ liệu… Một chương trình có thể phải cần nhiều thư viện trong căn phòng này.

Android Runtime

Có thể nói rằng căn phòng ‘Android runtime’ là một nơi khá đặc biệt. Nó chỉ có 2 người: Dalvik Virtual Machine và những thư viện nhân (core libraries). Những thư viện cơ bản của hệ điều hành, chỉ cung cấp cho hệ điều hành.
Trong Google Android, có một công cụ được gọi là ‘DX’ nó sẽ chuyển những ứng dụng thành dạng Dalvik Executable (.dex). Đây chính là những file đặc biệt dùng cho Dalvik Virtual Machine. Định dạng này cũng được tạo ra nhằm làm tối thiểu kích thước chương trình, làm cho nó tương thích với thiết bị di động. Dalvik Virtual Machine là một chương trình được viết để Android có thể chạy đa nhiệm nhanh và mượt.

Linux Kernel

Căn phòng nhỏ này chứa những trình điều khiển (drivers) dùng để điều khiển phần cứng như Keypad, Wifi, Camera, Audio, Màn hình… Phòng này có thể coi như là “Trung tâm chỉ huy” của ngôi nhà. Linux Kernel nắm giữ những gì là cốt lõi của hệ điều hành. Các giải thuật quản lí tài nguyên, chuyển đổi qua lại giữa các tác vụ, phân chia quyền, giải quyết tranh chấp… cũng có thể xem nó như là “phòng công tác đối ngoại” vì nó đảm nhận việc tương tác với thiết bị ngoại vi. Nó chính là nhân Linux 2.6.