Trình bổ trợ Android cho Gradle 3.2.0 (tháng 9 năm 2018)

Phiên bản trình bổ trợ Android này yêu cầu:

Phiên bản 3.2.1 (Tháng 10 năm 2018)

Với bản cập nhật này, bạn không cần chỉ định phiên bản cho Công cụ tạo bản dựng của SDK. Trình bổ trợ Gradle của Android hiện sử dụng phiên bản 28.0.3 theo mặc định.

Tính năng mới

  • Hỗ trợ dựng Android App Bundle: Gói ứng dụng là một định dạng tải lên mới bao gồm tất cả tài nguyên và mã đã biên dịch của ứng dụng, đồng thời hoãn việc tạo tệp APK và ký trên Cửa hàng Google Play. Bạn không còn phải tạo, ký và quản lý nhiều tệp APK, ngoài ra người dùng sẽ nhận được các tệp tải xuống nhỏ hơn và được tối ưu hoá cho thiết bị. Để tìm hiểu thêm, hãy đọc bài viết Giới thiệu về Android App Bundle.

  • Hỗ trợ cải thiện tốc độ tạo bản dựng gia tăng khi sử dụng trình xử lý chú giải: DSL AnnotationProcessorOptions nay mở rộng CommandLineArgumentProvider, cho phép bạn hoặc tác giả trình xử lý chú giải chú giải các đối số cho trình xử lý bằng cách sử dụng chú giải kiểu thuộc tính bản dựng gia tăng. Việc sử dụng các chú giải này sẽ cải thiện độ chính xác và hiệu suất của các bản dựng sạch gia tăng lưu trong bộ nhớ đệm. Để tìm hiểu thêm, hãy đọc nội dung Truyền đối số tới trình xử lý chú giải.

  • Công cụ di chuyển cho AndroidX: Khi sử dụng trình bổ trợ Android cho Gradle 3.2.0 với Android 3.2 trở lên, bạn có thể di chuyển các phần phụ thuộc cục bộ và Maven của dự án để sử dụng các thư viện AndroidX mới bằng cách chọn Refactor > Migrate to AndroidX (Tái cấu trúc > Di chuyển sang AndroidX) trên thanh trình đơn. Việc sử dụng công cụ di chuyển này cũng thiết lập các cờ sau thành true trong tệp gradle.properties:

    • android.useAndroidX: Khi được đặt là true, trình bổ trợ Android sẽ sử dụng thư viện AndroidX thích hợp thay vì Thư viện hỗ trợ. Khi cờ này không được chỉ định, theo mặc định trình bổ trợ sẽ thiết lập thành false.

    • android.enableJetifier: Khi được đặt thành true, trình bổ trợ Android sẽ tự động di chuyển các thư viện hiện có của bên thứ ba để sử dụng AndroidX bằng cách viết lại tệp nhị phân. Khi cờ này không được chỉ định, theo mặc định trình bổ trợ sẽ thiết lập thành false. Bạn chỉ có thể thiết lập cờ này thành true khi android.useAndroidX cũng được thiết lập thành true. Nếu không, bạn sẽ gặp lỗi bản dựng.

      Để tìm hiểu thêm, hãy đọc bài viết tổng quan về AndroidX.

  • Trình rút gọn mã mới, R8: R8 là một công cụ mới giúp rút gọn và làm rối mã thay thế ProGuard. Bạn có thể bắt đầu sử dụng phiên bản dùng thử của R8 bằng cách đưa những đoạn mã sau vào tệp gradle.properties của dự án:

            android.enableR8 = true
            
            android.enableR8 = true
            

Thay đổi về hành vi

  • Giờ đây, tuỳ chọn đơn giản hoá (desugar) bằng D8 được bật theo mặc định.

  • AAPT2 hiện được đưa vào kho lưu trữ Maven của Google. Để sử dụng AAPT2, hãy đảm bảo bạn có phần phụ thuộc google() trong tệp build.gradle như sau:

              buildscript {
                    repositories {
                        google() // here
                        jcenter()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.2.0'
                    }
                }
                allprojects {
                    repositories {
                        google() // and here
                        jcenter()
                }
              
              buildscript {
                    repositories {
                        google() // here
                        jcenter()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.2.0'
                    }
                }
                allprojects {
                    repositories {
                        google() // and here
                        jcenter()
                }
              
  • Cấu hình multidex gốc hiện được bật theo mặc định. Các phiên bản trước của Android Studio đã bật chế độ multidex gốc khi triển khai phiên bản gỡ lỗi của ứng dụng cho thiết bị chạy API Android cấp 21 trở lên. Hiện tại, cho dù bạn đang triển khai một thiết bị hay xây dựng một APK để phát hành, Trình bổ trợ Android cho Gradle sẽ bật chế độ multidex gốc cho tất cả những mô-đun thiết lập minSdkVersion=21 trở lên.

  • Trình bổ trợ này thực thi phiên bản tối thiểu của trình bổ trợ protobuf (0.8.6), Kotlin trình bổ trợ (1.2.50) và trình bổ trợ Crashlytics (1.25.4).

  • Trình bổ trợ mô-đun tính năng (com.android.feature) nay chỉ thực thi việc sử dụng chữ cái, chữ số và dấu gạch dưới khi chỉ định tên mô-đun. Ví dụ: nếu tên mô-đun tính năng có dấu gạch ngang, bạn sẽ gặp lỗi bản dựng. Hành vi này khớp với hành vi của trình bổ trợ tính năng động.

Sửa lỗi

  • JavaCompile hiện có thể lưu được vào bộ nhớ đệm trong các dự án có liên kết dữ liệu. (Vấn đề #69243050)
  • Cải thiện thao tác tránh việc biên dịch đối với những mô-đun thư viện có liên kết dữ liệu (Vấn đề #77539932)
  • Hiện bạn có thể bật lại chế độ định cấu hình theo yêu cầu nếu đã vô hiệu hoá tính năng này trong các phiên bản cũ do một số lỗi bản dựng không dự đoán được. (Vấn đề #77910727)