Android là gì và tại sao nó lại cần thiết. Nền tảng Android là gì và nó dùng để làm gì? Hệ điều hành Android dựa trên

  • 26.12.2021

Các bài báo và cuộc sống Hacks

Ngày nay, thật khó để tìm được một người không muốn vây quanh mình với công nghệ “thông minh”. Cụm từ “không có điện thoại - giống như không có tay” nghe ngày càng thường xuyên và không thể tưởng tượng được cuộc sống mà không có đầu đĩa, máy tính xách tay hoặc các thiết bị phổ biến khác.

Vì vậy, mọi người nên biết về những sản phẩm mới xuất hiện trên thị trường điện máy hiện đại. Ví dụ, không phải ai cũng biết nền tảng Android là gì, nhưng chúng tôi sẽ cố gắng tìm hiểu nó.

Android là gì

  • Android là một hệ điều hành có thể điều khiển một thiết bị di động (điện thoại, máy tính bảng, điện thoại thông minh). Nền tảng android được phát triển dựa trên nhân Linux.
  • Nó xuất hiện do vào năm 2005, Google đã mua lại Android Inc, biến nó thành công ty con và bắt đầu phát hành các nền tảng cùng tên cho các thiết bị di động. Kể từ đó, nền tảng này chỉ đang phát triển.
  • Android rất thường xuyên phát hành các phiên bản mới của chương trình của mình. Đáng chú ý là các chữ cái đầu tiên trong tên của mỗi phiên bản mới tương ứng với các chữ cái trong bảng chữ cái Latinh.
  • Ngày nay, nền tảng Android đứng thứ hai về mức độ phổ biến trên thế giới, chỉ đứng sau hệ điều hành iOS, vốn được phát triển cho iPhone.

Android là gì?

  • Như bạn đã biết, hệ điều hành là "bộ não" của bất kỳ thiết bị điện tử nào, cần thiết để nó thực hiện mọi lệnh của con người.
  • Theo đó, android là một robot ảo ngồi bên trong thiết bị di động, có nhiệm vụ thực hiện tất cả các quá trình diễn ra bên trong thiết bị này.
  • Ưu điểm của nền tảng này là android có giao diện thuận tiện và rất trực quan, cũng như hệ thống đa nhiệm và linh hoạt cho phép bạn chạy nhiều ứng dụng cùng một lúc và thử nghiệm với các cài đặt.
  • Trong số những thứ khác, nhiều ứng dụng được tạo riêng cho nền tảng Android mang đến cho người dùng hạnh phúc của hệ thống này những khả năng thực sự vô tận.
  • Rốt cuộc, với sự trợ giúp của các ứng dụng này, bạn có thể trả tiền để mua hàng, chụp ảnh, xem phim hoặc đọc sách.
  • Sau khi tìm hiểu Android là gì, chúng ta có thể kết luận rằng nền tảng này được tạo ra cho những người sáng tạo, bởi vì hai thiết bị di động giống hệt nhau có thể trông hoàn toàn khác nhau.
  • Android cho phép bạn luôn mang theo mọi thứ - huấn luyện viên thể dục cá nhân, bác sĩ, đồ chơi hoặc TV, giúp cuộc sống con người thoải mái nhất có thể.

Thiết bị di động Android khá phổ biến trên thị trường điện thoại. Hệ điều hành Android lý tưởng cho điện thoại và máy tính bảng. Nhờ dung lượng bộ nhớ lớn và các đặc tính kỹ thuật cao, việc làm việc với hệ điều hành này trở nên dễ dàng hơn rất nhiều.

Hệ điều hành "Android": mô tả

Các chuyên gia tin rằng sự phổ biến của hệ thống Android đang tăng lên do liên tục phát hành nhiều loại thiết bị khác nhau trên nền tảng này, có một số lượng lớn các chức năng hữu ích trong kho vũ khí của họ. Ngay khi cái mới thâm nhập vào thị trường công nghệ, những cơ hội mới đã xuất hiện cho người dùng.

Bên cạnh những công nghệ hiện có, trong tương lai dự kiến ​​sẽ phát hành những chiếc TV dựa trên "Android", chắc chắn sẽ trở thành một phần không thể thiếu trong cuộc sống hiện đại. Giờ đây, các ứng dụng mới đang được tích cực phát triển sẽ giúp đồng bộ hóa công việc giữa điện thoại di động Android và các thiết bị trên ô tô như định vị GPS. Đồng thời, mỗi bản cập nhật firmware của hệ thống sẽ mở rộng chức năng của thiết bị, hoàn toàn điều chỉnh phù hợp với người dùng.

Làm thế nào để đồng bộ hệ thống với Google?

Hệ thống Android mở ra rất nhiều khả năng: sử dụng Google Maps, e-mail, v.v. Để sử dụng tất cả các dịch vụ thông qua một thiết bị Android, tất cả những gì bạn cần làm là đồng bộ hệ thống với Google. Để làm điều này, bạn chỉ cần nhập dữ liệu của mình (đăng nhập và mật khẩu), sau đó Hệ điều hành sẽ kết nối độc lập với tất cả các ứng dụng.

Ngoài các ứng dụng tiêu chuẩn, cách đây không lâu, những phát triển hoàn toàn mới đã được công bố. Vì vậy, ví dụ, người dùng của các nhà giao tiếp, chương trình Google Voice sẽ cho phép họ trao đổi thông tin mà không cần nỗ lực nhiều. Sau khi đồng bộ hóa thiết bị với Google, người dùng cũng sẽ có thể làm việc với ứng dụng Play Market, ứng dụng này bạn có thể cài đặt một loạt các trò chơi và chương trình khác nhau (cả trả phí và miễn phí) trên điện thoại hoặc máy tính bảng của mình.

Bí mật về "Android" cho người mới bắt đầu

Để làm việc với thiết bị trên nền tảng này dễ dàng hơn, người dùng nâng cao đã tìm thấy một số chức năng hữu ích. Những bí mật của "Android" sẽ giúp bạn tối ưu hệ thống một cách tối đa và tùy chỉnh nó cho chính bạn.

Tính năng khá hữu ích đầu tiên là quay số nhanh. Mọi người đều biết rằng hệ thống "Android" có một số máy tính để bàn đặt các phím tắt cho các ứng dụng khác nhau. Vì vậy, để đơn giản hóa việc thiết lập danh bạ, bạn chỉ cần nhấp vào một khoảng trống trên màn hình, chọn menu "Phím tắt" và "Danh bạ", sau đó đánh dấu số phổ biến nhất và đặt nó trên màn hình. Giờ đây, việc quay số của số liên lạc này sẽ được thực hiện bằng một cú nhấp chuột vào phím tắt.

Ít ai biết rằng có những ký tự đặc biệt trên bàn phím Android. Để mở chúng, bạn chỉ cần nhấn và giữ một dấu chấm hoặc dấu phẩy. Bộ số mở theo cách tương tự.

Có những tình huống gõ văn bản lớn bằng tay hoàn toàn bất tiện. Đối với điều này, có một chức năng như tìm kiếm bằng giọng nói. Không phải tất cả người mới bắt đầu đều biết bí mật của "Android", và không dễ dàng để nhận thấy biểu tượng hình chiếc micrô nhỏ trên thanh tìm kiếm của Google. Vì vậy, ít người sử dụng một chức năng hữu ích như vậy. Nhưng bạn chỉ cần nhấp vào biểu tượng này và nói câu hỏi, ngay lập tức nó sẽ trở thành văn bản.

Nếu sau khi vô tình bấm nhầm, ứng dụng đang mở biến mất ở đâu đó thì rất có thể nó chỉ bị sập. Để đưa ứng dụng đã thu nhỏ trở lại màn hình, bạn chỉ cần nhấn giữ nút có hình ảnh ngôi nhà nhỏ và chọn ứng dụng bạn cần từ danh sách.

