Sử dụng Gradle Build Variants trong Android Studio

1. Mở đầu

Một trong những tính năng chính của Android Studio là sự tích hợp của Gradle như một hệ thống xây dựng Android. Trong khi mục đích chung của một hệ thống xây dựng là đưa lấy mã nguồn và xây dựng một tập tin cài đặt cho người dùng của bạn, APK trong trường hợp của Android, Gradle cung cấp nhiều chức năng hơn thế.

Gradle quản lý các file JAR, file .so và các thư viện lưu trữ trên Maven. Nó cũng cho phép cấu hình dễ dàng các thuộc tính của dự án và nó cho phép các nhà phát triển tạo ra các phiên bản khác nhau của các ứng dụng của họ một cách khá đơn giản.

2. Build Variants là gì ?

Build Variants có thể xây dựng từ Gradle, dựa trên việc chia sẻ các mã nguồn gốc. Trong khi một ứng dụng tiêu chuẩn có thể có một loại build là debug và release, bạn có thể mở rộng thêm flavor dimensions.

Flavor dimensions cho phép bạn sử dụng các cấu trúc thư mục của dự án của bạn để thay đổi cách nhìn cá nhân xây dựng và hành động cho người dùng của bạn. Điều này cho phép các nhà phát triển để dễ dàng tạo ra nhiều ứng dụng tương tự với kiểu dáng và cấu hình khác nhau.

3. Cài đặt Build Variants trong Gradle

Bạn có thể bắt đầu với file build.gradle trong Project và thêm thành phần flavorDimensions như sau :

flavorDimensions "number", "color"

Nó định nghĩa dimensions nào mà Build Variants có thể dùng. Mỗi Build mà bạn tạo ra cần phải có một product flavor từ các dimensions. Điều này có nghĩa rằng nếu bạn chỉ cần một dimension cho các ứng dụng của bạn, đó là một kịch bản chung, thì bạn có thể thay đổi dòng flavorDimensions của bạn để xác định chỉ có một dimension.

Bên dưới flavorDimensions, bạn có thể định nghĩa productFlavors :

productFlavors {
    blue {
        applicationId "com.tutsplus.bluevariant"
        flavorDimension "color"
    }
    green {
        applicationId "com.tutsplus.greenvariant"
        flavorDimension "color"
    }

    one {
        flavorDimension "number"
    }

    two {
        flavorDimension "number"
    }
}

Mỗi Build mà bạn tạo ra sẽ cần một applicationId duy nhất để phân biệt chúng với các Build khác. Khi bất kỳ ứng dụng mà bạn xây dựng sẽ có ít nhất một flavor từ mỗi dimension, bạn chỉ cần xác định các applicationId trong mỗi nút cho một dimension.

Bây giờ bạn đã xác định tất cả mọi thứ cho Build Variants trong build.gradle, bạn có thể mở bảng điều khiển Build Variants ở góc dưới bên trái của Android Studio để xem những gì Build Variants có sẵn để xây dựng.

Bạn sẽ nhận thấy rằng mỗi flavor bạn thêm phát triển số lượng các Build Variants theo cấp số nhân. Cũng lưu ý rằng buildTypes debug và release được ném vào ma trận của các dimension.

12_01.png

4. Sử dụng Project Structure

Trong khi bây giờ bạn có thể cài đặt các phiên bản khác nhau của ứng dụng của bạn, không có gì phân biệt chúng với nhau. Đây là nơi mà bạn thực sự có được để sử dụng xây dựng hệ thống Gradle.

Gradle sử dụng cấu trúc thư mục của dự án để xác định những tập tin này sẽ được sử dụng để biên soạn một ứng dụng. Trong cơ cấu dự án của bạn dưới app / src /, bạn sẽ thấy các thư mục chính. Đây là nơi mà tất cả các nguồn tài nguyên và lõi Java của bạn sống. Bạn có thể thêm thư mục bổ sung bên cạnh chính để phản ánh những dimension của sản phẩm ứng dụng của bạn để thêm tài nguyên tùy biến cho từng Build Variant.

Bất cứ tài nguyên nào tồn tại trong một product flavor thì cũng được định nghĩa trong main :

12_02.png

Chúng ta có thể thấy rõ điều này bằng cách nhìn vào main/res/values/colors.xml. Nếu Project của bạn không có một giá trị colorPrimary xác định, hãy định nghĩa nó. Nếu bạn bắt đầu với một Project có sản phẩm nào mới làm theo cùng với bài viết này, sau đó bạn sẽ thấy một giá trị được xác định trước # 3F51B5. Chạy ứng dụng sẽ hiển thị các giá trị colorPrimary chính là màu sắc cho Thanh công cụ trong các ứng dụng.

12_03.png

Nếu bạn tạo một file colors.xml mới dưới green/src/values/, bạn có thể ghi đè lên các colorPrimary thuộc tính với một giá trị khác nhau. Trong trường hợp này, hãy sử dụng # 00FF00.

12_04.png

Mặc dù Toolbar đã được thay đổi màu sắc mới, các thuộc tính khác trong main không bị ghi đè. Điều này cho phép bạn thiết lập các thuộc tính chung chung của bạn trong main và chỉ thay đổi những gì cần thay đổi.

Không chỉ thực hiện với colors, nhưng bạn có thể thay đổi bất cứ điều gì đang tồn tại trong các thư mục tài nguyên, chẳng hạn như strings, styles, dimensions, and integers. Khi kết hợp với các thư mục tài nguyên khác, chẳng hạn như values-xhdpi cho các thiết bị mật độ điểm ảnh cao hơn, bạn sẽ có thể kiểm soát người dùng thấy từ ứng dụng của bạn để đảm bảo họ có những kinh nghiệm tốt nhất có thể.

5.Lời kết

Gradle là một công cụ mạnh mẽ không chỉ xây dựng APK, nhưng cho phép bạn có quyền kiểm soát tốt hơn tùy biến xây dựng của bạn. Trong bài viết này, bạn đã học được làm thế nào để tạo Build Variants của ứng dụng của bạn với các tài nguyên khác nhau để bạn có thể dễ dàng tạo ra nhiều ứng dụng tương tự trong một phần của thời gian nó sẽ có được để xây dựng từng cá nhân.

Trong khi Gradle vẫn là một hệ thống xây dựng khá mới, nó đã chứng minh rằng nó là một xây dựng hệ thống cực kỳ hữu ích mà mỗi nhà phát triển Android có thể thoải mái làm việc với nó.

Tham khảo : http://developer.android.com/tools/building/configuring-gradle.html http://code.tutsplus.com/tutorials/using-gradle-build-variants--cms-25005