Vedo molte differenze compiledSdkVersion
nelle risposte precedenti, quindi cercherò di chiarire un po 'qui, seguendo la pagina web di Android.
A - Cosa dice Android
Secondo https://developer.android.com/guide/topics/manifest/uses-sdk-element.html :
Selezione di una versione della piattaforma e del livello API Quando si sviluppa l'applicazione, sarà necessario scegliere la versione della piattaforma in base alla quale compilare l'applicazione. In generale, è necessario compilare l'applicazione con la versione più bassa possibile della piattaforma supportata dall'applicazione.
Quindi, questo sarebbe l'ordine giusto secondo Android:
compiledSdkVersion = minSdkVersion <= targetSdkVersion
B - Quello che dicono anche gli altri
Alcune persone preferiscono utilizzare sempre la versione compilata più alta disponibile. È perché si affideranno ai suggerimenti sul codice per verificare se stanno utilizzando funzionalità API più recenti rispetto a minSdkVersion, quindi cambiando il codice per non usarle o controllando la versione dell'API utente in fase di runtime per usarle condizionalmente con fallback per versioni API precedenti.
Nel codice compaiono anche suggerimenti sugli usi deprecati, che ti informano che qualcosa è deprecato nei livelli API più recenti, quindi puoi reagire di conseguenza se lo desideri.
Quindi, questo sarebbe l'ordine giusto secondo gli altri:
minSdkVersion <= targetSdkVersion <= compiledSdkVersion (highest possible)
Cosa fare?
Dipende da te e dalla tua app.
Se si prevede di offrire funzionalità API diverse in base al livello API dell'utente in fase di esecuzione, utilizzare l'opzione B. Riceverai suggerimenti sulle funzionalità utilizzate durante la codifica. Assicurati di non utilizzare mai le funzionalità API più recenti di minSdkVersion senza controllare il livello API dell'utente in fase di esecuzione, altrimenti la tua app andrà in crash. Questo approccio ha anche il vantaggio di apprendere ciò che è nuovo e ciò che è vecchio durante la programmazione.
Se sai già cosa c'è di nuovo o di vecchio e stai sviluppando un'app unica che sicuramente non verrà mai aggiornata, o sei sicuro che non offrirai nuove funzionalità API in modo condizionale, quindi usa l'opzione A. Non ti preoccuperai con suggerimenti obsoleti e non sarai mai in grado di utilizzare le funzionalità API più recenti anche se sei tentato di farlo.