Và đây chỉ là một vài mẹo nhỏ. Trên thực tế, còn nhiều cơ hội tiềm ẩn hơn thế. Những bí mật nhỏ của "Android" sẽ giúp điều chỉnh hoạt động của hệ điều hành và tùy chỉnh tối đa cho người dùng.

Làm cách nào để tìm hiểu thêm về hệ thống đã cài đặt?

Thông thường, người dùng cần tìm hiểu thông tin chi tiết về một thiết bị di động. Ví dụ: phiên bản hệ điều hành Android, loại bộ xử lý, v.v. Những dữ liệu này đôi khi được yêu cầu để cài đặt một ứng dụng hoặc chương trình. Trong thực tế, không có gì khó khăn về nó.

Lựa chọn 1. Bạn có thể tìm hiểu một số dữ liệu hệ thống bằng cách sử dụng cài đặt tiêu chuẩn. Chỉ cần mở menu cài đặt là đủ, sau đó bạn cần chọn mục "Giới thiệu về điện thoại". Trên một số thiết bị, thao tác này sẽ mở ra danh sách thông tin hệ thống. Nếu không phải tất cả các thông tin xuất hiện trên màn hình, bạn cần nhấp vào mục "Phiên bản phần mềm". Tại đây bạn có thể tìm thấy thông tin cơ bản về hệ điều hành của thiết bị.

Lựa chọn 2. Phương pháp này phù hợp cho những người yêu cầu dữ liệu hệ điều hành mở rộng. Để nhận thông tin này, bạn cần tải xuống chương trình đặc biệt từ Play Market rồi mở chương trình đó. Tất cả thông tin hệ thống sẽ xuất hiện trên màn hình.

Nhấp nháy hệ thống "Android"

Nhiều người dùng quan tâm đến cách cài đặt hệ điều hành với phiên bản mới hơn trên thiết bị di động của họ. Tuy nhiên, trước khi thiết lập hệ điều hành, bạn nên suy nghĩ về việc liệu bạn có thể tự cập nhật lại Android hay không. Nhưng câu hỏi này còn rất nhiều tranh cãi.

Trước hết, bạn nên chú ý đến thiết bị. Không phải tất cả các thiết bị di động đều có khả năng nhấp nháy. Hơn nữa, hành động này hoàn toàn không được cung cấp trên các thiết bị của Trung Quốc. Việc tự can thiệp vào hệ điều hành sẽ chỉ vô hiệu hóa thiết bị. Vì vậy, suy nghĩ về cách cài đặt một hệ điều hành, trước hết, bạn nên quyết định mức độ ưu tiên trong tình huống này là phiên bản mới hơn hay một thiết bị hoạt động bình thường.

Các chương trình tốt nhất để đồng bộ hóa thiết bị của bạn với PC

Đôi khi, điều cần thiết là có thể điều khiển thiết bị di động từ máy tính. Đối với điều này, có những chương trình đặc biệt sẽ giúp người dùng đồng bộ Android với PC.

Android PC Suite giúp bạn có thể thực hiện cuộc gọi và gửi tin nhắn qua máy tính. Ngoài ra, với ứng dụng này bạn có thể sao lưu toàn bộ dữ liệu trên thiết bị của mình.

Nhiệm vụ, ghi chú và lịch, cũng như cài đặt trình điều khiển cho tiện ích di động.

My Phone Explorer quản lý các tệp, danh bạ và thông tin khác thông qua máy tính của bạn, cũng như cung cấp thông tin chi tiết về thiết bị Android của bạn.


Android Là một trong những hệ điều hành phổ biến nhất và hứa hẹn nhất cho các thiết bị di động khác nhau. Hệ thống cung cấp các công cụ rất tiện lợi và tính linh hoạt tối đa của các cài đặt, cho phép mỗi người dùng điện thoại thông minh hoặc máy tính bảng trên Android có thể tùy chỉnh hoàn toàn cho phù hợp với nhu cầu của họ. Sự phát triển của hệ điều hành này bắt đầu từ năm 2003, nhưng nó thực sự trở nên nổi tiếng chỉ 2 năm sau đó - sau khi được Google mua lại. Bước ngoặt trong lịch sử của Android xảy ra vào mùa thu năm 2008. Sau đó, Google đã giới thiệu T-Mobile G1, trở thành điện thoại thông minh Android đầu tiên. Chính thời điểm đó, nhiều nhà sản xuất thế giới đã đổ dồn sự chú ý vào một hệ điều hành đầy hứa hẹn.

(phiên bản đầu tiên)

Các tính năng chính của hệ điều hành Android

Hệ điều hành được đề cập luôn được các nhà phát triển định vị là một hệ thống mã nguồn mở. Điều này cho phép bất kỳ ai cũng có thể tạo ứng dụng, trò chơi và các tiện ích bổ sung khác của riêng mình để mở rộng khả năng của các tiện ích Android. Ban đầu, các nhà phát triển đã nghĩ ra mọi thứ để hệ điều hành hoạt động nhanh nhất có thể ngay cả trên phần cứng "bình dân" nhất. Đây là một lợi thế chắc chắn, vì Giờ đây, ngay cả những người có phương tiện tài chính khiêm tốn nhất cũng có thể tận hưởng tất cả những lợi thế chính của điện thoại thông minh hiện đại.


(Android 5.0)

Các nhà sản xuất thiết bị điện tử di động cũng sẵn sàng sử dụng tính mở của hệ thống, phát hành giao diện người dùng của riêng họ, chẳng hạn như Sense của HTC. Điều này làm cho các tiện ích Android từ các nhà sản xuất khác nhau trở nên khác biệt với nhau. Những người hâm mộ Android cổ điển và "thuần túy" nên chuyển sự chú ý của họ sang các thiết bị Nexus. Theo truyền thống, họ là những người đầu tiên nhận được bản cập nhật.

Thời điểm cập nhật các thiết bị khác thường bị trì hoãn do cần hoàn thiện các shell độc quyền phù hợp với tính năng của các phiên bản HĐH mới.

Nguồn chính của trò chơi và ứng dụng là Cửa hàng Play. Các danh mục của cửa hàng này có rất nhiều lựa chọn nội dung miễn phí và trả phí, phạm vi của các nội dung này đang được mở rộng một cách tích cực. Chất lượng của các trò chơi và ứng dụng "android" không ngừng phát triển. Theo thời gian, các ứng dụng khác nhau được phát hành bởi chính Google.

Nói chung, các thiết bị Android có tất cả các chức năng mà điện thoại thông minh và máy tính bảng hiện đại cần phải có, theo các yêu cầu bất thành văn. Ngoài ra, có thể dễ dàng mở rộng chức năng bằng các ứng dụng, widget hoặc phần sụn của bên thứ ba.

Những người muốn mua điện thoại thông minh Android nên nhớ rằng nhiều chức năng và chương trình tập trung vào hoạt động với Internet. Nếu bạn không có quyền truy cập Wi-Fi, nên kết nối biểu giá có lợi cho người dùng Internet hoặc tắt một số chức năng yêu cầu quyền truy cập vào mạng.

Ngoài ra, người ta không thể không lưu ý đến quyền tự chủ hạn chế của các thiết bị trên Android, đặc biệt là các đại diện của các thế hệ trước. Với việc sử dụng tích cực, điện thoại thông minh hoặc máy tính bảng sẽ phải được sạc hàng ngày, và trong một số trường hợp, 2 lần một ngày. Các nhà sản xuất đang tích cực làm việc để sửa chữa thiếu sót này, và gần đây các thiết bị thú vị với khả năng tự chủ được gia tăng đáng kể đã bắt đầu xuất hiện trên thị trường. Các nhà phát triển cũng không đứng sang một bên. Với mỗi phiên bản mới, hệ điều hành ngày càng "ăn" ít phí hơn.

