• Skip to main content
  • Skip to secondary menu
  • Giới Thiệu
  • Điều khoản và Điều kiện
  • Chính sách bảo mật
  • Miễn Trừ Trách Nhiệm
  • Liên Hệ
TipsTech.vn

TipsTech.vn

Thông tin và Thủ thuật công nghệ

  • Khám Phá
  • Apps & Game
  • Thủ Thuật
  • Công Nghệ
  • Mobile
  • Đồ Chơi Số
  • Thêm
    • Đồ Gia Dụng
    • Phim Ảnh
    • Crypto
    • Cosplay
    • Esports
    • Gift Code
Home » Tại sao Android lại ít được cập nhật phần mềm? Đây là câu trả lời từ chính đội ngũ phát triển Android tại Google

Tại sao Android lại ít được cập nhật phần mềm? Đây là câu trả lời từ chính đội ngũ phát triển Android tại Google

January 28, 2023 by Trần Tiến

Nội Dung

  • Một người dùng Reddit đã hỏi tại sao các hãng điện thoại Android cập nhật phần mềm chậm. Và câu trả lời chi tiết của lập trình viên Google cho chúng ta biết thêm.
Rate this post

Một người dùng Reddit đã hỏi tại sao các hãng điện thoại Android cập nhật phần mềm chậm. Và câu trả lời chi tiết của lập trình viên Google cho chúng ta biết thêm.

Mới đây, nhóm phát triển Android đã tổ chức AMA (Ask Me Anything) trên mạng xã hội Reddit nhân dịp Android 11 phát hành. Một người dùng đã đặt câu hỏi về nguyên nhân của vấn đề hiện tại. qua các năm trên các mẫu điện thoại Android: tần suất cập nhật, đặc biệt là so với Apple. Và câu trả lời đơn giản và chi tiết từ lập trình viên đến từ Google – Iliyan Malchev – đã giải đáp phần nào những thắc mắc trong nhiều năm qua cho chúng ta. Sau đây là tóm tắt câu trả lời của Malchev.

Tại sao Android hiếm khi nhận được bản cập nhật phần mềm?  Đây là câu trả lời từ chính nhóm phát triển Android của Google - Ảnh 1.

Điểm mấu chốt ở đây là vấn đề cơ bản mà các nhà sản xuất (OEM) gặp phải với các bản cập nhật: chi phí. Mỗi OEM đều muốn thiết bị của họ có thể cập nhật trong suốt vòng đời của thiết bị. Nhưng họ bị hạn chế bởi những lựa chọn kinh tế khó khăn, thể hiện qua các loại chi phí. Vì vậy, để tăng tốc độ cập nhật, chúng tôi tập trung vào việc giảm các chi phí đó.

Câu hỏi đặt ra là tại sao chi phí cập nhật lại cao như vậy? Đối với chúng tôi, câu trả lời có thể bao gồm những điều sau:

– Android là phần mềm mã nguồn mở và cho phép tùy biến

– Hệ sinh thái Android rất rộng lớn

– Với mọi thiết bị, có một số công ty tham gia vào quá trình sản xuất

– Các nhà cung cấp dịch vụ phải tính phí chứng chỉ cho mỗi bản cập nhật lớn

Hai nguyên nhân đầu tiên có thể được coi là đặc trưng của Android, trong khi hai nguyên nhân còn lại là các vấn đề chung. Lý do thứ ba có phần phổ biến hơn với hệ sinh thái Android. Kết hợp ba nguyên nhân đầu tiên nguyên nhân thứ tư: chi phí chứng nhận cao hơn.

Android là phần mềm mã nguồn mở:

Mọi dự án mã nguồn mở, như tên của nó, đều cho phép thực hiện các chỉnh sửa và thay đổi. Tính linh hoạt trong vấn đề này là đặc tính cốt lõi của Hệ điều hành (OS) Android. Đó cũng là một trong những lý do chính khiến Android có thể thành công như vậy. Tất nhiên, khi nhóm của chúng tôi tại Google tung ra phiên bản mới của hệ điều hành Android, chúng tôi thực sự chỉ phát hành phiên bản AOSP (Android Open Source Project) ở dạng mã nguồn.

Điều quan trọng cần chỉ ra: Phiên bản AOSP Không phải là sản phẩm cuối cùng (để tiếp cận người dùng). Có thể coi đây là sứ mệnh giới thiệu một dạng cốt lõi của HĐH, với tất cả các thành phần tạo nên Android Android: môi trường ART, hệ thống quản lý hoạt động, trình quản lý cửa sổ và các gói phần mềm. hệ thống con đa phương tiện, cảm biến, máy ảnh, logic khởi tạo, v.v … những thứ như vậy.

Bản phát hành AOSP cũng bao gồm các phiên bản mã nguồn mở của nhiều thành phần hệ điều hành mà người dùng cuối sẽ tương tác nhiều hơn, chẳng hạn như giao diện hệ thống hoặc Trình khởi chạy ứng dụng, nhiều ứng dụng, v.v. sử dụng bổ sung. Nhưng đây chỉ là những phiên bản mã nguồn mở để tham khảo và chúng tôi không có ý định sử dụng chúng trên bất kỳ thiết bị nào để tiếp cận người dùng.

Android có khả năng tùy chỉnh:

Khi chúng tôi phát hành phiên bản AOSP, chúng tôi muốn nó trở thành tài liệu tham khảo. OEM cũng như các nhà sản xuất bộ vi xử lý silicon có toàn quyền quyết định điều chỉnh mã nguồn này để phù hợp với nhu cầu sản phẩm của họ, miễn là họ vượt qua một loạt các bài kiểm tra, để đảm bảo những điều chỉnh này không can thiệp vào hoạt động của HĐH, điều có thể gây ra ứng dụng không hoạt động. Hầu hết các đối tác của chúng tôi tận dụng sự linh hoạt này để tạo sự khác biệt cho sản phẩm của họ.

