
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.
Đ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ọ.
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ổ.
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).
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