Dựa trên thông tin được cung cấp, có thể nêu ra những ưu điểm và nhược điểm chính của hệ điều hành được đề cập. Vì vậy, những lợi thế chắc chắn của Android là:
1. Tính mở của mã chương trình, giúp nó có thể phát triển hầu hết mọi ứng dụng và trò chơi.
2. Không yêu cầu "phần cứng" của thiết bị.
3. Rất nhiều loại ứng dụng và trò chơi thú vị cho mọi sở thích.
4. Tuân thủ đầy đủ các ý tưởng hiện đại về chức năng của điện thoại thông minh.
5. Quyền tự do hành động cho người dùng. Nếu muốn, hệ thống và giao diện của nó có thể dễ dàng tùy chỉnh theo nhu cầu của chủ sở hữu.
6. Sự phổ biến của hệ điều hành trong đại đa số các nhà sản xuất hiện đại. Điều này cho phép người dùng với hầu hết mọi ngân sách đều có thể mua một chiếc điện thoại thông minh hiện đại và có chức năng.

Cũng có những nhược điểm. Những điều quan trọng là:

1. Tính mở của mã chương trình. Vâng, nó có thể được quy cho cả hai ưu điểm và nhược điểm cùng một lúc. Điều này là bất lợi vì các nhà sản xuất thiết bị di động thường thích tạo giao diện của riêng họ. Do đó, có sự chậm trễ đáng kể về thời gian giữa việc phát hành chính thức bản cập nhật hệ điều hành và việc nhận nó trên các thiết bị khác nhau.
2. Tính tự chủ tương đối thấp. Gần đây, một bước tiến lớn đã được thực hiện theo hướng này, vì vậy, rất sớm sẽ có những câu nói đùa rằng “Điện thoại thông minh trên Android là thiết bị thể thao nhất, tk. họ có 2 bài tập mỗi ngày ”sẽ trở thành một câu chuyện hài hước không hơn không kém.

Nền tảng không ngừng được cải thiện và phát triển. Ngày nay, nó cảm thấy tự tin là một trong ba nhà lãnh đạo hàng đầu trên thị trường hệ điều hành. Nhiều chuyên gia đã nhiều lần lưu ý rằng tương lai thuộc về Android và họ đã không nhầm.

Cho đến hôm nay, phiên bản Android mới nhất có số sê-ri 5 và có tên mã là Lollipop. Hệ thống đã nhận được những cập nhật đáng kể về thiết kế, chức năng, nhìn chung, nó thực tế là một sản phẩm mới được tạo ra. Hiện tại điện thoại thông minh Google Nexus 5 đã bắt đầu cập nhật lên phiên bản hệ điều hành này và sắp tới tất cả các điện thoại thông minh hiện đại sẽ nhận được bản cập nhật mới nhất. Tuy nhiên, chúng tôi sẽ nói với bạn về phiên bản 5.0 mới một cách riêng biệt, nhưng tôi vẫn muốn bắt đầu từ những thời điểm mà dự án Android thậm chí còn chưa thuộc về Google ...

Android: Trang chủ

Nhiều người tin rằng lịch sử của Android bắt đầu từ năm 2008, khi phiên bản Android 1.0 đầu tiên được phát hành. Nhưng thực tế, mọi thứ bắt đầu từ 5 năm trước đó, vào năm 2003, khi Andy Rubin và các đồng đội của mình (Nick Sears, Chris White và Rich Miner) quyết định tạo ra một hệ điều hành di động và đăng ký công ty Android Inc. Các nhà phát triển đầu tiên tập trung vào các thiết bị có thể liên tục với người dùng, xác định vị trí bằng GPS và tự động điều chỉnh theo nhu cầu của người đó.

Andy Rubin, Người tạo Android Nguồn: technobuffalo.com

Đối với các nhà đầu tư thời đó, hầu như không có điều gì rõ ràng cả. Chà, ai lại muốn đầu tư vào một công ty khởi nghiệp không thể hiểu nổi, mà cho đến nay không mang lại tiền ... Vì vậy, vào năm 2005 Andy và bạn bè của anh ấy đã tiêu hết tiền, nhưng một cơ hội may mắn, họ đã được Google nhìn ra và vào ngày 17 tháng 8 năm 2005, công ty trở thành chủ sở hữu chính thức của một công ty nhỏ Android Inc. Điều đáng chú ý là Google vào thời điểm đó không có bất kỳ kế hoạch đặc biệt nào cho các tiện ích mà chỉ tập trung nhiều hơn vào việc cải thiện phần mềm và thuật toán tìm kiếm của riêng mình. Nói thật là đáng sợ, nhưng vào thời điểm đó Google không có bất kỳ Adsense nào hoặc thậm chí là YouTube (nó chỉ được mua lại vào năm 2007).

Biểu trưng của Google năm 2005

Cùng năm đó, trong bối cảnh kiện tụng giữa Oracle và Google, Android sẽ là một hệ điều hành miễn phí và tất nhiên, chủ yếu tập trung vào việc triển khai các dịch vụ của Google. Vì Andy Rubin ban đầu tham gia vào một dự án liên quan đến GPS và công ty đã có Bản đồ, nên nó được cho là sẽ đưa bản đồ vào điện thoại. Và khi đó vẫn chưa có điện thoại thông minh, vì vậy thẻ có thể xuất hiện trên một vỏ sò bình thường với các nút. Những hình ảnh đầu tiên cũng chỉ ra rằng Google đang tập trung vào trải nghiệm RIM với Blackberry của họ, vì vậy nếu không phải ngẫu nhiên, điện thoại màn hình cảm ứng có thể đã không xuất hiện. Tuy nhiên, thật không may hoặc may mắn thay, iPhone ra mắt vào năm 2007 và Google đang điều chỉnh mạnh mẽ chiến lược của mình. Tuy nhiên, bản dựng đầu tiên của Android 1.0 đang được chuẩn bị phát hành vào năm 2008. Tuy nhiên, đầu năm 2007, Google không có đối tác để phát hành điện thoại trên HĐH mới. Nokia là một công ty quá lớn mà sẽ có xung đột lợi ích, Motorola vẫn chưa phục hồi sau sự gia tăng doanh số của các mẫu Razr. Google đang lựa chọn giữa LG và HTC. LG của Hàn Quốc quan tâm đến thị trường Mỹ, nhưng họ ngại hợp tác với một đối tác không rõ tên tuổi và chỉ sử dụng các thỏa thuận với Google để ký kết hợp đồng với Microsoft để tạo ra điện thoại thông minh chạy Windows Mobile. Nhưng HTC đã sẵn sàng làm việc cùng nhau, và bên cạnh đó, công ty Đài Loan có thể nhanh chóng tạo ra các mẫu làm việc. Nguyên mẫu đầu tiên được biết đến là Google Sooner. Tuy nhiên, ở đây, họ đã phải từ bỏ màn hình cảm ứng, mô hình này được tạo ra theo các thông số kỹ thuật ban đầu, khi Google dựa vào trải nghiệm của Blackberry.

Có thể là nguyên mẫu đầu tiên của điện thoại Android - Google Sooner

Các nguồn tin nói rằng phiên bản làm việc đầu tiên là ngày 15/05/2007 và sau đó nó được gọi là M3. Hệ điều hành rất giống với giao diện của Blackberry, vị trí chính được đảm nhận bởi dòng tìm kiếm của Google. Nhìn chung, nếu không nhờ sự xuất hiện của iPhone và khóa học trên màn hình cảm ứng, có lẽ bây giờ chúng ta sẽ thấy Android như thế này.