Tùy chỉnh sẽ có chi phí bảo trì:

Tôi phải nhắc lại, điều này đúng với mọi dự án mã nguồn mở. Bạn sử dụng một bản phát hành, thực hiện nhiều thay đổi và sau đó phát hành lại phiên bản đã thay đổi (ngay cả các hạt nhân của Hệ điều hành Linux cũng thường bị thay đổi theo cách này). Khi bản phát hành tiếp theo (của mã gốc) được phát hành, bạn phải chuyển hoặc cấu trúc lại hoàn toàn phần mã cũ của các thay đổi bạn đã thực hiện. Việc này tốn rất nhiều thời gian và công sức, thời gian và công sức là chi phí.

Sẽ có 2 cách chính để giảm chi phí: cách thứ nhất là bạn (trong trường hợp này là các OEM) đóng góp những thay đổi của mình cho toàn bộ dự án mã nguồn mở, để chi phí phát triển được giảm xuống. sinh sẽ được bao gồm trong (chi phí của) dự án chính và mọi người sẽ chịu trách nhiệm về phần thay đổi của bạn. Đây là cách cộng đồng nhân Linux hoạt động. Nhưng trường hợp của Android thì khác. Rõ ràng, nhiều tùy chỉnh đối với cơ sở mã nguồn của Android là độc quyền (của các nhà cung cấp), điều này khiến chúng không được cập nhật (bởi Nhóm phát triển Android). Điều này có nghĩa là các đối tác của chúng tôi hoàn toàn chịu trách nhiệm cập nhật những thay đổi của họ.

Tại sao Android hiếm khi nhận được bản cập nhật phần mềm?  Đây là câu trả lời từ chính nhóm phát triển Android của Google - Ảnh 2.

Nhóm phát triển Android luôn chia sẻ mã nguồn AOSP

Bạn có thể nói: “Sau đó, không thực hiện bất kỳ thay đổi nào (từ bản gốc) và bạn sẽ không phải chuyển đổi chúng mỗi khi cập nhật.”. Nhưng đó không phải là cách Android hoạt động: bản sắc của chúng tôi là tính linh hoạt và đa dạng, đồng thời chúng tôi muốn cho phép các đối tác của mình tận dụng tối đa điều này.

Một giải pháp khác để giảm chi phí là tạo ra một nền tảng trung gian giữa thực hiện thay đổi ở mọi nơi và không thay đổi ở tất cả. Cụ thể hơn, chúng tôi tạo ranh giới – giao thức giữa các thành phần – và phải đạt được thỏa thuận chung rõ ràng với các đối tác của mình: phải xác định rõ ràng loại thành phần nào họ có thể (và sẽ) điều chỉnh, không làm mất tính linh hoạt và các loại thành phần phải được giữ hoàn toàn giống nhau giữa tất cả các cá thể trong hệ sinh thái.

Từ đó, chúng tôi tạo ra 2 dự án để giải quyết vấn đề cập nhật: Project Treble và Project Mainline. Hai dự án này đều nhằm giải quyết vấn đề ranh giới nêu trên, theo những cách khác nhau nhưng bổ sung cho nhau.

Treble dự án:

Với dự án Treble, chúng tôi đang tìm cách tạo ra các giao thức mạnh mẽ giữa các thành phần độc lập với phần cứng của HĐH và các phần quan tâm đến phần cứng. Chúng tôi thường đề cập đến loại đầu tiên trong tài liệu chính thức dưới tên “khuôn khổ”, hoặc “hình ảnh hệ thống”, hoặc “Hệ điều hành lõi”. Loại thứ hai mà chúng tôi thường gọi là “hình ảnh nhà cung cấp” hoặc “HALs” (Lớp trừu tượng phần cứng).

Làm như vậy có ích gì? Một câu trả lời đề cập đến một gạch đầu dòng ở trên: “Hệ sinh thái Android rất lớn”. Đối với một nhà sản xuất điện thoại Android (OEM), để sản xuất một thiết bị, họ phải sử dụng một hệ thống trên chip (SoC – System on Chip, bao gồm bộ xử lý và cách các thiết bị ngoại vi trên thiết bị). cùng một khuôn chip) từ một nhà sản xuất chip silicon, chẳng hạn như Qualcomm, Mediatek, Unisoc hoặc Rockchip. Nhưng nhà sản xuất chip không chỉ cung cấp SoC cho các OEM này, họ còn phải cung cấp một môi trường phát triển với nó, được gọi là BSP (Board Support Package). . Bản thân BSP cũng là một phiên bản của Android! So với phiên bản AOSP, nó có nhiều tinh chỉnh để thêm các tính năng như khả năng gọi điện (ví dụ: thực hiện cuộc gọi 4G hoặc 5G) hoặc hỗ trợ các thành phần phần cứng cụ thể của SoC đó và cũng để thêm giá trị cụ thể cho SoC và OEM sử dụng SoC (ví dụ: cho một thị trường cụ thể). Nói chung, BSP cung cấp phiên bản Android cho nhà sản xuất, phiên bản này cần thiết để có thể sản xuất bất kỳ thiết bị nào sử dụng SoC đó. Các chỉnh sửa trong phiên bản BSP này thường xảy ra ở các lớp dưới của hệ điều hành.

Sau đó, các OEM sẽ nhận được BSP và tiếp tục thực hiện các thay đổi đối với mã nguồn để hoạt động trên thiết bị của họ. Không giống như BSP, những thay đổi này thường diễn ra ở các lớp trên của hệ điều hành Android, chẳng hạn như Cài đặt, trình khởi chạy ứng dụng hoặc trình quản lý cửa sổ.

Tại sao Android hiếm khi nhận được bản cập nhật phần mềm?  Đây là câu trả lời từ chính nhóm phát triển Android của Google - Ảnh 3.

Lượng người dùng cập nhật lên Android 9 nhiều hơn một phần nhờ dự án Treble

