Tôi thấy rất nhiều sự khác biệt về compiledSdkVersion
các câu trả lời trước đây, vì vậy tôi sẽ cố gắng làm rõ một chút ở đây, sau trang web của Android.
A - Những gì Android nói
Theo https://developer.android.com/guide/topics/manifest/uses-sdk-element.html :
Chọn phiên bản nền tảng và Cấp độ API Khi bạn đang phát triển ứng dụng của mình, bạn sẽ cần chọn phiên bản nền tảng mà bạn sẽ biên dịch ứng dụng. Nói chung, bạn nên biên dịch ứng dụng của mình theo phiên bản thấp nhất có thể của nền tảng mà ứng dụng của bạn có thể hỗ trợ.
Vì vậy, đây sẽ là thứ tự đúng theo Android:
compiledSdkVersion = minSdkVersion <= targetSdkVersion
B - Những gì người khác cũng nói
Một số người thích luôn luôn sử dụng trình biên dịchSkdVersion cao nhất hiện có. Đó là bởi vì họ sẽ dựa vào gợi ý mã để kiểm tra xem họ có đang sử dụng các tính năng API mới hơn minSdkVersion hay không, do đó thay đổi mã để không sử dụng chúng hoặc kiểm tra phiên bản API của người dùng trong thời gian chạy để sử dụng chúng một cách có điều kiện cho các phiên bản API cũ hơn.
Gợi ý về việc sử dụng không dùng nữa cũng sẽ xuất hiện trong mã, cho bạn biết rằng có thứ gì đó không được dùng ở các cấp API mới hơn, do đó bạn có thể phản ứng tương ứng nếu muốn.
Vì vậy, đây sẽ là thứ tự đúng theo người khác:
minSdkVersion <= targetSdkVersion <= compiledSdkVersion (highest possible)
Phải làm sao
Nó phụ thuộc vào bạn và ứng dụng của bạn.
Nếu bạn dự định cung cấp các tính năng API khác nhau theo cấp độ API của người dùng khi chạy, hãy sử dụng tùy chọn B. Bạn sẽ nhận được gợi ý về các tính năng bạn sử dụng trong khi mã hóa. Chỉ cần đảm bảo rằng bạn không bao giờ sử dụng các tính năng API mới hơn minSdkVersion mà không kiểm tra mức API của người dùng khi chạy, nếu không ứng dụng của bạn sẽ bị sập. Cách tiếp cận này cũng có lợi ích của việc học những gì mới và những gì cũ trong khi mã hóa.
Nếu bạn đã biết những gì mới hoặc cũ và bạn đang phát triển một ứng dụng một lần mà chắc chắn sẽ không bao giờ được cập nhật hoặc bạn chắc chắn rằng bạn sẽ không cung cấp các tính năng API mới một cách có điều kiện, sau đó sử dụng tùy chọn A. Bạn sẽ không bị làm phiền với các gợi ý không được chấp nhận và bạn sẽ không bao giờ có thể sử dụng các tính năng API mới hơn ngay cả khi bạn muốn làm điều đó.