Ảnh chụp màn hình của Android M3, có thể là phiên bản hoạt động đầu tiên của hệ điều hành Nguồn: 9to5google.com

Android: ra mắt chính thức

Google hiểu rõ rằng với việc phát hành iPhone của Apple, sự hiện diện của màn hình cảm ứng chỉ đơn giản là một điều cần thiết, và do đó, quá trình phát triển ban đầu phải bị hoãn lại. Điều này đã được tạo điều kiện thuận lợi bằng cách liên lạc với các nhà khai thác; vào mùa hè năm 2007, quan điểm của họ về tương lai của Android rất bi quan. Vào tháng 8 năm 2007, một bài báo xuất hiện trên WSJ nêu bật những nỗ lực của Google liên quan đến điện thoại và nền tảng của họ. Bài báo này đề cập rằng công ty có hai nguyên mẫu - một nguyên mẫu tương tự như Palm Treo với bàn phím QWERTY dưới màn hình và nguyên mẫu thứ hai có phần gợi nhớ đến biến thể Nokia. Trong nhóm Android, có một cuộc cạnh tranh với thời gian, vì tất cả các kế hoạch trước đó đều vô ích và họ quyết định từ bỏ chúng. Nhóm nghiên cứu thay đổi ngày tháng, và vào nửa cuối năm 2007, chiếc M3 được phát hành. Trong phiên bản M5, nó xuất hiện vào đầu năm 2008, một thanh trạng thái xuất hiện trong đó, mặc dù các thử nghiệm với giao diện người dùng có thể nhận thấy bằng mắt thường. Xem video để hiểu sự khác biệt giữa các phiên bản này.

Mãi đến tháng 8 năm 2008, Google mới phát triển phiên bản 0.9 để phát hành hệ điều hành 1.0 vào tháng 9 năm 2008. Vào ngày 22 tháng 10 năm 2008, T-Mobile tại Mỹ bắt đầu bán HTC Dream (T-Mobile G1), điện thoại thông minh Android đầu tiên có màn hình cảm ứng và hệ điều hành tích hợp đầy đủ. Nhưng Google chỉ có thể thiết kế lại hệ điều hành này trong phiên bản 1.6, loại bỏ những ý tưởng cũ đã được đặt ra ban đầu khi nó được tạo ra. Có lẽ, chính từ thời điểm này, sự trỗi dậy của Android bắt đầu. Sự quan tâm đến HTC Dream ở Mỹ là rất lớn, nhà điều hành đã bán được 1 triệu thiết bị vào ngày 23 tháng 4 năm 2009. Nhu cầu về một thiết bị bình thường và đơn giản như vậy một lần nữa chứng minh rằng các ý tưởng đã chiến thắng, ở khía cạnh này, ý tưởng về điện thoại màn hình cảm ứng đã chiếm được tâm trí của người tiêu dùng.

Đương nhiên, những thử nghiệm đầu tiên trên người dùng thực đã tiết lộ nhiều lỗ hổng trong nền tảng và ngay trong năm đầu tiên Android tồn tại, Google đã phát hành các bản cập nhật sau: 1.1. Banana Bread, 1.5 Cupcake (tải video và ảnh lên YouTube và Picasa, hướng hiển thị tự động, đầu vào dự đoán, v.v.) và 1.6 Donut (chuyển đổi giọng nói thành văn bản với phát âm đa ngôn ngữ, hỗ trợ WVGA, làm việc bằng cử chỉ được tối ưu hóa, v.v.), v.v. )

Android: lần thử thứ hai

Android 2.0

Sau khi cải tiến phiên bản đầu tiên, Android đã được mở rộng chức năng và giao diện đẹp lên phiên bản 2.0, sau đó là 2.1 với cùng tên mã Eclair. Có thể có nhiều Tài khoản Google và trình duyệt web chuẩn nhận được hỗ trợ HTML5. Đồng thời, các mẫu điện thoại thông minh Android mới cũng được bán ra: NTS Magic and Hero, Motorola Droid và Samsung Galaxy.

Sau đó, vào năm 2010, việc phát hành bộ vi xử lý di động với xung nhịp 1 GHz bắt đầu. Và chiếc điện thoại thông minh đầu tiên mang thương hiệu Google Nexus One với bộ vi xử lý 1 GHz xuất hiện. Tất nhiên, HTC trở thành đối tác của Google. Và các bộ vi xử lý với tần suất tương tự đã được HTC Desire, Motorola Droid 2 và Samsung Galaxy S. Nhân tiện, HTC sẽ không còn sản xuất các thiết bị của Google cho đến năm 2014, khi Nexus 9. Cùng năm 2010, Google đã phát hành một thiết bị khác phiên bản Android 2.2 Froyo mới, đã cải thiện hiệu suất của các ứng dụng sử dụng trình biên dịch JIT và hỗ trợ cho Adobe Flash. Tất cả các điện thoại thông minh nói trên có bộ xử lý 1 GHz đều nhận được bản nâng cấp lên Froyo. Ngoài ra, bản dựng đã nhận được các bản cập nhật như công cụ Chrome V8 JS cho trình duyệt web, hỗ trợ chuyển và gắn liên hệ qua BlueTooth, đồng bộ hóa đám mây, v.v.

Google Nexus One và Android 2.2 Froyo

Nhân tiện, ở Nga, nhiều người đã nhìn thấy Android lần đầu tiên trong phiên bản này, vì năm nay ở nước ta bắt đầu có nhu cầu về điện thoại thông minh màn hình cảm ứng, Android đang dần trở thành mốt. Cho đến năm 2010, "robot xanh" chỉ được nhìn thấy bởi những người đam mê và thậm chí sau đó, nhiều khả năng là trên Internet hoặc trên tạp chí hơn là trên tay của họ.

Android Gingerbread và Honeycomb

Đó là năm thứ ba Android tồn tại trên thị trường. Nó đã là một hệ điều hành phổ biến, nhưng vẫn còn nhiều vấn đề. Và do đó, bản cập nhật 2.3 Gingerbread xuất hiện, cho đến năm 2013 đã được cài đặt trên một số lượng lớn thiết bị. Thật vậy, trong phiên bản hệ điều hành này, nhiều chức năng đã được triển khai cho thấy triển vọng phát triển của nền tảng như - hỗ trợ điện thoại SIP, Giao tiếp trường gần và Google Talk, hoạt động với màn hình có độ phân giải cao hơn, trình quản lý tải xuống mới và nhiều hơn nữa.

Cùng với Gingerbread, Google đang phát hành điện thoại thông minh mang thương hiệu thứ hai của mình - Nexus S. Lần này Samsung trở thành nhà sản xuất và Nexus S trên thực tế là một chiếc Galaxy S. Ngày bắt đầu bán hàng, công ty LG đã công bố điện thoại thông minh lõi kép đầu tiên, Optimus 2X. Giờ đây, các nhà sản xuất không được đo bằng gigahertz mà bằng đa lõi. Kết quả là không chỉ LG Optimus 2X nhận được chip lõi kép mà còn cả Samsung Galaxy S II, NTS Sensation và Motorola Droid X2.

