Mục Lục
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 đặtminSdkVersion
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.
Xin chào,
Bài viết này sử dụng AI ChatGPT để viết sau đó được lựa chọn, biên tập lại nội dung, chỉ một phần nhỏ các bài là tôi tự viết. Nội dung thể hiện ý chí cá nhân về các vấn đề, giải pháp. Tôi lưu tại website này để học, tra cứu và chia sẻ.
Tôi là Minh, sống tại Hà Nội, kỹ sư phần mềm với hơn 20 năm kinh nghiệm. Các ngôn ngữ yêu thích của tôi là Swift, Objective-C, Java, Kotlin, .NET, HTML, JavaScript, CSS, Bootstrap, jQuery, AngularJS, Angular…
Các bạn có thể tải app của tôi trên App Store hoặc Google Play:
QuestionBank-Ôn thi vào 10: phiên bản iOS, phiên bản Android
TypingTest by QuestionBank: phiên bản iOS, phiên bản Android
Xin cảm ơn,
Minh