Friday, July 9, 2021

Tệp AAB dành cho Android là gì và nó khác với APK như thế nào?

Có vẻ như AAB ở đây để tồn tại, trong khi Google loại bỏ các tệp APK. Bắt đầu từ tháng 8 năm 2021, các nhà phát triển sẽ phải tải các ứng dụng Android mới lên Cửa hàng Google Play ở định dạng AAB. Câu hỏi đặt ra là sự khác biệt giữa AAB và APK là gì? AAB tốt hơn hay kém hơn APK?

Kể từ khi ra mắt Android hơn một thập kỷ trước, tệp APK đã là định dạng chung cho các ứng dụng. Cho dù nhà phát triển hay người dùng, cho dù đó là trên Cửa hàng Google Play, APKMirror hay EFNet - thì đó luôn là APK được cung cấp. Đối với các nhà phát triển, AAB giờ đây sẽ trở thành bắt buộc và đối với người dùng Android, APK sẽ trở thành một vấn đề phức tạp hơn.

Tệp AAB dành cho Android là gì và nó khác với APK như thế nào

AAB sẽ trở thành bắt buộc đối với tất cả các ứng dụng mới kể từ tháng 8 năm 2021. Các bản cập nhật cho các ứng dụng hiện có vẫn có thể được các nhà phát triển tải lên ở định dạng APK, vì vậy, hiện tại bộ phận này sẽ không có gì thay đổi.

Tệp AAB thực sự là gì?

"AAB" là viết tắt của Android App Bundle. Tệp AAB chứa toàn bộ mã chương trình của ứng dụng Android. Ngay sau khi quá trình phát triển hoàn tất, nhà phát triển tải ứng dụng lên Cửa hàng Google Play ở định dạng AAB và người dùng (bạn) tải ứng dụng từ Thủ thuật điện thoại đó xuống điện thoại thông minh của bạn như bình thường.

Thoạt nhìn, không có gì thay đổi. Trên thực tế, khi xem xét kỹ hơn, nó thực sự dường như không có sự khác biệt nào cả. Điều này là do khi bạn nhấp vào "Cài đặt" trong Cửa hàng Google Play, điện thoại thông minh của bạn sẽ vẫn tải xuống tệp APK. Vì vậy, điểm của tất cả các furor này là gì?

Sự khác biệt giữa tệp AAB và tệp APK là gì?

Các tệp AAB được tạo tùy chỉnh

Sự khác biệt giữa tệp APK và AAB nằm ở thứ mà chúng tôi gọi là tài nguyên. Trong một ứng dụng, tài nguyên là mọi thứ khác không phải là mã lập trình, chẳng hạn như hình ảnh, tệp ngôn ngữ hoặc nhạc. Nếu bạn chọn nút "Cài đặt" cho một ứng dụng trong Cửa hàng Play, thì Google sẽ gửi cho bạn tệp APK được điều chỉnh từ tệp AAB cho thiết bị của bạn với các tài nguyên cần thiết được yêu cầu.

Điện thoại thông minh của bạn chỉ có độ phân giải Full HD +? Sau đó, bạn sẽ nhận được APK không có tài liệu 4K. Bạn đã chọn tiếng Anh và tiếng Đức làm ngôn ngữ thiết bị? Có thể bạn sẽ không cần gói ngôn ngữ Swahili. Nhân tiện, với sự trợ giúp của công cụ packtool của Google, các tệp AAB cũng có thể được chuyển đổi cục bộ thành các APK.

Ký bởi Google thay vì nhà phát triển

Một sự khác biệt lớn khác là trong việc ký ứng dụng. Trước đây, nhà phát triển ứng dụng luôn là người ký ứng dụng đó bằng khóa nhà phát triển của họ. Bạn có thể sử dụng khóa này khi cài đặt ứng dụng trên điện thoại thông minh để kiểm tra xem nó có bị xâm phạm hay không, chẳng hạn như có chứa phần mềm độc hại hay đã được mở khóa cho các tính năng yêu cầu thanh toán hay không.

Trong tương lai, nhà phát triển sẽ không ký các APK mà là Google - cụ thể là khi tạo tệp APK từ AAB. Về mặt logic, các chìa khóa sẽ không còn do các nhà phát triển nắm giữ nữa mà do Google nắm giữ.

Các tệp AAB có tốt hơn APK không?

Kích thước tệp nhỏ hơn so với APK

Do đó, lợi thế lớn đầu tiên của tệp AAB là rõ ràng: Các APK được tạo theo cách này nhỏ hơn. Trung bình, bạn sẽ có thể thấy mức giảm 35% theo cách này, dựa trên những gì Google đã viết vào tháng 10 năm 2018. Thoạt nhìn, điều đó nghe có vẻ không nhiều, nhưng khi một trong đó bao gồm nhiều bản cập nhật cho ứng dụng, nó có thể thêm lên một lúc nào đó.

Bảo vệ tốt hơn cho các ứng dụng

Một lợi ích khác mà các nhà phát triển sẽ thấy hữu ích là tăng cường bảo mật. Có lẽ sẽ khó sửa đổi ứng dụng hơn trong tương lai và cảnh mod có thể không hài lòng lắm về điều đó. Ai biết được, có thể điều này sẽ làm giảm số lượng kẻ gian lận tại AmongUs, ngay cả khi tôi không thực sự tin rằng nó là phổ biến cho đến nay.

