Ứng dụng Android

versionName và versionCode khác nhau thế nào?

Cập nhậtBiên tập kiểm tra

versionName là chuỗi tên phiên bản được hiển thị, còn versionCode là số nguyên Android dùng để sắp xếp phiên bản và ngăn việc hạ cấp. Vì vậy, nhìn vào tên “2.0” chưa đủ để biết hai gói ứng dụng có cùng bản nội bộ hay không. Tài liệu Android về versioning mô tả hai trường này theo đúng vai trò đó.

Chuẩn bị ba bản ghi để đối chiếu

Trước khi so sánh, xác nhận các bản ghi thuộc cùng một application ID. Nếu hai ID khác nhau, không gộp chúng vào một chuỗi cập nhật chỉ vì tên app giống nhau. Nếu ID chưa được cung cấp, ghi rõ điểm còn thiếu; đừng tự điền từ biểu tượng hay tên quảng cáo.

Trong bài tập bên dưới, A, B và C được giả định là ba gói của cùng một ứng dụng. Cột tên và cột mã được giữ riêng. Không có tệp nào được tải, cài hoặc kiểm thử; các giá trị chỉ phục vụ phép đối chiếu.

Ví dụ so sánh cụ thể

Ví dụ giả định, không phải ứng dụng đã kiểm thử: cùng một application ID có ba bản ghi như sau:

Bản ghi versionName versionCode Cách đọc thứ tự
Gói A 2.0 41 Thấp hơn gói B
Gói B 2.0 42 Cao hơn gói A
Gói C 3.0 40 Thấp hơn gói B

So sánh theo versionCode: 40 < 41 < 42. Vì thế, gói C có nhãn “3.0” nhưng không đứng sau gói B trong thứ tự nội bộ; code 40 vẫn thấp hơn 42. Đây là lý do một tên hiển thị lớn hơn chưa đủ để kết luận đó là bản mới hơn.

Giới hạn khi dùng thông tin phiên bản

Hai trường này chỉ giúp đối chiếu nhận dạng và thứ tự phiên bản trong phạm vi metadata được cung cấp. Chúng không tự cho biết ứng dụng có tương thích với thiết bị hay an toàn hay không. Cũng không nên suy ra chất lượng, chức năng hoặc nguồn phát hành chỉ từ con số 41, 42 hay nhãn “3.0”.

Khi ghi chép một bản tải xuống, hãy lưu nguyên cặp giá trị: versionName=2.0versionCode=42. Kèm application ID và nguồn của bản ghi để lần sau không trộn dữ liệu giữa hai ứng dụng. Với bảng này, chỉ B có code 42; A tuy cùng nhãn 2.0 vẫn là một bản ghi khác.

Lưu ý khi đọc:Bài viết chỉ nhằm cung cấp thông tin, giải thích quy tắc và nhắc nhở rủi ro. Nội dung không cung cấp tài khoản, xử lý thanh toán, dịch vụ cá cược hoặc bảo đảm kết quả. Người trưởng thành cần tuân thủ quy định tại nơi sinh sống.
Telegram