Di chuyển sang Kotlin 2.0
Nếu đang sử dụng SDK Người tiêu dùng cho Android 3.0 trở lên, bạn phải nâng cấp lên Kotlin 2.0. Trang này cung cấp hướng dẫn để giúp bạn dễ dàng chuyển đổi sang phiên bản Kotlin mới.
Khả năng tương thích giữa Gradle và AGP
Kotlin 2.0 có yêu cầu về phiên bản tối thiểu và tối đa cho phiên bản Gradle và Trình bổ trợ Android cho Gradle (AGP). Đảm bảo rằng dự án của bạn đáp ứng các yêu cầu này đối với Kotlin 2.0.
Phiên bản AGP tối thiểu cho SDK Người tiêu dùng phiên bản 3.0 trở lên
SDK dành cho người tiêu dùng phiên bản 3.0 yêu cầu sử dụng AGP phiên bản 7.3 trở lên.
Chế độ R8 đầy đủ
SDK Người tiêu dùng phiên bản 3 trở xuống không hỗ trợ chế độ R8 đầy đủ. Bạn phải tắt Chế độ R8 đầy đủ một cách rõ ràng nếu ứng dụng của bạn nhắm đến AGP 8.0 trở lên.
# settings.gradle
android.enableR8.fullMode=false
Khả năng tương thích của phiên bản Kotlin
Kotlin hỗ trợ khả năng tương thích ngược với ba phiên bản ngôn ngữ trước đó. Điều này có nghĩa là nếu đang sử dụng Kotlin 1.7 trở lên với SDK Người tiêu dùng, bạn có thể nâng cấp lên Kotlin 2.0 mà không cần phải giải quyết tất cả các thay đổi có thể gây lỗi. Tuy nhiên, khả năng tương thích với Kotlin chỉ áp dụng cho các tính năng ngôn ngữ ổn định. Nếu đang sử dụng các tính năng alpha, beta hoặc thử nghiệm trong ngôn ngữ Kotlin, thì bạn có thể phải thực hiện thêm các thay đổi khi nâng cấp.
Cờ tương thích với Kotlin
Như đã lưu ý trong phần trước, Kotlin hỗ trợ tối đa 3 phiên bản trước của ngôn ngữ này khi nâng cấp. Kotlin cung cấp hai cờ để giúp hạn chế các thay đổi có thể gây lỗi:
language-version X.Y
Cờ này sẽ huỷ bỏ các thay đổi có thể gây lỗi đối với hành vi của phiên bản Kotlin trước đó.
Ví dụ: nếu đang sử dụng Kotlin 1.7, bạn có thể chỉ định [ -
language-version 1.7] và các thay đổi có thể gây lỗi mới sẽ không còn hiệu lực:
android {
kotlinOptions {
languageVersion = '1.7'
}
}
api-version X.Y
Cờ này ngăn việc sử dụng các API mới trước khi mã hạ nguồn phụ thuộc sẵn sàng kết hợp Kotlin 2.0.
android {
kotlinOptions {
apiVersion = '1.7'
}
}
Cách tiếp cận có mục tiêu rõ ràng hơn
Ngoài việc sử dụng cờ tương thích Kotlin, bạn nên xem lại ghi chú phát hành Kotlin và chọn các hành vi mà bạn muốn giữ lại từ phiên bản mà bạn đang nâng cấp. Kotlin cung cấp danh sách các thay đổi có thể gây lỗi và các cờ có thể đặt để giữ lại hành vi ban đầu trong hướng dẫn về khả năng tương thích cho từng phiên bản:
- hướng dẫn về khả năng tương thích với phiên bản 1.8
- Hướng dẫn về khả năng tương thích của phiên bản 1.9
- Hướng dẫn về khả năng tương thích của phiên bản 2.0