Trong khi đó, Samsung đang tung ra một thiết bị khác, Galaxy Tab, sau điện thoại thông minh Galaxy S. "Máy tính bảng" 7 inch nhỏ gọn và nhẹ đã trở thành một sự thay thế tốt cho những người không thích Apple iPad cồng kềnh. Nhưng rắc rối là, cho đến nay Android mới chỉ tồn tại trên điện thoại thông minh. Google nghĩ không thành vấn đề và vào đầu năm 2011, phiên bản Android đầu tiên được thiết kế dành riêng cho máy tính bảng đã xuất hiện - 3.0 Honeycomb. Nhìn vào máy tính bảng Honeycomb và thực sự tốt hơn so với giao diện điện thoại thông minh Gingerbread kéo dài. Vì vậy, cả điện thoại thông minh và máy tính bảng đều đã bắt đầu hoạt động trên nền tảng của hệ điều hành Android. Việc kinh doanh bắt đầu mở rộng và nhanh chóng. Hầu hết tất cả các máy tính bảng Android đều trở thành nhà mạng Honeycomb - Motorola Xoom, Acer Iconia Tab, Samsung Galaxy Tab 10.1, Lenovo ThinkPad Tablet, v.v.

Cùng năm 2011, tại triển lãm công nghệ IFA 2011 ở Berlin, Samsung sẽ giới thiệu chiếc phablet 5 inch đầu tiên của mình, Glaxy Note, thiết bị đã trở thành một thiết bị rất phổ biến, bất chấp ý kiến ​​của những người hoài nghi. Sau đó, trên thực tế, nó là thiết bị đầu tiên của lớp này và thậm chí là trên Android. Apple mất thêm 3 năm trước đó, vào năm 2014 công ty đã cho ra mắt chiếc phablet iPhone 6 Plus.

Android 4: từ Ice Cream Sandwich sang KitKat

Google hiểu rằng việc có hai hệ thống riêng biệt cho điện thoại thông minh và máy tính bảng không mang lại nhiều lợi nhuận. Nhiều thời gian hơn được dành cho phát triển và hỗ trợ. Và vào mùa thu năm 2011, Google phát hành Android 4.0 Ice Cream Sandwich, trở thành phiên bản đa nền tảng đầu tiên cho điện thoại thông minh và máy tính bảng. Phần lắp ráp cũng có quyền truy cập vào các ứng dụng trực tiếp từ "màn hình khóa" và AndroidMarket được đổi tên thành Google Play. Theo nhiều chuyên gia, với phiên bản 4.0, Android bắt đầu có được hình dáng quen thuộc và chức năng bình thường. Giờ đây, các thiết bị trên "robot xanh" cũng có thể được sử dụng một cách đơn giản, chúng không còn là tiện ích cho những người đam mê công nghệ nữa.

Theo sau hệ điều hành mới, Google cũng trình làng một chiếc điện thoại thông minh mới - Galaxy Nexus, rõ ràng, chiếc điện thoại này cũng được phát triển với sự hợp tác của Samsung. Và một lần nữa, sau khi phát hành điện thoại thông minh, các nhà sản xuất linh kiện đang bắt đầu chiến đấu cho phần cứng. Qualcomm ra mắt bộ vi xử lý Krait mạnh mẽ và Nvidia công bố chip 4 nhân Tegra 3. Và người dẫn đầu không thể tranh cãi của điện thoại thông minh Android trong năm 2012 là Samsung Galaxy S III, đã tham gia vào danh sách bán chạy ngân sách ASUS Nexus 7 dựa trên hệ điều hành Android 4.1 Jelly Bean mới .

Trong năm 2012-2013, không có gì đặc biệt xảy ra với Android sau những thay đổi toàn cầu với sự thống nhất của các phiên bản máy tính bảng và điện thoại thông minh. Tuy nhiên, trong năm 2012, Google đã sản xuất thêm 2 thiết bị có thương hiệu - điện thoại thông minh LG Nexus 4 và máy tính bảng Samsung Nexus 10. Song song với các sản phẩm mới, bản cập nhật Android 4.2 Jelly Bean đã được giới thiệu, bổ sung cho phiên bản trước đó. Giờ đây, người dùng có thể trải nghiệm đầy đủ các lợi ích của GoogleNow, Cloud Messaging, Android Beam, bộ đệm ba lần, âm thanh USB đa kênh, v.v. Sau đó là điện thoại thông minh Google Moto X và máy tính bảng Google Nexus 7 thế hệ thứ 2, vốn không được ưa chuộng ở nước ta do Motorola rời thị trường Nga vào năm 2010.

Năm 2013, Nexus 5 xuất hiện trên thị trường, một lần nữa là kết quả của sự hợp tác với LG. Và đối với anh ta và các thiết bị khác, một phiên bản mới của Android 4.4 KitKat được phát hành. Vâng, đây là lần đầu tiên khi tên của một sản phẩm thương mại trở thành chỉ số phiên bản, nhưng chúng ta đừng nói về điều đó. Những thay đổi không chỉ ảnh hưởng đến giao diện của các ứng dụng và phần tử hệ thống riêng lẻ. Độ trong suốt được hứa hẹn của thanh thông báo trên cùng đã xuất hiện trong KitKat, cùng với phông chữ tinh chỉnh mới và hỗ trợ giao diện toàn màn hình trên một phần của các ứng dụng riêng lẻ. Với việc phát hành KitKat, việc truy cập vào dịch vụ Google Hiện hành đã trở nên dễ dàng hơn. Giờ đây, thử thách của nó đã được thống nhất - bạn chỉ cần vuốt ngón tay trên màn hình từ trái sang phải. Trước đây, các cách truy cập Google Hiện hành khác nhau tùy thuộc vào kiểu điện thoại thông minh (nhấn nút Home, lắc, v.v.). Ngoài ra, dịch vụ được kích hoạt bằng cụm từ "OK Google" khi màn hình bắt đầu mở. Các nhà phát triển cũng chú ý đến chương trình Hangouts. Giờ đây, nó cho phép bạn không chỉ gửi tin nhắn trò chuyện mà còn cả SMS / MMS. Cuối cùng, chúng tôi lưu ý đến máy đếm bước đi tích hợp trong KitKat, hoạt động ngay cả trong nền, cũng như khả năng tương thích được mở rộng với máy in thông qua công nghệ đám mây Google Print. Sau này cho phép bạn gửi tài liệu để in mà không cần bất kỳ dây dẫn nào, thay đổi kích thước giấy trước và cho biết số trang cần thiết.

Bạn đã bao giờ tự hỏi fastboot hoặc ADB hoạt động như thế nào chưa? Hay tại sao một chiếc smartphone Android gần như không thể biến thành cục gạch? Hoặc có thể từ lâu bạn đã muốn biết điều kỳ diệu của khung công tác Xposed nằm ở đâu và tại sao lại cần các tập lệnh khởi động /system/etc/init.d? Điều gì về bảng điều khiển khôi phục? Nó là một phần của Android hay bản thân nó, và tại sao khôi phục thông thường không phù hợp để cài đặt chương trình cơ sở của bên thứ ba? Bạn sẽ tìm thấy câu trả lời cho tất cả những điều này và nhiều câu hỏi khác trong bài viết này.

Cách hoạt động của Android

Bạn có thể tìm hiểu về các khả năng tiềm ẩn của hệ thống phần mềm bằng cách hiểu cách chúng hoạt động. Trong một số trường hợp, rất khó để làm điều này, vì mã hệ thống có thể bị đóng, nhưng trong trường hợp của Android, chúng tôi có thể kiểm tra toàn bộ hệ thống từ trong ra ngoài. Trong bài viết này, tôi sẽ không nói về tất cả các sắc thái của Android và sẽ chỉ tập trung vào cách hệ điều hành khởi động và những sự kiện diễn ra trong khoảng thời gian từ khi nhấn nút nguồn đến khi xuất hiện màn hình.

Trên đường đi, tôi sẽ giải thích những gì chúng ta có thể thay đổi trong chuỗi sự kiện này và cách các nhà phát triển phần sụn tùy chỉnh sử dụng các khả năng này để triển khai những thứ như điều chỉnh thông số hệ điều hành, mở rộng không gian lưu trữ ứng dụng, hoán đổi kết nối, các tùy chỉnh khác nhau và hơn thế nữa. Tất cả thông tin này có thể được sử dụng để tạo phần sụn của riêng bạn và thực hiện các bản hack và sửa đổi khác nhau.

