Saya melihat banyak perbedaan compiledSdkVersion
dalam jawaban sebelumnya, jadi saya akan mencoba sedikit menjelaskan di sini, mengikuti halaman web android.
A - Apa yang dikatakan Android
Menurut https://developer.android.com/guide/topics/manifest/uses-sdk-element.html :
Memilih versi platform dan Level API Saat Anda mengembangkan aplikasi, Anda harus memilih versi platform yang akan dikompilasi dengan aplikasi tersebut. Secara umum, Anda harus mengkompilasi aplikasi Anda terhadap versi terendah dari platform yang dapat didukung aplikasi Anda.
Jadi, ini adalah urutan yang benar menurut Android:
compiledSdkVersion = minSdkVersion <= targetSdkVersion
B - Apa yang orang lain katakan
Beberapa orang lebih suka untuk selalu menggunakan compileSkdVersion tertinggi yang tersedia. Itu karena mereka akan bergantung pada petunjuk kode untuk memeriksa apakah mereka menggunakan fitur API yang lebih baru daripada minSdkVersion, sehingga mengubah kode untuk tidak menggunakannya atau memeriksa versi API pengguna saat runtime untuk menggunakannya secara kondisional dengan fallback untuk versi API yang lebih lama.
Petunjuk tentang penggunaan yang sudah usang juga akan muncul dalam kode, memberi tahu Anda bahwa ada sesuatu yang sudah tidak digunakan lagi di tingkat API yang lebih baru, sehingga Anda dapat bereaksi sesuai dengan itu jika Anda mau.
Jadi, ini akan menjadi urutan yang benar menurut yang lain:
minSdkVersion <= targetSdkVersion <= compiledSdkVersion (highest possible)
Apa yang harus dilakukan?
Itu tergantung pada Anda dan aplikasi Anda.
Jika Anda berencana untuk menawarkan fitur API yang berbeda sesuai dengan tingkat API pengguna saat runtime, gunakan opsi B. Anda akan mendapatkan petunjuk tentang fitur yang Anda gunakan saat pengkodean. Pastikan Anda tidak pernah menggunakan fitur API yang lebih baru daripada minSdkVersion tanpa memeriksa level API pengguna saat runtime, jika tidak aplikasi Anda akan macet. Pendekatan ini juga memiliki manfaat mempelajari apa yang baru dan apa yang lama saat coding.
Jika Anda sudah tahu apa yang baru atau lama dan Anda sedang mengembangkan aplikasi satu kali yang pasti tidak akan pernah diperbarui, atau Anda yakin tidak akan menawarkan fitur API baru secara kondisional, maka gunakan opsi A. Anda tidak akan terganggu dengan petunjuk yang sudah usang dan Anda tidak akan pernah dapat menggunakan fitur API yang lebih baru bahkan jika Anda tergoda untuk melakukannya.