File AAB là gì? Nó khác gì so với file 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 file AAB. Câu hỏi ...
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 file 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 APK thế nào mà Google phải đổi?
Kể từ khi ra mắt Android hơn 10 năm nay, file đuôi APK đã là định dạng chung cho các ứng dụng. Các cửa hàng Google Play, APKMirror hay EFNet đều cung cấp cùng một chuẩn này. Đối với các nhà phát triển, AAB bây giờ sẽ trở thành bắt buộc và đối với người dùng Android, mọi thứ có vẻ sẽ phức tạp hơn.
AAB sẽ trở thành định dạng bắt buộc đối với tất cả các ứng dụng mới bắt đầu 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, tạm thời nó sẽ ảnh hưởng đến các ứng dụng mới.
File AAB là gì?
“AAB” là viết tắt của Android App Bundle. Tập tin 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 game hay ứng dụng sẽ tải file lên Cửa hàng Google Play ở định dạng AAB, người dùng (bạn) tải ứng dụng từ đó xuống điện thoại thông minh của bạn như bình thường.
Nhìn qua thì có vẻ không có gì thay đổi. Vậy khác biệt gì trong sự thay đổi này?
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 (resources). Trong một ứng dụng, resources là một thứ khác 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 cài đặt 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.
Ví dụ, smartphone của bạn chỉ có độ phân giải Full HD+? Bạn sẽ nhận được APK không có các resource 4K. Bạn đã chọn tiếng Anh và tiếng Đức làm ngôn ngữ thiết bị? Bạn sẽ tải về file cài đặt không bao gồm các ngôn ngữ khác. 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 (signing). 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 smartphone để 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 file APK mà là Google sẽ tự ký 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
Với các thông tin trên thì bạn dễ dàng nhận thấy là file AAB chắc chắn sẽ nhỏ hơn file APK. Trung bình, bạn có thể thấy mức giảm 35% kích thước dựa trên những gì Google đã viết vào tháng 10 năm 2018.
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 sẽ 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ác bản mod sẽ khó tồn tại hơn. Ví dụ các bản hack trong Among Us phổ biến hiện nay.
Một vấn đề nữa sẽ giải quyết đó là 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
Các file AAB riêng tùy thuộc vào người dùng hoặc phần cứng sử dụng mang lại lợi thế bổ sung cho các nhà phát triển. 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 ứng dụng hay game 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.
AAB có tệ hơn APK không?
Có ưu thì chắc chắn có khuyết điểm. 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.
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 sao lưu tất cả dữ liệu của bạn và sau đó cài đặt lại. Đây cũng là một vấn đề.
Ngoài ra, AAB sẽ 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ữ. Nếu các máy chủ bị tấn công, tất cả các ứng dụng sẽ cùng bị ảnh hưởng. Đồng thời, Google cũng có quyền tự thay đổi ứng dụng thông qua các developer keys. 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ời an toàn mà nhà phát triển không hề hay biết.
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. Nếu một người dùng gặp sự cố với ứng dụng, trước đây có một cách khắc phục đơn giản là 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. Còn giờ đây thì không.
Tổng quan
Xét cho cùng, Google không phải là Apple và bạn vẫn có thể chứng nhận các ứng dụng bên ngoài cho đến thời điểm hiện tại. Có vẻ như Google đang nỗ lực để củng cố vị trí độc quyền của Cửa hàng Google Play. Và bắt đầu bằng AAB.
File AAB là gì? Nó khác gì so với file APK?