2012-03-15 30 views
16

a) Phiên bản gói và mã phiên bản Android là gì?Mã phiên bản và phiên bản gói Android là gì và chúng có liên quan như thế nào?

b) Sự khác biệt giữa phiên bản gói và mã phiên bản là gì?

i) Giả sử tôi có phiên bản gói 0.137, mã phiên bản có liên quan như thế nào? Có thể mã phiên bản chỉ là 137?

ii) Điều gì sẽ xảy ra khi tôi phát hành phiên bản gói 1.0 tiếp theo? Tôi có thể gọi mã phiên bản 10 không?

c) Chúng liên quan như thế nào? Cách đúng để đánh số phiên bản gói là gì?


N.B. Có vẻ như không phải là nguồn giải thích sự khác biệt, trong tìm kiếm. Tôi đã rất nhanh chóng đánh số các bó của tôi cho đến bây giờ, nhưng tôi muốn tìm ra cách để làm điều này đúng.

Những định danh xuất hiện để được cụ thể cho Unity, nhưng tôi không chắc chắn nếu tôi hiểu những gì các thông số khoảng thậm chí từ trang đó ...

+0

bạn đang nói về android: versionCode và android: versionName? – dymmeh

+0

"Phiên bản gói" là gì? Tôi không biết bất kỳ khái niệm nào trong Android với tên đó. – CommonsWare

+1

điều này có thể là một câu hỏi cụ thể thống nhất thực sự ... http://unity3d.com/support/documentation/Components/class-PlayerSettings.html – ina

Trả lời

16

Không có "bó phiên bản". Đó là một thuật ngữ iOS/Mac. Ứng dụng Android được xây dựng được gọi là gói.

Android có hai vị trí được chỉ định: tên phiên bản (android:versionName trong tệp kê khai) và mã phiên bản (android:versionCode). Họ không cần phải được corellated, nhưng trong thực tế họ thường là. Google Market sử dụng mã phiên bản (không phải tên) khi bạn xuất bản bản cập nhật để đảm bảo bản cập nhật của bạn muộn hơn gói hiện được xuất bản.

Tên phiên bản là những gì người dùng cuối cùng nhìn thấy. Không có giới hạn về định dạng của nó; đó là một chuỗi văn bản miễn phí, mặc dù phần lớn các ứng dụng đều dính vào các mẫu 1.2 hoặc 1.2.3.

Cách bạn đặt tên cho phiên bản và mã phiên bản tùy thuộc vào bạn. Bạn có thể sử dụng mã phiên bản tuần tự hoặc bạn có thể sử dụng công thức major*10000 + minor*100 + build - đó là những gì Google thực hiện với ứng dụng của họ, để v. 4.10.3 sẽ có mã 41003.

+3

Câu trả lời hay nhưng OP yêu cầu cài đặt trình phát Unity. _Bundle Version_ sẽ được sử dụng để điền vào 'android: versionName'. Xem [bài đăng trên blog này] (https: //mogutan.wordpress.com/2015/03/06/confusing-unity-mobile-player-cài đặt-cho-phiên bản /) cho một giải thích đã giải quyết – Kay

11

Unity có câu trả lời trong Hướng dẫn cài đặt trình phát của họ trang: http://docs.unity3d.com/Manual/class-PlayerSettings.html

  • Bundle Version: Chỉ định số xây dựng phiên bản của bó, trong đó xác định một lần lặp (phát hành hoặc chưa được phát hành) của bó. Phiên bản được chỉ định theo định dạng chung của một chuỗi chứa các số được phân tách bằng dấu chấm (ví dụ: 4.3.2). (Điều này được chia sẻ giữa iOS và Android.)

  • Mã phiên bản gói: Số phiên bản nội bộ. Số này chỉ được sử dụng để xác định xem một phiên bản có gần đây hơn một phiên bản khác hay không, với số cao hơn cho biết các phiên bản gần đây hơn. Đây là không phải số phiên bản được hiển thị cho người dùng; số đó được đặt bởi thuộc tính versionversionName. Giá trị phải được đặt làm số nguyên, chẳng hạn như “100”.Tuy nhiên, bạn có thể xác định nó theo ý muốn, miễn là mỗi phiên bản liên tiếp có số lượng cao hơn. Ví dụ, nó có thể là một số xây dựng. Hoặc bạn có thể dịch số phiên bản ở định dạng “x.y” thành số nguyên bằng cách mã hóa riêng “x” và “y” ở 16 bit dưới và trên. Hoặc bạn có thể tăng số lượng một lần mỗi lần một phiên bản mới được phát hành.

0

này không trực tiếp giải quyết các câu hỏi nhưng có liên quan (và liên quan đến các câu trả lời bằng ArianJM).

Tôi đã đưa ra câu hỏi này là kết quả của sự cố tôi vừa tải lên phiên bản mới cho Amazon Appstore.

Nội dung trên trang Hướng dẫn thống nhất được tham chiếu từ ArianJM đã thay đổi và (ít nhất là cho phiên bản 5.4) không còn chứa bất kỳ thông tin nào về Phiên bản gói hoặc Mã phiên bản gói.

Trong Unity 5.4:

Bundle Version tại Version là. Trường này được Amazon Appstore xác định là Tên phiên bản.

Mã phiên bản gói vẫn là Mã phiên bản gói. Trường này là được Amazon Appstore xác định là Mã phiên bản. Trường này chỉ cho phép số.

Tôi đang trong quá trình tải phiên bản mới lên Amazon Appstore và mặc dù tôi đã cập nhật Phiên bản trong Unity thành 1.1, Mã phiên bản gói không được cập nhật và kết quả là bị Amazon Appstore từ chối giống với Mã phiên bản gói trước đó (Mã phiên bản trong Amazon Appstore).

Tôi đã kể từ khi cập nhật Mã phiên bản Bundle trong Unity - nhưng không thể cập nhật nó để 1.1 hoặc 1_1 vì lĩnh vực này là đúng số - và do đó thay vì cập nhật nó để 2.

Mà tôi tin mang vòng tròn đầy đủ của chúng tôi cho một phần của câu hỏi gốc: Có cách nào đúng để đánh số các phiên bản gói không?

Mặc dù tùy ý thay đổi nó thành 2 trong trường hợp của tôi rõ ràng không phải là một kế hoạch - nó là cả hai khác nhau và cao hơn số trước đó, và như vậy, hoạt động.

Không có nhiều kế hoạch nhưng thiếu tài liệu hiện tại của Unity giải quyết các trường này - và các tên trường tương tự nhưng khác nhau giữa Unity và Amazon Appstore dường như dẫn đến những quyết định đặc biệt này.

Các vấn đề liên quan