Bước một. ABOOT và bảng phân vùng

Tất cả bắt đầu với bộ nạp khởi động chính. Sau khi bật nguồn, hệ thống thực thi mã bootloader được ghi trong bộ nhớ vĩnh viễn của thiết bị. Sau đó, nó chuyển quyền kiểm soát đến bộ nạp khởi động trên tàu với hỗ trợ tích hợp cho giao thức khởi động nhanh, nhưng nhà sản xuất chip di động hoặc điện thoại thông minh / máy tính bảng có quyền chọn bất kỳ bộ nạp khởi động nào khác mà họ lựa chọn. Ví dụ: Rockchip sử dụng bộ nạp khởi động riêng, không tương thích với fastboot, bộ nạp khởi động này phải được lập trình lại và quản lý bằng các công cụ độc quyền.

Đổi lại, giao thức fastboot là một hệ thống điều khiển bộ nạp khởi động từ PC cho phép bạn thực hiện các hành động như mở khóa bộ nạp khởi động, cài đặt hạt nhân mới và khôi phục, cài đặt chương trình cơ sở và nhiều hành động khác. Mục tiêu của fastboot là có thể khôi phục điện thoại thông minh về trạng thái ban đầu trong tình huống mà tất cả các phương tiện khác không hoạt động. Fastboot sẽ ở nguyên vị trí, ngay cả khi bạn xóa thử nghiệm tất cả các phân vùng NAND chứa Android và khôi phục từ điện thoại thông minh của mình.

Sau khi nhận được quyền điều khiển, trên tàu sẽ kiểm tra bảng phân vùng và chuyển quyền điều khiển đến hạt nhân, được ghép vào một phân vùng có tên là khởi động, sau đó hạt nhân tìm nạp hình ảnh RAM từ cùng một phân vùng vào bộ nhớ và bắt đầu tải Android hoặc bảng điều khiển khôi phục. Bộ nhớ NAND trong thiết bị Android được chia thành sáu phần bắt buộc có điều kiện:

  • boot - chứa một hạt nhân và một đĩa RAM, thường có kích thước khoảng 16 MB;
  • recovery - bảng điều khiển khôi phục, bao gồm một hạt nhân, một tập hợp các ứng dụng bảng điều khiển và một tệp cài đặt, kích thước 16 MB;
  • hệ thống - chứa Android, trong các thiết bị hiện đại có kích thước ít nhất là 1 GB;
  • cache - nhằm mục đích lưu trữ dữ liệu đã lưu trong bộ nhớ cache, nó cũng được sử dụng để lưu phần sụn trong quá trình cập nhật OTA và do đó có kích thước tương tự với kích thước của phân vùng hệ thống;
  • userdata - chứa cài đặt, ứng dụng và dữ liệu người dùng, tất cả không gian bộ nhớ NAND còn lại được cấp cho nó;
  • misc - chứa một cờ xác định hệ thống sẽ khởi động ở chế độ nào: Android hoặc recovery.
Ngoài chúng, các phần khác cũng có thể tồn tại, tuy nhiên, đánh dấu chung được xác định ở giai đoạn thiết kế của điện thoại thông minh và, trong trường hợp trên tàu, được ghép vào mã bộ nạp khởi động. Điều này có nghĩa là: 1) bảng phân vùng không thể bị giết, vì nó luôn có thể được khôi phục bằng lệnh định dạng fastboot oem; 2) để thay đổi bảng phân vùng, bạn sẽ phải mở khóa và cập nhật lại bộ nạp khởi động với các tham số mới. Tuy nhiên, có những ngoại lệ đối với quy tắc này. Ví dụ: bộ nạp khởi động của cùng một Rockchip lưu trữ thông tin về các phân vùng trong khối đầu tiên của bộ nhớ NAND, vì vậy bạn không cần flash bộ nạp khởi động để thay đổi nó.

Một phần của mã bộ nạp khởi động xác định bảng phân vùng


Đặc biệt quan tâm là phần misc. Có một giả định rằng ban đầu nó được tạo ra để lưu trữ các cài đặt khác nhau bất kể hệ thống chính là gì, nhưng hiện tại nó chỉ được sử dụng cho một mục đích: để chỉ ra cho bootloader từ phân vùng nào mà hệ thống sẽ được tải - khởi động hoặc phục hồi. Đặc biệt, tính năng này được ứng dụng ROM Manager sử dụng để tự động khởi động lại hệ thống vào quá trình phục hồi với việc cài đặt tự động phần sụn. Trên cơ sở đó, cơ chế khởi động kép Ubuntu Touch được xây dựng, cơ chế này sẽ đưa bộ nạp khởi động Ubuntu vào khôi phục và cho phép bạn kiểm soát hệ thống nào sẽ khởi động vào lần tiếp theo. Xóa phần misc - tải Android, lấp đầy dữ liệu - tải khôi phục ... tức là Ubuntu Touch.

Bước hai. Phần khởi động

Nếu phần misc không có cờ khởi động trong quá trình khôi phục, thì trên tàu sẽ chuyển quyền điều khiển đến mã nằm trong phần khởi động. Nó không khác gì nhân Linux; nó nằm ở đầu phần và ngay sau đó là hình ảnh đĩa RAM nén cpio và gzip chứa các thư mục cần thiết để Android hoạt động, hệ thống init và các công cụ khác. Không có hệ thống tập tin trên phân vùng khởi động, hạt nhân và đĩa RAM chỉ tiếp nối nhau. Nội dung của đĩa RAM như sau:

  • data - thư mục để gắn phân vùng cùng tên;
  • dev - tệp thiết bị;
  • proc - procfs được gắn ở đây;
  • res - một tập hợp các hình ảnh cho bộ sạc (xem bên dưới);
  • sbin - một tập hợp các tiện ích và daemon phụ trợ (ví dụ: adbd);
  • sys - sysfs được gắn ở đây;
  • hệ thống - thư mục để gắn phân vùng hệ thống;
  • bộ sạc - một ứng dụng để hiển thị quá trình sạc;
  • build.prop - cài đặt hệ thống;
  • init - hệ thống init;
  • init.rc - cài đặt hệ thống init;
  • ueventd.rc - cài đặt cho daemon uventd có trong init.
Có thể nói, đây là bộ xương của hệ thống: một tập hợp các thư mục để kết nối hệ thống tệp từ các phân vùng bộ nhớ NAND và một hệ thống khởi tạo sẽ xử lý tất cả phần còn lại của công việc tải hệ thống. Yếu tố trung tâm ở đây là ứng dụng init và cấu hình init.rc của nó, mà tôi sẽ thảo luận chi tiết sau. Trong thời gian chờ đợi, tôi muốn thu hút sự chú ý của bạn đến bộ sạc và tệp ueventd.rc, cũng như các thư mục sbin, proc và sys.

Tệp bộ sạc là một ứng dụng nhỏ với mục đích duy nhất là hiển thị biểu tượng pin. Nó không liên quan gì đến Android và được sử dụng khi thiết bị được kết nối với bộ sạc ở trạng thái tắt. Trong trường hợp này, Android không khởi động và hệ thống chỉ cần tải hạt nhân, kết nối đĩa RAM và khởi động bộ sạc. Sau đó hiển thị biểu tượng pin, hình ảnh của biểu tượng này ở tất cả các trạng thái có thể được lưu trữ trong các tệp PNG thông thường bên trong thư mục res.