Nhân tiện, với AAB, các phiên bản ứng dụng Lite và Pro trong Cửa hàng Play sẽ không còn tồn tại nữa. Trước đây, có thể cài đặt phiên bản Pro trả phí thay vì phiên bản Lite sau khi mua nhờ cùng một chữ ký, có thể nói là như một bản cập nhật. Với AABs và Google ký, điều đó không còn có thể thực hiện được nữa. Thay vào đó, các nhà phát triển sẽ phải chuyển sang mua hàng trong ứng dụng.

Cập nhật và phát triển dễ dàng hơn

Nếu các APK được lắp ráp riêng lẻ tùy thuộc vào người dùng hoặc phần cứng của nó, điều này mang lại lợi thế bổ sung cho các nhà phát triển. Như NDTV đã đưa tin, nhờ định dạng AAB, các bản cập nhật có thể được đẩy ra các thiết bị cụ thể vào những thời điểm cụ thể. Đây là một lợi thế, đặc biệt là với sự phân mảnh lớn của Android và có thể ngăn chặn các bản cập nhật bị hỏng trong tương lai hoặc giảm thiểu ảnh hưởng của chúng.

Bản thân quá trình phát triển cũng sẽ trở nên dễ dàng hơn. Trước đây, nhiều nhà phát triển đã tải nhiều phiên bản APK cho ứng dụng của họ lên Cửa hàng Play, phiên bản này đã được điều chỉnh cho phù hợp với các khu vực, ngôn ngữ hoặc kiến ​​trúc bộ xử lý khác nhau. Trong tương lai, các nhà phát triển sẽ chỉ cần tải lên một tệp AAB chung duy nhất.

Các tệp AAB có tệ hơn APK không?

Các tệp AAB và sự nhầm lẫn chuyển tải

Tuy nhiên, có những nhược điểm đối với AAB, đặc biệt là do các chữ ký đã đề cập trước đó. Bạn có muốn tải xuống WhatsApp beta mới qua APKMirror và thử các tính năng mới không? Quên điều đó đi, vì APKMirror ở đây sử dụng chữ ký khác với Cửa hàng Google Play. Việc chạy ngang các ứng dụng trên các cửa hàng ứng dụng của bên thứ ba khác nhau có thể là một cơn ác mộng trong tương lai. Xin chào, Windows 11 có APK và không hỗ trợ AAB.

Chắc chắn, bạn chỉ có thể gỡ cài đặt ứng dụng và cài đặt lại nó trên điện thoại thông minh của mình từ một nguồn khác. Nhưng sau đó bạn sẽ phải - với nhiều hoặc ít nỗ lực, tùy thuộc vào ứng dụng - sao lưu tất cả dữ liệu của bạn và sau đó cài đặt lại. Điều đó đơn giản là quá phức tạp, bạn có nghĩ vậy không?

AAB cung cấp nhiều quyền lực hơn cho Google

Thực tế là trong tương lai, các chữ ký sẽ được Google lưu trữ cũng có thể được nhìn nhận qua một lăng kính quan trọng. Nếu các máy chủ bị tấn công, tất cả các ứng dụng cuối cùng sẽ bị xâm phạm trong một lần rơi. Và như XDA-Developers giải thích: Google cũng có quyền tự thay đổi ứng dụng thông qua các phím dành cho nhà phát triển. Về mặt lý thuyết, nếu chính phủ gây áp lực lên Google, họ có thể xây dựng một backdoor thành một ứng dụng nhắn tin tức thì an toàn khác mà nhà phát triển không hề hay biết.

Có, Google rất quan tâm đến bảo mật. Và vâng, Google thà rút khỏi thị trường hơn là cúi đầu trước những mong muốn không rõ ràng về mặt đạo đức của các chính phủ. Nhưng điều này vẫn là một sự thật: Google chỉ đơn giản là có thêm sức mạnh khi giới thiệu các tệp AAB. Ngoài ra còn có một cuộc thảo luận thú vị về chủ đề này trên StackOverFlow mà bạn có thể theo dõi nếu muốn biết thêm.

Việc sửa lỗi trở nên khó khăn hơn

Một bất lợi khác liên quan đến chính các nhà phát triển ứng dụng và việc sửa lỗi, như nhà phát triển Mark Murphy đã viết tại Commonsware. Nếu một người dùng gặp sự cố với ứng dụng không thể tái tạo cho nhà phát triển, trước đây có một cách khắc phục đơn giản: sửa đổi ứng dụng, gửi ứng dụng đó cho người dùng, để người dùng cập nhật ứng dụng và hy vọng rằng lỗi sẽ được loại bỏ. Nhưng điều đó chỉ có thể thực hiện được vì các nhà phát triển có thể tự ký ứng dụng.

Nhân tiện, trên Medium.com, Người ủng hộ nhà phát triển Android Wojtek Kaliciński đã bình luận về nhiều lời chỉ trích ở trên và hơn thế nữa.

AAB: Yay hay Nay?

Điểm mấu chốt là, các tệp AAB bắt buộc không nên thay đổi nhiều đối với hầu hết người dùng, nếu không, chúng tôi đã nhận thấy điều gì đó về nó. Rốt cuộc, một phần lớn trong số 1.000 ứng dụng hàng đầu trong Cửa hàng Google Play đã được các nhà phát triển của họ tải lên dưới dạng AAB mặc dù không có yêu cầu nào để làm như vậy cả.

No comments:

Post a Comment