MN HKD

Tải ứng dụng phiên bản mới nhất để tạo sổ sách cho tất cả 4 nhóm hộ kinh doanh theo thông tư 152/2025/TT-BTC.

So sánh compileSdk, minSdkVersion và targetSdkVersion

26/07/2024

1. Giới thiệu chung

Trong phát triển ứng dụng Android, compileSdkVersion, minSdkVersion, và targetSdkVersion là ba khái niệm quan trọng liên quan đến việc xây dựng và phân phối ứng dụng. Dưới đây là sự khác biệt và vai trò của từng khái niệm:

2. compileSdkVersion

  • Định nghĩa: Đây là phiên bản SDK của Android mà bạn sử dụng để biên dịch (compile) ứng dụng của mình.
  • Ý nghĩa: compileSdkVersion không ảnh hưởng đến việc ứng dụng có thể chạy trên thiết bị nào, nhưng nó xác định các API mới nhất mà bạn có thể sử dụng trong mã nguồn của mình.
  • Tính năng: Bằng cách sử dụng một compileSdkVersion mới, bạn có thể truy cập các API mới được giới thiệu trong phiên bản SDK đó, nhưng bạn cũng cần đảm bảo rằng ứng dụng của mình tương thích với các API này.

3. minSdkVersion

  • Định nghĩa: Đây là phiên bản tối thiểu của Android mà thiết bị cần phải có để có thể chạy ứng dụng của bạn.
  • Ý nghĩa: minSdkVersion xác định mức độ tương thích ngược của ứng dụng. Nếu bạn đặt minSdkVersion quá cao, ứng dụng của bạn sẽ không thể chạy trên các thiết bị chạy phiên bản Android cũ hơn.
  • Tính năng: Nếu bạn sử dụng các API hoặc tính năng không có trong các phiên bản Android cũ hơn minSdkVersion, ứng dụng sẽ gặp lỗi khi chạy trên các thiết bị đó.

4. targetSdkVersion

  • Định nghĩa: Đây là phiên bản SDK của Android mà bạn đã thử nghiệm và tối ưu hóa ứng dụng của mình cho nó.
  • Ý nghĩa: targetSdkVersion giúp hệ điều hành biết ứng dụng của bạn đã được tối ưu hóa cho phiên bản Android nào và điều chỉnh hành vi tương thích ngược cho phù hợp.
  • Tính năng: Ứng dụng của bạn sẽ tiếp tục chạy trên các phiên bản Android cũ hơn targetSdkVersion, nhưng nó sẽ chạy với chế độ tương thích để đảm bảo không gặp vấn đề về hành vi hoặc API.

5. Ví dụ

android {
    compileSdkVersion 33 // API level 33
    defaultConfig {
        minSdkVersion 21   // API level 21 (Lollipop)
        targetSdkVersion 33 // API level 33
    }
}

Trong ví dụ này:

  • Ứng dụng được biên dịch với API level 33 (Android 13).
  • Ứng dụng có thể chạy trên bất kỳ thiết bị nào có API level từ 21 (Lollipop) trở lên.
  • Ứng dụng được tối ưu hóa và đã thử nghiệm cho API level 33.
Tải Ứng Dụng MN HKD

Quản lý kế toán hộ kinh doanh dễ dàng, mọi lúc mọi nơi