Với Project Treble, chúng tôi đã đánh giá sự phân tách này và nhận ra rằng nó đã tạo ra ranh giới tự nhiên giữa nhà sản xuất thiết bị và nhà sản xuất chip, nói chung là giữa phần “trừu tượng” của HĐH. Android và các phụ thuộc phần cứng của nó.

Các mục tiêu và kết quả nỗ lực của chúng tôi với Treble được liệt kê dưới đây, bao gồm:

– Để tạo tài liệu tham khảo có sẵn và được tiêu chuẩn hóa, không chỉ ở mã nguồn, mà ở dạng sản phẩm thực tế, cho tất cả các phiên bản Android. Chúng tôi gọi nó là Hình ảnh Hệ thống Chung (GSI).

– Các phiên bản GSI có thể tương thích ngược với các phiên bản BSP cũ hơn cho các nhà sản xuất

– Điều này sẽ cho phép OEM duy trì các thay đổi đối với phiên bản hệ thống của họ mà không xung đột với các lớp bên dưới (của HĐH).

Xem thêm:  Chung kết AOV Creator Premium League - Cuộc chiến của các Creators

Loại vải này có thể mở rộng, do đó cả nhà sản xuất chip và OEM đều có khả năng mở rộng giao thức cho các khối phần cứng cụ thể của họ.

Quan trọng nhất, từ góc độ chi phí, nỗ lực của chúng tôi sẽ tách chi phí bảo trì của OEM khỏi chi phí của nhà sản xuất chip, do đó giảm chi phí cho cả hai bên. . Dự án này đã có kết quả nhất định, được đăng trên blog của chúng tôi.

Dự án chính:

Dự án Mainline tiếp cận câu hỏi ranh giới theo một hướng khác. Nếu Treble sẽ nói “đây là một ranh giới, hãy điều chỉnh việc triển khai bằng cách nào đó, miễn là mọi thứ tiếp tục hoạt động trên ranh giới này”, thì Mainline sẽ nói: “đây là một tập hợp các ranh giới phân định một thành phần mà tất cả chúng ta nên đồng ý không làm.” Các thành phần thuộc loại này thường sẽ là những phần quan trọng nhất của hệ điều hành Android – từ các khía cạnh như tính ổn định, bảo mật và bảo vệ quyền riêng tư.

Chúng tôi gọi các thành phần này là mô-đun Mainline. Mô-đun Dòng chính là một đoạn mã nguồn có các thuộc tính sau:

– Trước khi Android (phiên bản) được phát hành, nó có thể được điều chỉnh bởi cả Google và các đối tác cùng nhau

– Sau khi phiên bản Android được phát hành sẽ hoàn toàn thống nhất với tất cả các thiết bị trong hệ sinh thái

– Chỉ thay đổi, cập nhật với những lỗi nghiêm trọng và liên quan đến bảo mật.

Chất lượng quyết định của một mô-đun Mainline là sự ổn định giữa tất cả các thiết bị. Với các mô-đun Mainline, tất cả chúng ta đều đồng ý rằng không có chỗ cho sự khác biệt có chủ ý (giữa các OEM). Project Mainline bắt đầu với Android 10 và hiện đã được giao trọng trách mang các bản vá cho ngày càng nhiều thiết bị, với tốc độ và chất lượng mà nếu không có nó sẽ không bao giờ có được. nó.

Tóm lại: Câu trả lời cho câu hỏi của bạn là: “chi phí bảo trì” là lý do dẫn đến khó cập nhật và giải pháp của chúng tôi đã (và sẽ tiếp tục) là một phương pháp giải quyết vấn đề. chủ thể thận trọng. Chúng tôi xác định ranh giới để giúp ngày càng nhiều phần của HĐH có thể được cập nhật nhanh hơn, mà không làm mất đi tính linh hoạt và sức mạnh mà danh tính mã nguồn mở của Android mang lại.


Vừa rồi, bạn vừa mới đọc xong bài viết về
Tại sao Android lại ít được cập nhật phần mềm? Đây là câu trả lời từ chính đội ngũ phát triển Android tại Google

tại Tips Tech.
Hy vọng rằng những kiến thức trong bài viết
Tại sao Android lại ít được cập nhật phần mềm? Đây là câu trả lời từ chính đội ngũ phát triển Android tại Google

sẽ làm cho bạn để tâm hơn tới vấn đề
Tại sao Android lại ít được cập nhật phần mềm? Đây là câu trả lời từ chính đội ngũ phát triển Android tại Google

hiện nay.
Hãy cũng với Tip Techs khám phá thêm nhiều bài viết về
Tại sao Android lại ít được cập nhật phần mềm? Đây là câu trả lời từ chính đội ngũ phát triển Android tại Google

nhé.

Bài viết
Tại sao Android lại ít được cập nhật phần mềm? Đây là câu trả lời từ chính đội ngũ phát triển Android tại Google

đăng bởi vào ngày 2022-07-30 12:08:41. Cảm ơn bạn đã bỏ thời gian đọc bài tại Tips Tech

Nguồn: genk.vn

Xem thêm về
Tại sao Android lại ít được cập nhật phần mềm? Đây là câu trả lời từ chính đội ngũ phát triển Android tại Google

#Tại #sao #Android #lại #ít #được #cập #nhật #phần #mềm #Đây #là #câu #trả #lời #từ #chính #đội #ngũ #phát #triển #Android #tại #Google
Một người dùng Reddit đã hỏi tại sao các hãng điện thoại Android chậm cập nhật phần mềm. Và câu trả lời chi tiết của lập trình viên Google đã cho chúng ta biết thêm nhiều điều.

#Tại #sao #Android #lại #ít #được #cập #nhật #phần #mềm #Đây #là #câu #trả #lời #từ #chính #đội #ngũ #phát #triển #Android #tại #Google

