Trình bổ trợ Android cho Gradle, bản sửa đổi 1.5.0 (Tháng 11/2015)

Phần phụ thuộc:
  • Gradle 2.2.1 trở lên.
  • Công cụ tạo bản dựng 21.1.1 trở lên.
Lưu ý chung:
  • Tích hợp trình bổ trợ Liên kết dữ liệu vào trình bổ trợ Android cho Gradle. Để bật trình bổ trợ, hãy bổ sung mã sau vào mỗi tệp build.gradle cho từng dự án sử dụng Trình bổ trợ Android cho Gradle:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • Thêm một Transform API (API Biến đổi) mới để cho phép các trình bổ trợ bên thứ ba sử dụng các tệp .class đã biên dịch trước khi chúng được chuyển đổi thành tệp .dex. Transform API đơn giản hoá việc chèn các lớp tuỳ chỉnh, đồng thời cung cấp thêm lựa chọn linh hoạt về những thao tác bạn có thể sử dụng. Để chèn một phép biến đổi vào bản dựng, hãy tạo một lớp mới triển khai một trong các giao diện Transform và đăng ký lớp đó bằng android.registerTransform(theTransform) hoặc android.registerTransform(theTransform, dependencies). Bạn không cần phải nối các tác vụ với nhau. Hãy lưu ý những thông tin sau về Transform API:
    • Phép biến đổi có thể áp dụng cho một hoặc nhiều mục sau đây: dự án hiện tại, các dự án con và các thư viện bên ngoài.
    • Một phép biến đổi phải được đăng ký ở mọi nơi và sẽ áp dụng cho tất cả biến thể.
    • Chế độ xử lý mã nội bộ, thông qua Thư viện mức độ sử dụng mã Java (JaCoCo), ProGuard và MultiDex, nay sử dụng Transform API. Tuy nhiên, Bộ công cụ biên dịch Android của Java (Jack) không dùng API này mà chỉ đường dẫn mã javac/dx mới sử dụng.
    • Gradle sẽ thực thi những phép biến đổi theo thứ tự sau: JaCoCo, các trình bổ trợ bên thứ ba, ProGuard. Thứ tự thực thi trình bổ trợ bên thứ ba khớp với thứ tự bổ sung phép biến đổi do trình bổ trợ bên thứ ba thực hiện; các nhà phát triển trình bổ trợ bên thứ ba không thể điều khiển thứ tự thực thi của phép biến đổi thông qua API.
  • Ngưng dùng phương thức getter của dex trong lớp ApplicationVariant. Bạn không thể truy cập vào tác vụ Dex thông qua API biến thể nữa vì thao tác này hiện đã được thực hiện thông qua một phép biến đổi. Hiện tại, không có phương pháp thay thế khác để điều khiển quá trình tạo tệp dex.
  • Sửa tính năng hỗ trợ gia tăng cho tài sản.
  • Cải thiện tính năng hỗ trợ MultiDex bằng cách phát hành cho các dự án kiểm thử. Hiện các kiểm thử sẽ tự động sở hữu phần phụ thuộc com.android.support:multidex-instrumentation.
  • Thêm khả năng ngưng hoạt động bản dựng Gradle một cách chính xác và báo cáo nguyên nhân cơ bản về lỗi xảy ra khi bản dựng Gradle gọi các tác vụ không đồng bộ dẫn đến quá trình của trình chạy không thể hoạt động.
  • Hỗ trợ thêm tính năng thao tác định cấu hình Giao diện nhị phân của ứng dụng (ABI) cụ thể trong các biến thể chứa nhiều ABI.
  • Thêm tính năng hỗ trợ danh sách được phân tách bằng dấu phẩy các số sê-ri thiết bị dành cho biến môi trường ANDROID_SERIAL khi cài đặt hoặc chạy kiểm thử.
  • Khắc phục lỗi cài đặt trên các thiết bị chạy Android 5.0 (API cấp 20) trở lên khi tên APK chứa dấu cách.
  • Sửa các vấn đề khác nhau liên quan đến đầu ra lỗi Công cụ đóng gói tài nguyên Android (AAPT).
  • Thêm tính năng hỗ trợ khả năng đo lường gia tăng JaCoCo để các bản dựng gia tăng hoạt động nhanh hơn. Hiện Plugin của Android dành cho Gradle sẽ gọi trực tiếp trình đo lường JaCoCo. Để buộc sử dụng phiên bản mới của trình đo lường JaCoCo, bạn cần bổ sung phiên bản này dưới dạng một phần phụ thuộc tập lệnh bản dựng.
  • Sửa tính năng hỗ trợ JaCoCo để bỏ qua các tệp không phải lớp.
  • Thêm tuỳ chọn hỗ trợ vectơ vẽ được nhằm tạo PNG ở thời gian xây dựng để đạt khả năng tương thích ngược. Plugin của Android dành cho Gradle sẽ tạo ra các tệp PNG cho mọi vectơ vẽ được tìm thấy trong thư mục tài nguyên không chỉ định phiên bản API, hay chỉ định thuộc tính android:minSdkVersion của 20 trở xuống trong phần tử <uses-sdk> trong tệp kê khai ứng dụng. Bạn có thể thiết lập mật độ PNG bằng cách sử dụng thuộc tính generatedDensities trong các mục defaultConfig hoặc productFlavor của tệp build.gradle.
  • Thêm tính năng chia sẻ android.jar mô phỏng mà trình bổ trợ chỉ tạo một lần và sử dụng nhằm kiểm thử đơn vị. Nhiều mô-đun, chẳng hạn như applib, hiện chia sẻ tính năng đó. Hãy xoá $rootDir/build để tạo lại tính năng này.
  • Thay đổi quá trình xử lý các tài nguyên Java để quá trình này diễn ra trước các tác vụ làm rối mã nguồn thay vì trong quá trình đóng gói APK. Thay đổi này sẽ giúp các tác vụ làm rối mã nguồn có cơ hội điều chỉnh tài nguyên Java sau khi làm rối mã nguồn các gói.
  • Sửa vấn đề sử dụng mã Giao diện gốc Java (JNI) trong trình bổ trợ thư viện thử nghiệm.
  • Thêm khả năng thiết lập riêng phiên bản nền tảng với thuộc tính android:compileSdkVersion trong trình bổ trợ thư viện thử nghiệm.