Tệp ueventd.rc là một cấu hình xác định tệp thiết bị nào trong thư mục sys sẽ được tạo tại thời điểm khởi động. Trên các hệ thống dựa trên nhân Linux, phần cứng được truy cập thông qua các tệp đặc biệt bên trong thư mục dev và daemon ueventd, là một phần của init, chịu trách nhiệm tạo chúng trên Android. Thông thường, nó hoạt động ở chế độ tự động, chấp nhận các lệnh để tạo tệp từ hạt nhân, nhưng một số tệp cần được tự tạo. Chúng được liệt kê trong ueventd.rc.

Thư mục sbin trong Android gốc thường không chứa bất kỳ thứ gì khác ngoài adbd, tức là trình nền ADB chịu trách nhiệm gỡ lỗi hệ thống từ PC. Nó được khởi chạy ở giai đoạn đầu của quá trình khởi động hệ điều hành và cho phép bạn xác định các sự cố có thể xảy ra ở giai đoạn khởi động hệ điều hành. Trong phần sụn tùy chỉnh trong thư mục này, bạn có thể tìm thấy một loạt các tệp khác, ví dụ như mke2fs, có thể được yêu cầu nếu phân vùng cần được định dạng lại thành ext3 / 4. Ngoài ra, các modder thường đặt BusyBox ở đó, bạn có thể gọi hàng trăm lệnh Linux.

Thư mục proc cho Linux là tiêu chuẩn, trong giai đoạn tiếp theo của khởi động init sẽ đính kèm procfs, một hệ thống tệp ảo cung cấp quyền truy cập thông tin về tất cả các tiến trình trong hệ thống. Hệ thống sẽ kết nối sysfs với thư mục sys, thư mục này mở ra quyền truy cập vào thông tin về phần cứng và cài đặt của nó. Ví dụ: sử dụng sysfs, bạn có thể đặt thiết bị ở chế độ ngủ hoặc thay đổi thuật toán tiết kiệm năng lượng đã sử dụng.

Tệp build.prop dùng để lưu trữ các cài đặt Android cấp thấp. Sau đó, hệ thống sẽ đặt lại các cài đặt này và ghi đè chúng bằng các giá trị từ tệp system / build.prop, chưa có sẵn.


Phần gốc của OUYA TV box


Bước hai, thay thế. Phần phục hồi

Trong trường hợp cờ khởi động khôi phục trong phần misc được đặt hoặc người dùng bật điện thoại thông minh với phím giảm âm lượng được nhấn, trên tàu sẽ chuyển quyền điều khiển đến mã nằm ở đầu phần khôi phục. Giống như phân vùng khởi động, nó chứa hạt nhân và một đĩa RAM, được giải nén vào bộ nhớ và trở thành gốc của hệ thống tập tin. Tuy nhiên, nội dung của đĩa RAM hơi khác ở đây.

Không giống như phân vùng khởi động, hoạt động như một liên kết chuyển tiếp giữa các giai đoạn khởi động hệ điều hành khác nhau, phân vùng khôi phục hoàn toàn khép kín và chứa một hệ điều hành thu nhỏ không liên quan gì đến Android. Phục hồi có nhân riêng, bộ ứng dụng (lệnh) riêng và giao diện riêng cho phép người dùng kích hoạt các chức năng dịch vụ.

Trong phục hồi tiêu chuẩn (cổ phiếu), thường chỉ có ba chức năng như vậy: cài đặt chương trình cơ sở được ký bằng khóa của nhà sản xuất điện thoại thông minh, xóa và khởi động lại. Phục hồi bên thứ ba đã sửa đổi như ClockworkMod và TWRP có nhiều tính năng hơn. Họ biết cách định dạng hệ thống tệp, cài đặt phần sụn được ký bằng bất kỳ khóa nào (đọc: tùy chỉnh), gắn kết hệ thống tệp trên các phân vùng khác (để gỡ lỗi hệ điều hành) và bao gồm hỗ trợ tập lệnh tự động hóa quá trình phần sụn và nhiều chức năng khác.

Ví dụ: bằng cách sử dụng các tập lệnh, bạn có thể đảm bảo rằng sau khi tải xuống, khôi phục sẽ tự động tìm thấy phần sụn cần thiết trên thẻ nhớ, cài đặt chúng và khởi động lại vào Android. Tính năng này được sử dụng bởi Trình quản lý ROM, các công cụ tự động nhấp nháy, cũng như cơ chế cập nhật tự động cho CyanogenMod và phần sụn khác.

Phục hồi tùy chỉnh cũng hỗ trợ các tập lệnh sao lưu nằm trong thư mục /system/addon.d/. Trước khi nhấp nháy, khôi phục sẽ kiểm tra các tập lệnh và thực thi chúng trước khi nhấp nháy. Nhờ các tập lệnh như vậy, gapps không biến mất sau khi cài đặt phiên bản phần sụn mới.

Bước thứ ba. Khởi tạo

Vì vậy, sau khi nhận được quyền kiểm soát, hạt nhân kết nối đĩa RAM và sau khi hoàn thành việc khởi tạo tất cả các hệ thống con và trình điều khiển của nó sẽ bắt đầu quá trình init, từ đó quá trình khởi tạo Android bắt đầu. Như tôi đã nói trước đây, init có một tệp cấu hình init.rc, từ đó quá trình tìm hiểu chính xác những gì nó nên làm để khởi động hệ thống. Trong điện thoại thông minh hiện đại, cấu hình này có độ dài ấn tượng là vài trăm dòng và cũng được trang bị một đoạn giới thiệu gồm một số cấu hình con được kết nối với cấu hình chính bằng cách sử dụng lệnh nhập. Tuy nhiên, định dạng của nó khá đơn giản và trên thực tế, là một tập hợp các lệnh, được chia thành các khối.

Mỗi khối xác định một giai đoạn tải hoặc, theo ngôn ngữ của các nhà phát triển Android, là một hành động. Các khối được ngăn cách với nhau bằng chỉ thị on theo sau là tên hành động, chẳng hạn như trên Early-init hoặc post-fs. Khối lệnh sẽ chỉ được thực thi nếu trình kích hoạt cùng tên được kích hoạt. Khi init khởi động, nó sẽ lần lượt kích hoạt các trình kích hoạt Early-init, init, early-fs, fs, post-fs, Early-boot và boot, kích hoạt các khối lệnh tương ứng.


Một phần của cấu hình init.rc từ CyanogenMod


Nếu tệp cấu hình kéo theo một vài cấu hình khác được liệt kê ở phần đầu (và điều này hầu như luôn xảy ra), thì các khối lệnh có cùng tên bên trong chúng sẽ được kết hợp với cấu hình chính, để khi trình kích hoạt được kích hoạt, init sẽ thực hiện các lệnh từ các khối tương ứng của tất cả các tệp. Điều này được thực hiện để thuận tiện cho việc tạo tệp cấu hình cho một số thiết bị, khi cấu hình chính chứa các lệnh chung cho tất cả các thiết bị và cụ thể cho từng thiết bị được ghi thành các tệp riêng biệt.

Đáng chú ý nhất trong số các cấu hình bổ sung là initrc.device_name.rc, trong đó tên thiết bị được xác định tự động dựa trên nội dung của biến hệ thống ro.hardware. Nó là một tệp cấu hình dành riêng cho nền tảng có chứa các khối lệnh dành riêng cho thiết bị. Ngoài các lệnh chịu trách nhiệm điều chỉnh hạt nhân, nó cũng chứa một lệnh như sau:

Mật mã:

Mount_all ./fstab.device_name

Điều này có nghĩa là init bây giờ sẽ gắn kết tất cả các hệ thống tệp được liệt kê trong. / Fstab.device_name, có cấu trúc sau:

Mật mã:

Device_name (phân vùng) mount_point file-system fs_options các tùy chọn khác

