compiledSdkVersion
Önceki cevaplarda birçok fark görüyorum , bu yüzden android'in web sayfasını takip ederek burada biraz açıklama yapmaya çalışacağım.
A - Android ne diyor
Göre https://developer.android.com/guide/topics/manifest/uses-sdk-element.html :
Bir platform sürümü ve API Düzeyi seçme Uygulamanızı geliştirirken, uygulamayı derleyeceğiniz platform sürümünü seçmeniz gerekecektir. Genel olarak uygulamanızı, uygulamanızın destekleyebileceği platformun mümkün olan en düşük sürümüne göre derlemelisiniz.
Yani, Android'e göre bu doğru sipariş olurdu:
compiledSdkVersion = minSdkVersion <= targetSdkVersion
B - Başkalarının söyledikleri
Bazı insanlar her zaman mevcut olan en yüksek compiledSkdVersion kullanmayı tercih eder. Bunun nedeni, minSdkVersion'dan daha yeni API özellikleri kullanıp kullanmadığını kontrol etmek için kod ipuçlarına güvenecek olmalarıdır;
Kullanımdan kaldırılan kullanımlarla ilgili ipuçları da kodda görünerek bir şeyin daha yeni API düzeylerinde kullanımdan kaldırıldığını size bildirir, böylece isterseniz buna göre tepki verebilirsiniz.
Yani, bu diğerlerine göre doğru sipariş olacaktır:
minSdkVersion <= targetSdkVersion <= compiledSdkVersion (highest possible)
Ne yapalım?
Bu size ve uygulamanıza bağlıdır.
Çalışma zamanında kullanıcının API düzeyine göre farklı API özellikleri sunmayı planlıyorsanız, B seçeneğini kullanın. Kodlama sırasında kullandığınız özellikler hakkında ipuçları alırsınız. Çalışma zamanında kullanıcı API düzeyini kontrol etmeden minSdkVersion'dan daha yeni API özelliklerini kullanmadığınızdan emin olun, aksi takdirde uygulamanız kilitlenir. Bu yaklaşım aynı zamanda kodlama sırasında nelerin yeni ve neyin eski olduğunu öğrenme avantajına sahiptir.
Neyin yeni veya eski olduğunu zaten biliyorsanız ve kesinlikle güncellenmeyecek tek seferlik bir uygulama geliştiriyorsanız veya koşullu olarak yeni API özellikleri sunmayacağınızdan eminseniz, A seçeneğini kullanın. kullanımdan kaldırılmış ipuçlarıyla, daha yeni API özelliklerini kullanamayacak olsanız bile asla kullanamazsınız.