Vừa qua, đội ngũ phát triển Android đã tổ chức 1 buổi AMA (Ask Me Anything) trên mạng xã hội Reddit nhân dịp ra mắt phiên bản Android 11. Một người dùng đã đặt ra câu hỏi về nguyên nhân của vấn đề nhức nhối tồn tại nhiều năm trên các mẫu điện thoại Android: mức độ thường xuyên của các bản cập nhật, nhất là so với Apple. Và câu trả lời thẳng thắn và chi tiết của một lập trình viên từ Google – Iliyan Malchev – đã phần nào giải đáp thắc mắc suốt nhiều năm qua cho chúng ta. Sau đây là phần lược dịch câu trả lời của Malchev. Điểm cốt yếu ở đây là vấn đề cơ bản mà các nhà sản xuất (OEM) gặp phải với các bản cập nhật: chi phí. Mọi OEM đều muốn thiết bị của mình có khả năng được cập nhật trong suốt vòng đời sử dụng. Nhưng họ bị hạn chế bởi những lựa chọn kinh tế khó khăn, thể hiện qua các loại chi phí. Vì vậy, để tăng tốc độ cập nhật, chúng tôi tập trung vào việc giảm những chi phí ấy. Câu hỏi được đặt ra là, tại sao chi phí cập nhật lại cao? Với chúng tôi, câu trả lời có thể bao gồm các phần sau:- Android là phần mềm mã nguồi mở và cho phép tùy biến- Hệ sinh thái Android là rất rộng lớn- Với mọi thiết bị, đều có vài công ty tham gia quá trình sản xuất- Các nhà mạng phải tốn phí chứng chỉ cho mọi bản cập nhật lớnHai nguyên nhân đầu tiên có thể coi là đặc thù với Android, còn 2 nguyên nhân còn lại là vấn đề chung. Nguyên nhân thứ 3 thì có phần phổ biến hơn với hệ sinh thái Android. Kết hợp 3 nguyên nhân đầu tiên dẫn tới nguyên nhân thứ 4: chi phí chứng chỉ cao hơn.Android là phần mềm mã nguồn mở:Mọi dự án mã nguồn mở, đúng như tên gọi của nó, đều cho phép những điều chỉnh, thay đổi được thực hiện. Sự linh hoạt trong vấn đề này là một tính chất cốt lõi của Hệ điều hành (HĐH) Android. Đó cũng là một trong những nguyên nhân chính tại sao Android lại có thể thành công như vậy. Khi đội ngũ chúng tôi ở Google tung ra một phiên bản mới của HĐH Android, chúng tôi thực ra chỉ phát hành phiên bản AOSP (Android Open Source Project – Dự án Android mã nguồn mở), tất nhiên là dưới dạng mã nguồn.Điều quan trọng cần phải chỉ ra là: phiên bản AOSP không phải là một sản phẩm cuối cùng (để tới tay người dùng). Có thể coi là nó mang sứ mệnh giới thiệu một dạng lõi cho HĐH, với mọi thành phần khiến Android là Android: môi trường ART, các hệ thống quản lí hoạt động, quản lí cửa sổ và các gói phần mềm (package), các hệ thống phụ về đa phương tiện, các cảm biến, máy ảnh, logic khởi tạo,v.v… những thứ như thế.Bản phát hành AOSP cũng bao gồm các phiên bản mã nguồn mở của nhiều thành phần của HĐH mà người dùng cuối (end user) sẽ tương tác nhiều hơn như giao diện hệ thống hay trình khởi chạy ứng dụng (App Launcher), nhiều ứng dụng bổ sung nữa. Nhưng đây chỉ là những phiên bản mã nguồn mở mang tính tham chiếu, và chúng tôi không hề định sử dụng chúng trên bất cứ thiết bị nào tới tay người dùng.Android có khả năng tùy biến:Khi chúng tôi phát hành một phiên bản AOSP, chúng tôi muốn nó trở thành một bản tham chiếu. Các OEM cũng như các nhà sản xuất vi xử lí silicon có toàn quyền điều chỉnh mã nguồn này để phù hợp với nhu cầu của họ về sản phẩm, miễn là họ vượt qua một bộ những bài kiểm tra, để chắc chắn rằng những điều chỉnh này không can thiệp vào hành vi của HĐH, điều có thể gây ra việc các ứng dụng không hoạt động. Hầu hết các đối tác của chúng tôi đều tận dụng sự linh hoạt này để tạo nên sự khác biệt cho các sản phẩm của họ.Tùy biến sẽ có chi phí duy trì: Tôi phải nhắc lại một lần nữa, điều này là đúng với mọi dự án mã nguồn mở. Bạn sử dụng một bản phát hành (release), thực hiện nhiều thay đổi, rồi sau đó lại phát hành phiên bản đã được thay đổi (ngay cả các kernel – lõi của HĐH Linux cũng thường được thay đổi theo cách này). Khi mà bản phát hành tiếp theo (của mã nguồn gốc) được đưa ra, bạn phải chuyển đổi (port) hoặc hoàn toàn tái cấu trúc lại phần mã lệnh cũ của những thay đổi bạn đã thực hiện. Việc này rất tốn thời gian và công sức, mà thời gian và công sức chính là chi phí.Sẽ có 2 cách khắc phục chính để giảm thiểu chi phí: cách đầu tiên là bạn (ví dụ như trong trường hợp này là các OEM) đóng góp những thay đổi của mình vào cả dự án mã nguồn mở, từ đó chi phí phát sinh sẽ được bao hàm bên trong (chi phí của) dự án chính và tất cả mọi người sẽ chịu trách nhiệm về phần thay đổi của bạn. Đây là cách mà cộng đồng Linux kernel hoạt động. Nhưng trường hợp của Android thì lại khác. Điều hiển nhiên là rất nhiều tùy chỉnh đối với mã nguồn cơ sở của Android là độc quyền (bởi các hãng), chính điều này đã ngăn cản chúng được cập nhật (bởi Android Dev Team). Điều này đồng nghĩa với việc, các đối tác của chúng tôi phải tự chịu trách nhiệm việc cập nhật những thay đổi của họ.Đội ngũ phát triển Android vẫn luôn chia sẻ mã nguồn AOSPBạn có thể nói: “Thế thì đừng tạo ra thay đổi gì (so với nguyên gốc) cả, và các anh sẽ chẳng phải chuyển đổi chúng mỗi khi cập nhật.”. Nhưng đó không phải là cách Android hoạt động: bản sắc của chúng tôi là sự linh hoạt và sự đa dạng, và chúng tôi muốn tạo điều kiện cho các đối tác của mình tận dụng tối đa khả năng này.Một giải pháp khác để giảm thiểu chi phí là tạo ra một khoảng trung hòa giữa việc tạo ra thay đổi ở mọi nơi và không thay đổi gì cả. Cụ thể hơn, chúng tôi tạo ra những ranh giới – những giao thức giữa các thành phần – và phải đạt được một thỏa thuận chung rõ ràng với các đối tác: phải xác định rõ những loại thành phần họ có thể (và sẽ) điều chỉnh, không hề đánh mất sự linh hoạt, và những loại thành phần mà phải được giữ hoàn toàn tương tự giữa mọi cá thể trong hệ sinh thái.Từ đó, chúng tôi đã tạo ra 2 dự án để giải quyết vấn đề cập nhật: Project Treble và Project Mainline. Hai dự án này đều nhằm giải quyết vấn đề ranh giới đã đề cập bên trên, theo cách khác nhau nhưng lại bổ khuyết được cho nhau.Project Treble:Với dự án Treble, chúng tôi tìm cách để tạo nên những giao thức chắc chắn giữa các thành phần không phụ thuộc vào phần cứng của HĐH, và những phần mà cần để tâm tới phần cứng. Chúng tôi thường nhắc tới loại đầu tiên trong tài liệu chính thức dưới tên gọi “chương trình khung” (framework), hay “bản hệ thống” (system image), hoặc “HĐH Lõi” (Core OS). Loại thứ hai thì chúng tôi thường đề cập đến như là “bản cho nhà cung cấp” (vendor image) hay “các HAL” (Hardware Abstraction Layer – lớp trừu tượng hóa phần cứng).Làm như vậy có ích gì? Câu trả lời giúp giải quyết một gạch đầu dòng ở bên trên: “Hệ sinh thái Android rất rộng lớn”. Với một nhà sản xuất điện thoại Android (một OEM), để sản xuất một thiết bị, họ phải sử dụng một hệ thống trên vi mạch (SoC – System on Chip, bao gồm bộ vi xử lí và cách thiết bị ngoại vi trên cùng một khuôn chip) từ một nhà sản xuất chip silicon, ví dụ như Qualcomm, Mediatek, Unisoc hay Rockchip. Nhưng nhà sản xuất chip không chỉ cung cấp SoC cho các OEM này, mà họ cũng phải cung cấp cả một môi trường phát triển cùng với nó, được gọi là BSP (Board Support Package – gói (phần mềm) hỗ trợ bảng mạch). Chính BSP cũng là một phiên bản của Android! So với bản AOSP, nó chứa nhiều tinh chỉnh để có thêm các tính năng như khả năng gọi điện (ví dụ như thực hiện cuộc gọi 4G hay 5G), hay để hỗ trợ các thành phần phần cứng đặc trưng của SoC đó, và cũng để thêm giá trị đặc trưng cho SoC và OEM sử dụng SoC đó (ví dụ như cho riêng thị trường nào đó chẳng hạn). Nhìn chung, BSP cung cấp một phiên bản Android cho nhà sản xuất, điều kiện cần để có thể sản xuất bất cứ thiết bị nào sử dụng SoC đó. Những tinh chỉnh ở phiên bản BSP này lại thường xảy ra ở các tầng thấp hơn của hệ điều hành.Sau đó, các OEM sẽ nhận được BSP rồi tiếp tục thực hiện những thay đổi mã nguồn để hoạt động được trên những thiết bị của họ. Không như BSP, những thay đổi này thường diễn ra ở tầng trên của HĐH Android, ví dụ như phần Cài đặt, trình khởi chạy ứng dụng hay trình quản lí cửa sổ.Lượng người dùng cập nhật Android 9 là cao hơn hẳn một phần nhờ dự án TrebleVới dự án Treble, chúng tôi đánh giá sự chia tách này và nhận ra nó đã tạo nên một ranh giới tự nhiên giữa nhà sản xuất thiết bị và nhà sản xuất chip, và tổng quát hơn là giữa phần “trừu tượng” của HĐH Android và phần phụ thuộc phần cứng của nó.Mục tiêu và kết quả của những nỗ lực của chúng tôi với Treble được liệt kê dưới đây, bao gồm:- Để tạo ra một bản tham chiếu sẵn có và được chuẩn hóa, không chỉ ở dạng mã nguồn, mà ở dạng một sản phẩm thực, cho mọi phiên bản Android. Chúng tôi gọi nó là phiên bản hệ thống chung (Generic System Image – GSI)- Các bản GSI có thể tương thích ngược với các phiên bản BSP cũ hơn cho nhà sản xuất- Từ đó sẽ cho phép các OEM có thể duy trì những thay đổi của mình với các phiên bản hệ thống của họ mà không xung đột với những tầng bên dưới (của HĐH)- Kết cấu này có khả năng mở rộng, để cả nhà sản xuất chip và OEM có khả năng mở rộng giao thức cho những khối phần cứng đặc trưng của họ.Quan trọng nhất là, từ góc độ chi phí, những nỗ lực của chúng tôi sẽ tách riêng được chi phí duy trì của các OEM ra khỏi chi phí của các nhà sản xuất chip, và từ đó giúp giảm chi phí cho cả hai bên. Dự án này đã có những kết quả nhất định, được đăng tải trên blog của chúng tôi.Dự án Mainline:Dự án Mainline lại tiếp cận với câu hỏi về ranh giới theo một hướng khác. Nếu như Treble sẽ nói “đây là một ranh giới, chúng ta hãy tinh chỉnh cách thực hiện bằng một cách nào đó, miễn là mọi thứ tiếp tục hoạt động qua ranh giới này”, thì Mainline lại có hướng: “đây là một bộ các ranh giới phân định một thành phần mà tất cả chúng ta nên đồng ý không thực hiện điều chỉnh”. Những thành phần kiểu này thường sẽ là những phần quan trọng nhất của HĐH Android – từ các góc độ như độ ổn định, khả năng bảo mật và khả năng bảo vệ riêng tư.Chúng tôi gọi những thành phần này là các môđun Mainline (Mainline Module). Một môđun Mainline là một phần mã nguồn với các thuộc tính sau:- Trước khi (bản) Android được phát hành, có thể được cả Google và các đối tác chung tay điều chỉnh- Sau khi bản Android được phát hành, sẽ là hoàn toàn thống nhất với mọi thiết bị trong hệ sinh thái- Chỉ thay đổi, cập nhật với những lỗi nghiêm trọng và liên quan đến bảo mật.Phẩm chất quyết định của một môđun Mainline là sự ổn định giữa mọi thiết bị. Với các môđun Mainline, chúng tôi đều đồng ý rằng không có chỗ cho sự khác biệt có chủ đích (giữa các OEM). Dự án Mainline được bắt đầu với Android 10 và hiện đã được giao phó nhiệm vụ đưa những bản vá tới nhiều và nhiều hơn nữa các thiết bị, ở một tốc độ và chất lượng mà sẽ không bao giờ trở thành sự thực nếu không có nó.Tổng kết lại: Câu trả lời cho câu hỏi của bạn là: “chi phí duy trì” là lí do gây ra sự khó khăn cho việc cập nhật, và giải pháp của chúng tôi đã và đang (và sẽ tiếp tục) là một cách tiếp cận vấn đề thận trọng. Chúng tôi định nghĩa những ranh giới để khiến cho ngày càng nhiều phần của HĐH có thể được cập nhật một cách nhanh hơn, mà không phải hy sinh sự linh hoạt cũng như sức mạnh mà bản sắc mã nguồn mở của Android mang lại.Google đã giải quyết được vấn đề trầm kha của Android?