Nó thường chứa các hướng dẫn để kết nối hệ thống tệp từ các phân vùng NAND bên trong với thư mục / system (OS), / data (cài đặt ứng dụng) và / cache (dữ liệu được lưu trong bộ nhớ cache). Tuy nhiên, bằng cách sửa đổi một chút tệp này, chúng ta có thể buộc init khởi động hệ thống từ thẻ nhớ. Để làm điều này, chỉ cần chia thẻ nhớ thành ba 4 phân vùng: 1 GB / ext4, 2 GB / ext4, 1 GB / ext4 và dung lượng còn lại fat32. Tiếp theo, bạn cần xác định tên của các phân vùng thẻ nhớ trong thư mục / dev (chúng khác nhau đối với các thiết bị khác nhau) và thay thế chúng bằng tên thiết bị gốc trong tệp fstab.


Nội dung điển hình của tệp fstab


Ở cuối khối khởi động, init rất có thể sẽ gặp phải lệnh mặc định class_start, lệnh này sẽ thông báo cho bạn biết rằng sau đó bạn nên khởi động tất cả các dịch vụ được liệt kê trong cấu hình có liên quan đến lớp mặc định. Mô tả dịch vụ bắt đầu bằng một chỉ thị dịch vụ, theo sau là tên của dịch vụ và lệnh phải được thực thi để khởi động nó. Không giống như các lệnh được liệt kê trong các khối, các dịch vụ phải chạy mọi lúc, vì vậy trong suốt vòng đời của điện thoại thông minh, init sẽ treo ở chế độ nền và theo dõi nó.

Android hiện đại bao gồm hàng tá dịch vụ, nhưng hai trong số đó có trạng thái đặc biệt và quyết định toàn bộ vòng đời của hệ thống.

Bước bốn. Zygote và app_process

Ở một giai đoạn tải nhất định, init sẽ gặp một khối như thế này ở cuối cấu hình:

Mật mã:

Service zygote / system / bin / app_process -Xzygote / system / bin --zygote --start-system-server class socket mặc định zygote stream 660 root system onrestart write / sys / android_power / request_state thức onrestart write / sys / power / state on onrestart khởi động lại phương tiện onrestart khởi động lại netd

Đây là mô tả về dịch vụ Zygote, một thành phần chính của bất kỳ hệ thống Android nào chịu trách nhiệm khởi tạo, khởi động các dịch vụ hệ thống, khởi động và dừng các ứng dụng tùy chỉnh và nhiều tác vụ khác. Zygote được khởi chạy bằng một ứng dụng nhỏ / system / bin / app_process, điều này được thấy rất rõ ràng trong phần cấu hình ở trên. Nhiệm vụ của app_proccess là khởi động máy ảo Dalvik, mã của máy này nằm trong thư viện được chia sẻ /system/lib/libandroid_runtime.so, sau đó khởi động Zygote trên đầu nó.

Khi tất cả điều này được thực hiện và Zygote được kiểm soát, nó bắt đầu xây dựng môi trường thời gian chạy Java bằng cách tải tất cả các lớp Java của khung công tác (hiện có hơn 2000 lớp trong số đó). Sau đó, nó khởi động system_server, bao gồm hầu hết các dịch vụ hệ thống cấp cao (được viết bằng Java), bao gồm Trình quản lý cửa sổ, Thanh trạng thái, Trình quản lý gói và quan trọng nhất là Trình quản lý hoạt động, trong tương lai sẽ chịu trách nhiệm nhận khởi động và tắt máy các tín hiệu.

Sau đó, Zygote mở socket / dev / socket / zygote và chuyển sang chế độ ngủ, chờ dữ liệu. Tại thời điểm này, Trình quản lý hoạt động đã khởi chạy trước đó sẽ gửi mục đích phát sóng Intent.CATEGORY_HOME để tìm ứng dụng chịu trách nhiệm tạo màn hình và đặt tên cho Zygote thông qua socket. Phần sau, lần lượt, phân nhánh và chạy ứng dụng trên máy ảo. Vậy thì, chúng ta có một màn hình nền trên màn hình, được tìm thấy bởi Trình quản lý hoạt động và được khởi động bởi Zygote, và một thanh trạng thái được khởi chạy bởi system_server như một phần của dịch vụ Thanh trạng thái. Sau khi chạm vào biểu tượng, màn hình sẽ gửi một ý định với tên của ứng dụng này, nó sẽ được nhận bởi Trình quản lý hoạt động và sẽ gửi lệnh khởi động ứng dụng đến daemon Zygote

Tất cả điều này có vẻ hơi khó hiểu, nhưng điều quan trọng nhất là hãy nhớ ba điều đơn giản:

  • Quá trình khởi động Android được chia thành hai giai đoạn chính: trước và sau Zygote. Trước khi khởi động Zygote, hệ thống khởi tạo các thành phần hệ điều hành cấp thấp. Đó là các hoạt động như kết nối (gắn) hệ thống tệp, khởi động các dịch vụ cấp thấp (ví dụ: rild, chịu trách nhiệm làm việc với modem GSM, SurfaceFlinger, điều khiển những gì được hiển thị trên màn hình, vold, kiểm soát tệp được kết nối hệ thống). Sau khi khởi động Zygote, nó bắt đầu khởi tạo các thành phần Java độc quyền, chiếm 80% hệ điều hành. Đặc biệt, điều này được sử dụng bởi khung công tác Xposed nổi tiếng, khi được cài đặt, sẽ thay thế app_process bằng phiên bản sửa đổi của chính nó, có khả năng chặn các cuộc gọi của bất kỳ lớp Java nào, thay thế chúng bằng bất kỳ lớp nào khác. Đây là lý do tại sao các mô-đun Xposed có rất nhiều tùy chọn để sửa đổi giao diện của Android. Trên thực tế, họ không thay đổi bất cứ điều gì trong hệ thống, mà chỉ đơn giản là buộc nó phải sử dụng các thành phần của bên thứ ba thay vì của chính họ.
  • Các ứng dụng Java không bao giờ được bắt đầu từ đầu. Khi Zygote nhận được yêu cầu khởi động ứng dụng từ Trình quản lý hoạt động, nó sẽ không khởi động một máy ảo mới mà chỉ đơn giản là fork, tức là sao chép chính nó và sau đó chạy ứng dụng được yêu cầu trên bản sao kết quả của máy ảo. Nguyên tắc hoạt động này cho phép, thứ nhất, giảm mức tiêu thụ bộ nhớ đến mức tối thiểu, vì khi phân nhánh Linux sao chép bộ nhớ ở chế độ sao chép-ghi-ghi (quy trình mới đề cập đến bộ nhớ của quy trình cũ) và thứ hai, tăng tốc đáng kể khởi chạy ứng dụng: quá trình này nhanh hơn nhiều so với việc khởi động một máy ảo mới và tải các lớp Java mà ứng dụng cần.
  • Ý định có mặt ở khắp mọi nơi trong Android. Các thành phần Android không bao giờ sử dụng thủ tục trực tiếp và các cuộc gọi lớp để giao tiếp với nhau. Thay vào đó, một hệ thống tin nhắn (ý định) được sử dụng, ngoài mức độ bảo mật cao, còn cung cấp nhiều tiện ích khác, chẳng hạn như khả năng gọi một ứng dụng mà không cần biết gì về nó. Ở trên, tôi đã viết rằng để khởi chạy máy tính để bàn, hệ thống cần gửi ý định Intent.CATEGORY_HOME, mà bất kỳ ứng dụng nào có khả năng thực hiện chức năng trình khởi chạy sẽ phản hồi. Nút Chia sẻ hoạt động theo cách tương tự, cũng như nhiều thành phần hệ thống khác.