2014-09-18 24 views
11

Tôi đang sử dụng tệp buildTypes và productFlavors. Ứng dụng của tôi cũng sử dụng công cụ phân tích và công cụ này đã sử dụng phiên bảnName của ứng dụng của tôi.Hương vị sản phẩm Android versionNameSuffix

Tôi làm cách nào để thay đổi phiên bảnName cho mỗi hương vị? Thử nghiệm của tôi là

productFlavors { 
    google { 
     versionNameSuffix ".google" 
    } 
} 

nhưng không thành công. Có ai có một ý tưởng làm thế nào để tùy chỉnh versionName tùy thuộc vào hương vị?

Cập nhật

Rõ ràng phiên bản 2.2.0 của Gradle Android Plugin bây giờ cho phép thiết lập versionNameSuffix trong productFlavors

+0

Có may mắn không? Không đồng bộ 'Gradle không thành công: Không tìm thấy phương thức DSL Gradle: 'versionNameSuffix()'' khi tôi thử – Sunkas

+0

Cập nhật của bạn đã lưu thời gian của tôi. cảm ơn – Tushar

Trả lời

0

Bạn có thể đặt toàn bộ tên phiên bản thông qua một hương vị, như thế này:

productFlavors { 
    flavor_a { 
     versionName 'Version_A' 
    } 
    flavor_b { 
     versionName 'Version_B' 
    } 
} 
defaultConfig { 
    versionName 'Default_version_name' 
} 

Nếu một hương vị không chỉ định tên phiên bản, nó sẽ lấy nó từ defaultConfig.

4

này vẫn là một công việc đang tiến đối với tôi, nhưng dường như làm việc:

productFlavors { 
    development { 
     versionName = android.defaultConfig.versionName + (System.getenv("BUILD_NUMBER") as Integer ? "-build" + System.getenv("BUILD_NUMBER") as Integer : "-developerBuild") 
    } 
} 

Vì vậy, chúng ta có thể thiết lập các phiên bản trong defaultConfig, trên máy chủ xây dựng nó đặt biến BUILD_NUMBER môi trường, vì vậy kết thúc lên được như: 1.2-build1234 việc sản xuất xây dựng chỉ sử dụng defaultConfig như vậy là chỉ 1.2, và khi xây dựng trên máy dev biến môi trường không được thiết lập để nó 1.2-developerBuild

chỉ cần đưa ra kế hoạch này tối nay (như vậy có thể được đơn giản hóa tôi chắc chắn), vì vậy, hãy tìm cách lấy con nguồn mới nhất trol revision được thêm vào khi trên một máy dev, nhưng tôi đã nhìn thấy câu trả lời khác với cách để làm điều đó.

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