Xem thêm:  Sự tiến hóa trên giao diện của Samsung: từ TouchWiz đến Samsung Experience và One UI

#Tại #sao #Android #lại #ít #được #cập #nhật #phần #mềm #Đây #là #câu #trả #lời #từ #chính #đội #ngũ #phát #triển #Android #tại #Google
Một người dùng Reddit đã hỏi tại sao các hãng điện thoại Android chậm cập nhật phần mềm. Và câu trả lời chi tiết của lập trình viên Google đã cho chúng ta biết thêm nhiều điều.

#Tại #sao #Android #lại #ít #được #cập #nhật #phần #mềm #Đây #là #câu #trả #lời #từ #chính #đội #ngũ #phát #triển #Android #tại #Google

Vừa qua, đội ngũ phát triển Android đã tổ chức 1 buổi AMA (Ask Me Anything) trên mạng xã hội Reddit nhân dịp ra mắt phiên bản Android 11. Một người dùng đã đặt ra câu hỏi về nguyên nhân của vấn đề nhức nhối tồn tại nhiều năm trên các mẫu điện thoại Android: mức độ thường xuyên của các bản cập nhật, nhất là so với Apple. Và câu trả lời thẳng thắn và chi tiết của một lập trình viên từ Google – Iliyan Malchev – đã phần nào giải đáp thắc mắc suốt nhiều năm qua cho chúng ta. Sau đây là phần lược dịch câu trả lời của Malchev. Điểm cốt yếu ở đây là vấn đề cơ bản mà các nhà sản xuất (OEM) gặp phải với các bản cập nhật: chi phí. Mọi OEM đều muốn thiết bị của mình có khả năng được cập nhật trong suốt vòng đời sử dụng. Nhưng họ bị hạn chế bởi những lựa chọn kinh tế khó khăn, thể hiện qua các loại chi phí. Vì vậy, để tăng tốc độ cập nhật, chúng tôi tập trung vào việc giảm những chi phí ấy. Câu hỏi được đặt ra là, tại sao chi phí cập nhật lại cao? Với chúng tôi, câu trả lời có thể bao gồm các phần sau:- Android là phần mềm mã nguồi mở và cho phép tùy biến- Hệ sinh thái Android là rất rộng lớn- Với mọi thiết bị, đều có vài công ty tham gia quá trình sản xuất- Các nhà mạng phải tốn phí chứng chỉ cho mọi bản cập nhật lớnHai nguyên nhân đầu tiên có thể coi là đặc thù với Android, còn 2 nguyên nhân còn lại là vấn đề chung. Nguyên nhân thứ 3 thì có phần phổ biến hơn với hệ sinh thái Android. Kết hợp 3 nguyên nhân đầu tiên dẫn tới nguyên nhân thứ 4: chi phí chứng chỉ cao hơn.Android là phần mềm mã nguồn mở:Mọi dự án mã nguồn mở, đúng như tên gọi của nó, đều cho phép những điều chỉnh, thay đổi được thực hiện. Sự linh hoạt trong vấn đề này là một tính chất cốt lõi của Hệ điều hành (HĐH) Android. Đó cũng là một trong những nguyên nhân chính tại sao Android lại có thể thành công như vậy. Khi đội ngũ chúng tôi ở Google tung ra một phiên bản mới của HĐH Android, chúng tôi thực ra chỉ phát hành phiên bản AOSP (Android Open Source Project – Dự án Android mã nguồn mở), tất nhiên là dưới dạng mã nguồn.Điều quan trọng cần phải chỉ ra là: phiên bản AOSP không phải là một sản phẩm cuối cùng (để tới tay người dùng). Có thể coi là nó mang sứ mệnh giới thiệu một dạng lõi cho HĐH, với mọi thành phần khiến Android là Android: môi trường ART, các hệ thống quản lí hoạt động, quản lí cửa sổ và các gói phần mềm (package), các hệ thống phụ về đa phương tiện, các cảm biến, máy ảnh, logic khởi tạo,v.v… những thứ như thế.Bản phát hành AOSP cũng bao gồm các phiên bản mã nguồn mở của nhiều thành phần của HĐH mà người dùng cuối (end user) sẽ tương tác nhiều hơn như giao diện hệ thống hay trình khởi chạy ứng dụng (App Launcher), nhiều ứng dụng bổ sung nữa. Nhưng đây chỉ là những phiên bản mã nguồn mở mang tính tham chiếu, và chúng tôi không hề định sử dụng chúng trên bất cứ thiết bị nào tới tay người dùng.Android có khả năng tùy biến:Khi chúng tôi phát hành một phiên bản AOSP, chúng tôi muốn nó trở thành một bản tham chiếu. Các OEM cũng như các nhà sản xuất vi xử lí silicon có toàn quyền điều chỉnh mã nguồn này để phù hợp với nhu cầu của họ về sản phẩm, miễn là họ vượt qua một bộ những bài kiểm tra, để chắc chắn rằng những điều chỉnh này không can thiệp vào hành vi của HĐH, điều có thể gây ra việc các ứng dụng không hoạt động. Hầu hết các đối tác của chúng tôi đều tận dụng sự linh hoạt này để tạo nên sự khác biệt cho các sản phẩm của họ.Tùy biến sẽ có chi phí duy trì: Tôi phải nhắc lại một lần nữa, điều này là đúng với mọi dự án mã nguồn mở. Bạn sử dụng một bản phát hành (release), thực hiện nhiều thay đổi, rồi sau đó lại phát hành phiên bản đã được thay đổi (ngay cả các kernel – lõi của HĐH Linux cũng thường được thay đổi theo cách này). Khi mà bản phát hành tiếp theo (của mã nguồn gốc) được đưa ra, bạn phải chuyển đổi (port) hoặc hoàn toàn tái cấu trúc lại phần mã lệnh cũ của những thay đổi bạn đã thực hiện. Việc này rất tốn thời gian và công sức, mà thời gian và công sức chính là chi phí.Sẽ có 2 cách khắc phục chính để giảm thiểu chi phí: cách đầu tiên là bạn (ví dụ như trong trường hợp này là các OEM) đóng góp những thay đổi của mình vào cả dự án mã nguồn mở, từ đó chi phí phát sinh sẽ được bao hàm bên trong (chi phí của) dự án chính và tất cả mọi người sẽ chịu trách nhiệm về phần thay đổi của bạn. Đây là cách mà cộng đồng Linux kernel hoạt động. Nhưng trường hợp của Android thì lại khác. Điều hiển nhiên là rất nhiều tùy chỉnh đối với mã nguồn cơ sở của Android là độc quyền (bởi các hãng), chính điều này đã ngăn cản chúng được cập nhật (bởi Android Dev Team). Điều này đồng nghĩa với việc, các đối tác của chúng tôi phải tự chịu trách nhiệm việc cập nhật những thay đổi của họ.Đội ngũ phát triển Android vẫn luôn chia sẻ mã nguồn AOSPBạn có thể nói: “Thế thì đừng tạo ra thay đổi gì (so với nguyên gốc) cả, và các anh sẽ chẳng phải chuyển đổi chúng mỗi khi cập nhật.”. Nhưng đó không phải là cách Android hoạt động: bản sắc của chúng tôi là sự linh hoạt và sự đa dạng, và chúng tôi muốn tạo điều kiện cho các đối tác của mình tận dụng tối đa khả năng này.Một giải pháp khác để giảm thiểu chi phí là tạo ra một khoảng trung hòa giữa việc tạo ra thay đổi ở mọi nơi và không thay đổi gì cả. Cụ thể hơn, chúng tôi tạo ra những ranh giới – những giao thức giữa các thành phần – và phải đạt được một thỏa thuận chung rõ ràng với các đối tác: phải xác định rõ những loại thành phần họ có thể (và sẽ) điều chỉnh, không hề đánh mất sự linh hoạt, và những loại thành phần mà phải được giữ hoàn toàn tương tự giữa mọi cá thể trong hệ sinh thái.Từ đó, chúng tôi đã tạo ra 2 dự án để giải quyết vấn đề cập nhật: Project Treble và Project Mainline. Hai dự án này đều nhằm giải quyết vấn đề ranh giới đã đề cập bên trên, theo cách khác nhau nhưng lại bổ khuyết được cho nhau.Project Treble:Với dự án Treble, chúng tôi tìm cách để tạo nên những giao thức chắc chắn giữa các thành phần không phụ thuộc vào phần cứng của HĐH, và những phần mà cần để tâm tới phần cứng. Chúng tôi thường nhắc tới loại đầu tiên trong tài liệu chính thức dưới tên gọi “chương trình khung” (framework), hay “bản hệ thống” (system image), hoặc “HĐH Lõi” (Core OS). Loại thứ hai thì chúng tôi thường đề cập đến như là “bản cho nhà cung cấp” (vendor image) hay “các HAL” (Hardware Abstraction Layer – lớp trừu tượng hóa phần cứng).Làm như vậy có ích gì? Câu trả lời giúp giải quyết một gạch đầu dòng ở bên trên: “Hệ sinh thái Android rất rộng lớn”. Với một nhà sản xuất điện thoại Android (một OEM), để sản xuất một thiết bị, họ phải sử dụng một hệ thống trên vi mạch (SoC – System on Chip, bao gồm bộ vi xử lí và cách thiết bị ngoại vi trên cùng một khuôn chip) từ một nhà sản xuất chip silicon, ví dụ như Qualcomm, Mediatek, Unisoc hay Rockchip. Nhưng nhà sản xuất chip không chỉ cung cấp SoC cho các OEM này, mà họ cũng phải cung cấp cả một môi trường phát triển cùng với nó, được gọi là BSP (Board Support Package – gói (phần mềm) hỗ trợ bảng mạch). Chính BSP cũng là một phiên bản của Android! So với bản AOSP, nó chứa nhiều tinh chỉnh để có thêm các tính năng như khả năng gọi điện (ví dụ như thực hiện cuộc gọi 4G hay 5G), hay để hỗ trợ các thành phần phần cứng đặc trưng của SoC đó, và cũng để thêm giá trị đặc trưng cho SoC và OEM sử dụng SoC đó (ví dụ như cho riêng thị trường nào đó chẳng hạn). Nhìn chung, BSP cung cấp một phiên bản Android cho nhà sản xuất, điều kiện cần để có thể sản xuất bất cứ thiết bị nào sử dụng SoC đó. Những tinh chỉnh ở phiên bản BSP này lại thường xảy ra ở các tầng thấp hơn của hệ điều hành.Sau đó, các OEM sẽ nhận được BSP rồi tiếp tục thực hiện những thay đổi mã nguồn để hoạt động được trên những thiết bị của họ. Không như BSP, những thay đổi này thường diễn ra ở tầng trên của HĐH Android, ví dụ như phần Cài đặt, trình khởi chạy ứng dụng hay trình quản lí cửa sổ.Lượng người dùng cập nhật Android 9 là cao hơn hẳn một phần nhờ dự án TrebleVới dự án Treble, chúng tôi đánh giá sự chia tách này và nhận ra nó đã tạo nên một ranh giới tự nhiên giữa nhà sản xuất thiết bị và nhà sản xuất chip, và tổng quát hơn là giữa phần “trừu tượng” của HĐH Android và phần phụ thuộc phần cứng của nó.Mục tiêu và kết quả của những nỗ lực của chúng tôi với Treble được liệt kê dưới đây, bao gồm:- Để tạo ra một bản tham chiếu sẵn có và được chuẩn hóa, không chỉ ở dạng mã nguồn, mà ở dạng một sản phẩm thực, cho mọi phiên bản Android. Chúng tôi gọi nó là phiên bản hệ thống chung (Generic System Image – GSI)- Các bản GSI có thể tương thích ngược với các phiên bản BSP cũ hơn cho nhà sản xuất- Từ đó sẽ cho phép các OEM có thể duy trì những thay đổi của mình với các phiên bản hệ thống của họ mà không xung đột với những tầng bên dưới (của HĐH)- Kết cấu này có khả năng mở rộng, để cả nhà sản xuất chip và OEM có khả năng mở rộng giao thức cho những khối phần cứng đặc trưng của họ.Quan trọng nhất là, từ góc độ chi phí, những nỗ lực của chúng tôi sẽ tách riêng được chi phí duy trì của các OEM ra khỏi chi phí của các nhà sản xuất chip, và từ đó giúp giảm chi phí cho cả hai bên. Dự án này đã có những kết quả nhất định, được đăng tải trên blog của chúng tôi.Dự án Mainline:Dự án Mainline lại tiếp cận với câu hỏi về ranh giới theo một hướng khác. Nếu như Treble sẽ nói “đây là một ranh giới, chúng ta hãy tinh chỉnh cách thực hiện bằng một cách nào đó, miễn là mọi thứ tiếp tục hoạt động qua ranh giới này”, thì Mainline lại có hướng: “đây là một bộ các ranh giới phân định một thành phần mà tất cả chúng ta nên đồng ý không thực hiện điều chỉnh”. Những thành phần kiểu này thường sẽ là những phần quan trọng nhất của HĐH Android – từ các góc độ như độ ổn định, khả năng bảo mật và khả năng bảo vệ riêng tư.Chúng tôi gọi những thành phần này là các môđun Mainline (Mainline Module). Một môđun Mainline là một phần mã nguồn với các thuộc tính sau:- Trước khi (bản) Android được phát hành, có thể được cả Google và các đối tác chung tay điều chỉnh- Sau khi bản Android được phát hành, sẽ là hoàn toàn thống nhất với mọi thiết bị trong hệ sinh thái- Chỉ thay đổi, cập nhật với những lỗi nghiêm trọng và liên quan đến bảo mật.Phẩm chất quyết định của một môđun Mainline là sự ổn định giữa mọi thiết bị. Với các môđun Mainline, chúng tôi đều đồng ý rằng không có chỗ cho sự khác biệt có chủ đích (giữa các OEM). Dự án Mainline được bắt đầu với Android 10 và hiện đã được giao phó nhiệm vụ đưa những bản vá tới nhiều và nhiều hơn nữa các thiết bị, ở một tốc độ và chất lượng mà sẽ không bao giờ trở thành sự thực nếu không có nó.Tổng kết lại: Câu trả lời cho câu hỏi của bạn là: “chi phí duy trì” là lí do gây ra sự khó khăn cho việc cập nhật, và giải pháp của chúng tôi đã và đang (và sẽ tiếp tục) là một cách tiếp cận vấn đề thận trọng. Chúng tôi định nghĩa những ranh giới để khiến cho ngày càng nhiều phần của HĐH có thể được cập nhật một cách nhanh hơn, mà không phải hy sinh sự linh hoạt cũng như sức mạnh mà bản sắc mã nguồn mở của Android mang lại.Google đã giải quyết được vấn đề trầm kha của Android?

Xem thêm:  Leaker nổi tiếng nhắc lại câu chuyện Apple tự làm giả thiết kế iPhone X có Touch ID để đánh lừa người dùng

Posted Under: Mobile

Copyright © 2023 by Tipstech.vn