Android chạy trên một dải thiết bị và phiên bản hệ điều hành khổng lồ ("phân mảnh"), nên ứng dụng phải xử lý tính tương thích phiên bản — hỗ trợ phiên bản cũ trong khi dùng tính năng mới một cách an toàn. Hiểu các cấp SDK, thư viện tương thích, và suy giảm nhẹ nhàng là quan trọng.
Các cấp SDK: min, target, compile
minSdk → phiên bản Android CŨ NHẤT mà ứng dụng hỗ trợ (thiết bị cũ hơn không cài được)
→ minSdk thấp hơn = tiếp cận nhiều thiết bị hơn, nhưng nhiều công việc tương thích hơn
targetSdk → phiên bản mà ứng dụng được KIỂM THỬ/tối ưu (và chọn vào các hành vi của nó)
→ nên giữ cập nhật (Play yêu cầu một targetSdk gần đây)
compileSdk → phiên bản SDK dùng để BIÊN DỊCH (truy cập các API mới hơn)
→ Cân bằng: hỗ trợ đủ thiết bị cũ (minSdk) trong khi nhắm hành vi hiện tại (targetSdk).
