<uses-sdk>

Google Play utilizza <uses-sdk> attributi dichiarati nel file manifest dell'app per filtrare l'app in base ai dispositivi che non soddisfano i requisiti di versione della piattaforma. Prima di impostare questi di attribuzione, assicurati di comprendere Filtri di Google Play.

sintassi:
<uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />
contenuto in:
<manifest>
description:

Consente di esprimere la compatibilità di un'applicazione con una o più versioni della piattaforma Android mediante un numero intero a livello API. Il livello API espresso da un'applicazione viene confrontato con Livello API di un determinato sistema Android, che può variare a seconda del dispositivo Android.

Nonostante il nome, questo elemento viene utilizzato per specificare il livello API, non Il numero di versione del software development kit (SDK) o della piattaforma Android. Il livello API è sempre un singolo numero intero. Non puoi ricavare il livello API da il numero di versione Android associato. Ad esempio, non equivale al o la somma delle versioni maggiori e minori.

Leggi anche il documento il controllo delle versioni delle tue applicazioni.

attributi:
android:minSdkVersion
Un numero intero che indica il livello API minimo richiesto dell'applicazione. Il sistema Android impedisce all'utente di installare l'applicazione se il livello API del sistema è inferiore al valore specificato questo attributo. Dichiara sempre questo attributo.

Attenzione:se non dichiari , il sistema assume un valore predefinito di "1", che indica che il tuo è compatibile con tutte le versioni di Android. Se non è e non hai dichiarato il minSdkVersion corretto, quando è installata su un sistema con un livello API incompatibile, l'applicazione si arresta in modo anomalo durante il runtime quando si cerca di accedere alle API non disponibili. Per per questo motivo, assicurati di dichiarare il livello API appropriato nel Attributo minSdkVersion.

android:targetSdkVersion
Un numero intero che indica il livello API scelto come target dell'applicazione. Se non viene configurato, il valore predefinito uguale a quello specificato a minSdkVersion.

Questo attributo comunica al sistema che hai eseguito il test rispetto alla versione di destinazione; il sistema non attiva alcun comportamento di compatibilità per mantenere la compatibilità con le versioni future dell'app con la versione di destinazione. L'applicazione può comunque essere eseguita su versioni precedenti (fino a minSdkVersion).

Per via dell'evoluzione di Android a ogni nuova versione, alcuni comportamenti e persino aspetti visivi possono cambiare. Tuttavia, se il livello API della piattaforma è superiore alla versione dichiarata dall'targetSdkVersion dell'app, il sistema può abilitare comportamenti di compatibilità in modo che la tua app continua a funzionare nel modo previsto. Puoi disattivare questa compatibilità specificando targetSdkVersion in modo che corrisponda all'API livello della piattaforma su cui è in esecuzione.

Ad esempio, l'impostazione di questo valore su "11" o successiva consente al sistema di applicare il tema predefinito Holo alla tua app quando viene eseguito su Android 3.0 o superiore e disattiva anche lo schermo modalità di compatibilità durante l'esecuzione su schermi più grandi, perché il supporto per il livello API 11 è implicitamente supporta schermi più grandi.

Il sistema può attivare molti comportamenti di compatibilità in base al valore impostato per questo attributo. Molti di questi comportamenti sono descritti dalle versioni della piattaforma corrispondenti nel riferimento Build.VERSION_CODES.

Per gestire la tua applicazione insieme a ogni release di Android, aumenta il valore di questo attributo in modo che corrisponda al livello API più recente, quindi testa accuratamente la tua applicazione la versione della piattaforma corrispondente.

Data presentazione: livello API 4

android:maxSdkVersion
Un numero intero che indica il livello API massimo su cui viene utilizzata l'applicazione progettato per l'esecuzione.

In Android 1.5, 1.6, 2.0 e 2.0.1, il sistema controlla il valore durante l'installazione di un'applicazione e la nuova convalida dell'applicazione dopo un aggiornamento di sistema. In entrambi i casi, se l'applicazione L'attributo maxSdkVersion è inferiore al livello API utilizzato da il sistema stesso, non permette l'installazione dell'applicazione. Nel caso della riconvalida dopo l'aggiornamento del sistema, rimuove l'applicazione dal dispositivo.

Per spiegare come questo attributo può influire sulla tua applicazione dopo che il sistema , considera il seguente esempio:

un'applicazione con la dichiarazione maxSdkVersion="5" nel sia pubblicato su Google Play. Un utente sul cui dispositivo è installato Android 1.6 (livello API 4) scarica e installa l'app. Dopo alcune settimane, l'utente riceve un aggiornamento di sistema over-the-air ad Android 2.0 (livello API 5). Dopo il aggiornamento è installato, il sistema controlla maxSdkVersion e lo riconvalida correttamente.

La dell'applicazione funziona normalmente. Tuttavia, qualche tempo dopo, il dispositivo riceve un altro aggiornamento di sistema, questa volta ad Android 2.0.1 (livello API 6). Dopo il aggiornare, il sistema non può più riconvalidare l'applicazione perché il proprio livello API (6) è ora superiore al massimo supportato dall'applicazione (5). Il sistema impedisce che l'applicazione sia visibile all'utente, in rimuovendolo dal dispositivo.

Avviso: sconsigliamo di dichiarare questo . Innanzitutto, non è necessario impostare l'attributo come mezzo per bloccare del deployment della tua applicazione su nuove versioni della piattaforma Android vengono rilasciate. In base alla progettazione, le nuove versioni della piattaforma la compatibilità con le versioni precedenti. L'applicazione funziona correttamente con le nuove versioni a condizione che utilizzi solo API standard e segua le best practice per lo sviluppo. In secondo luogo, in alcuni casi la dichiarazione dell'attributo può comportare la rimozione dell'applicazione dagli account utente ai dispositivi, dopo un sistema eseguire l'aggiornamento a un livello API superiore. La maggior parte dei dispositivi su cui l'applicazione verrà probabilmente installato e riceveranno aggiornamenti periodici di sistema over-the-air, valuta l'effetto sulla tua applicazione prima di impostare .

Data presentazione: livello API 4

Alcune versioni di Android (oltre ad Android 2.0.1) controlla o applica l'attributo maxSdkVersion durante l'installazione o la riconvalida. Google Play continua a utilizzare l'attributo come filtro, tuttavia, quando si presentano agli utenti applicazioni disponibili per scaricare l'app.
introdotto in:
Livello API 1

Che cos'è il livello API?

Il livello API è un valore intero che identifica in modo univoco l'API framework revisione offerta da una versione della piattaforma Android.

La piattaforma Android fornisce un'API framework che le applicazioni possono utilizzare per a interagire con il sistema Android sottostante. L'API framework è composta da:

  • Un insieme principale di pacchetti e classi
  • Un insieme di elementi e attributi XML per la dichiarazione di un file manifest
  • Un insieme di elementi e attributi XML per la dichiarazione e l'accesso alle risorse
  • Un insieme di intenti
  • Un insieme di autorizzazioni che le applicazioni possono richiedere, nonché di autorizzazioni applicazioni delle norme incluse nel sistema

Ogni versione successiva della piattaforma Android può includere aggiornamenti delle API Android Application Framework.

Gli aggiornamenti all'API Framework sono progettati in modo da mantenere la nuova API compatibili con le versioni precedenti dell'API. In altre parole, la maggior parte delle modifiche all'API sono cumulative e introducono funzionalità nuove o sostitutive. Come parti dell'API viene eseguito l'upgrade, le parti sostituite precedenti sono deprecate ma non vengono rimosse, quindi che le applicazioni esistenti possano continuare a utilizzarli.

In un numero molto ridotto di casi, parti dell'API vengono modificate o rimosse, anche se in genere tali modifiche vengono necessari solo per supportare la robustezza delle API e la sicurezza delle applicazioni o del sistema. Tutti le altre parti dell'API delle revisioni precedenti vengono trasferite senza modifica.

L'API del framework fornita da una piattaforma Android viene specificata utilizzando una un identificatore intero chiamato livello API. Ogni versione della piattaforma Android supporta esattamente un livello API, sebbene il supporto sia implicito per tutti i livelli API precedenti (fino al livello API 1). La release iniziale della piattaforma Android fornita Il livello API 1 e le release successive hanno incrementato il livello API.

La tabella seguente specifica il livello API supportato da ciascuna versione dell'interfaccia la piattaforma Android. Per informazioni sul numero relativo di dispositivi che esegui ogni versione, consulta la dashboard di distribuzione.

Versione piattaformaLivello APICODICE_VERSIONENote
Android 15 35 VANILLA_ICE_CREAM Caratteristiche principali della piattaforma
Android 14 34 UPSIDE_DOWN_CAKE Caratteristiche principali della piattaforma
Android 13 33 TIRAMISU Caratteristiche principali della piattaforma
Android 12 32 S_V2 Caratteristiche principali della piattaforma
31 S Caratteristiche principali della piattaforma
Android 11 30 R Caratteristiche principali della piattaforma
Android 10 29 Q Caratteristiche principali della piattaforma
Android 9 28 P Caratteristiche principali della piattaforma
Android 8.1 27 O_MR1 Caratteristiche principali della piattaforma
Android 8.0 26 O Caratteristiche principali della piattaforma
Android 7.1.1
Android 7.1
25 N_MR1 Caratteristiche principali della piattaforma
Android 7.0 24 N Caratteristiche principali della piattaforma
Android 6.0 23 M Caratteristiche principali della piattaforma
Android 5.1 22 LOLLIPOP_MR1 Piattaforma Momenti salienti
Android 5.0 21 LOLLIPOP
Android 4,4 W 20 KITKAT_WATCH KitKat solo per indossabili
Android 4.4 19 KITKAT Piattaforma Momenti salienti
Android 4.3 18 JELLY_BEAN_MR2 Piattaforma Momenti salienti
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1 Piattaforma Momenti salienti
Android 4.1, 4.1.1 16 JELLY_BEAN Piattaforma Momenti salienti
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1 Piattaforma Momenti salienti
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1 Caratteristiche principali della piattaforma
Android 3.0.x 11 HONEYCOMB Caratteristiche principali della piattaforma
Android 2.3.4
Android 2.3.3
10 GINGERBREAD_MR1 Piattaforma Momenti salienti
Android 2.3.2
Android 2.3.1
Android 2.3
9 GINGERBREAD
Android 2.2.x 8 FROYO Caratteristiche principali della piattaforma
Android 2.1.x 7 ECLAIR_MR1 Piattaforma Momenti salienti
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT Caratteristiche principali della piattaforma
Android 1.5 3 CUPCAKE Caratteristiche principali della piattaforma
Android 1.1 2 BASE_1_1
Android 1.0 1 BASE

Utilizzi del livello API in Android

L'identificatore a livello di API ha un ruolo fondamentale per garantire la migliore esperienza possibile a utenti e sviluppatori di applicazioni:

  • Consente alla piattaforma Android di descrivere la revisione massima dell'API del framework che supporta.
  • Consente alle applicazioni di descrivere la revisione dell'API del framework che che ti servono.
  • Consente al sistema di negoziare l'installazione di applicazioni sul in modo da non installare applicazioni incompatibili con la versione.

Ogni versione della piattaforma Android archivia il proprio identificatore di livello API internamente, in lo stesso sistema Android.

Le applicazioni possono utilizzare un elemento manifest fornito dal framework API (<uses-sdk>) per descrivere il numero minimo e massimo di API ai quali possono essere eseguiti, nonché il livello API preferito che per cui sono stati progettati. L'elemento offre tre attributi chiave:

  • android:minSdkVersion: il livello API minimo su cui può essere eseguita l'applicazione. Il valore predefinito è "1".
  • android:targetSdkVersion: il livello API su cui è progettata l'applicazione. In alcuni casi, questo consente l'applicazione utilizza elementi manifest o comportamenti definiti nella A livello di API, invece di essere limitato all'utilizzo solo di quelli definiti per il livello API minimo.
  • android:maxSdkVersion: il livello API massimo su cui può essere eseguita l'applicazione. Importante: leggi le informazioni su questo attributo in questa pagina prima di utilizzarlo.

Ad esempio, per specificare il livello minimo dell'API di sistema che un'applicazione richiede per l'esecuzione, l'applicazione include nel file manifest una Elemento <uses-sdk> con android:minSdkVersion . Il valore di android:minSdkVersion è il numero intero corrispondente al livello API della prima versione della piattaforma Android in cui può essere eseguita l'applicazione.

Quando un utente tenta di installare un'applicazione o durante la riconvalida di un'applicazione dopo un aggiornamento di sistema, il sistema Android controlla innanzitutto <uses-sdk> nel file manifest dell'applicazione e confronta i valori con il proprio livello API interno. Il sistema consente l'installazione inizierà solo se le seguenti condizioni sono soddisfatte:

  • Se viene dichiarato un attributo android:minSdkVersion, il relativo valore è minore o uguale al numero intero del livello API del sistema. Se non viene dichiarato, il sistema presuppone che l'applicazione richieda il livello API 1.
  • Se viene dichiarato un attributo android:maxSdkVersion, il relativo valore è uguale o superiore al numero intero del livello API del sistema. Se non viene dichiarato, il sistema presuppone che l'applicazione non ha un livello API massimo. Leggi description di questo attributo per ulteriori informazioni su il modo in cui il sistema lo gestisce.

Quando viene dichiarato nel file manifest di un'applicazione, viene restituito un valore <uses-sdk> potrebbe avere il seguente aspetto:

<manifest>
  <uses-sdk android:minSdkVersion="5" />
  ...
</manifest>

Il motivo principale per cui un'applicazione dichiara un livello API in android:minSdkVersion deve comunicare al sistema Android che utilizza le API che sono state introdotte nel livello API specificato.

Se l'applicazione viene installata in qualche modo su una piattaforma con un livello API inferiore, ma si arresta in modo anomalo in fase di runtime quando tenta di accedere ad API che non esistono. Il sistema impedisce questo risultato non consentendo all'applicazione installarle se il livello API più basso richiesto è superiore a quello della di Google Cloud sul dispositivo di destinazione.

Considerazioni sullo sviluppo

Le sezioni seguenti forniscono informazioni relative al livello API di cui devi disporre devi considerare durante lo sviluppo dell'applicazione.

Compatibilità con l'inoltro delle applicazioni

Le applicazioni Android sono in genere compatibili con le nuove versioni la piattaforma Android.

Poiché quasi tutte le modifiche all'API Framework sono cumulative, sviluppata utilizzando una determinata versione dell'API, come specificato di livello API, è compatibile con le versioni successive della piattaforma Android e livelli API più elevati. L'applicazione può essere eseguita su tutte le versioni successive della piattaforma Android, tranne in casi isolati in cui l'applicazione utilizza un parte dell'API, che in seguito verrà rimossa per qualche motivo.

La compatibilità con l'inoltro è importante perché molti dispositivi Android ricevere aggiornamenti di sistema over-the-air (OTA). L'utente potrebbe installare dell'applicazione e di utilizzarla correttamente, per poi ricevere in seguito l'aggiornamento OTA della piattaforma Android. Una volta installato l'aggiornamento, l'applicazione viene eseguito in una nuova versione del runtime dell'ambiente, ma una che include ancora l'API e le funzionalità di sistema da cui dipende l'applicazione.

Modifiche al di sotto dell'API, ad esempio nella zona può influire sulla tua applicazione quando viene eseguita completamente gestito di Google Cloud. Per te è importante, in quanto l'applicazione sviluppatore, per capire l'aspetto e il comportamento dell'applicazione in ogni sistema completamente gestito di Google Cloud.

Per aiutarti a testare la tua applicazione su diverse versioni di Android. l'SDK per Android include più piattaforme che puoi scaricare. Ogni piattaforma include un'immagine di sistema compatibile che puoi eseguire in una durata di visualizzazione media per testare l'applicazione.

Compatibilità con le versioni precedenti dell'applicazione

Le applicazioni Android non sono necessariamente compatibili con le versioni precedenti di la piattaforma Android precedente alla versione su cui sono stati compilati.

Ogni nuova versione della piattaforma Android può includere nuove API del framework, come quelle che concedono alle applicazioni l'accesso a nuove funzionalità della piattaforma o sostituiscono le parti API esistenti. Le nuove API sono accessibili alle applicazioni quando vengono eseguite su la nuova piattaforma, nonché quando vengono eseguite su versioni successive di dalla piattaforma, come specificato dal livello API. Ma poiché le versioni precedenti la piattaforma non includono le nuove API, le applicazioni che utilizzano le nuove API non possono possono essere eseguiti su queste piattaforme.

Sebbene non sia probabile che un dispositivo Android subisca il downgrade a una versione precedente della piattaforma, è importante capire che sul campo probabilmente ci sono molti dispositivi che eseguono versioni precedenti completamente gestita. Anche tra i dispositivi che ricevono aggiornamenti OTA, alcuni potrebbero subire ritardi potrebbero non ricevere aggiornamenti per un periodo di tempo significativo.

Seleziona una versione della piattaforma e un livello API

Quando sviluppi la tua applicazione, puoi scegliere la versione della piattaforma sulla quale viene compilata l'applicazione. Nella in generale, compila la tua applicazione sulla base della piattaforma supportata dalla tua applicazione.

Puoi determinare la versione della piattaforma più bassa possibile compilando il rispetto a target di build successive. Dopo aver determinato la versione più bassa, crea una durata di visualizzazione media utilizzando la piattaforma corrispondente la versione e il livello API e testare l'applicazione. Assicurati di dichiarare attributo android:minSdkVersion nel file manifest dell'applicazione e imposta il suo valore sul livello API della versione della piattaforma.

Dichiara un livello API minimo

Se crei un'applicazione che utilizza API o funzionalità di sistema introdotte in all'ultima versione della piattaforma, imposta android:minSdkVersion al livello API più recente completamente gestita. In questo modo gli utenti potranno installare solo se sui dispositivi è in esecuzione una versione compatibile di Android. completamente gestita. In questo modo, l'applicazione può funzionare correttamente sui loro dispositivi.

Se la tua applicazione utilizza API introdotte nell'ultima versione della piattaforma, ma non dichiara un attributo android:minSdkVersion, funziona correttamente sui dispositivi con la versione più recente della piattaforma, ma non su dispositivi con versioni precedenti della piattaforma. Quest'ultimo caso, l'applicazione si arresta in modo anomalo in fase di runtime quando prova a utilizzare API che non già esistenti nelle versioni precedenti.

Esegui test rispetto a livelli API più elevati

Dopo aver compilato la domanda, assicurati di testarla sul piattaforma specificata nel campo android:minSdkVersion dell'applicazione . Per farlo, crea una durata di visualizzazione media che utilizzi la versione della piattaforma richiesta dalla la tua applicazione. Inoltre, per verificare la compatibilità con avanti, esegui e testare l'applicazione su tutte le piattaforme che utilizzano un livello API superiore a questo. utilizzata dalla tua applicazione.

L'SDK per Android include più versioni della piattaforma che puoi utilizzare, inclusa la versione più recente, inoltre fornisce uno strumento di aggiornamento scaricare altre versioni della piattaforma in base alle esigenze.

Per accedere al programma di aggiornamento, usa lo strumento a riga di comando android, nella directory <sdk>/tools. Puoi avviare il programma di aggiornamento dell'SDK in esecuzione: android sdk. Puoi Inoltre, fai doppio clic sul file android.bat (Windows) o android (OS X/Linux).

Per eseguire l'applicazione su diverse versioni della piattaforma nell'emulatore: crea una durata di visualizzazione media per ogni versione della piattaforma che vuoi testare. Per ulteriori informazioni per informazioni sulla durata di visualizzazione media, vedi Creare e gestire i dispositivi virtuali. Se utilizzi un dispositivo fisico per i test, assicurati di conoscere il livello API della piattaforma Android in esecuzione. Consulta la tabella in questo documento per un elenco delle versioni della piattaforma e dei relativi livelli API.

Filtra la documentazione di riferimento per livello API

Le pagine della documentazione di riferimento della piattaforma Android offrono "Livello API" nell'area in alto a sinistra di ogni pagina. Puoi utilizzare lo per mostrare la documentazione solo per parti dell'API che sono effettivamente accessibile alla tua applicazione, in base al livello API specificato l'attributo android:minSdkVersion del relativo file manifest.

Per utilizzare i filtri, seleziona l'API livello specificato dall'applicazione dal menu. API introdotte in futuro I livelli API diventano quindi non selezionabili e i relativi contenuti vengono mascherati, in quanto non accessibile alla tua applicazione.

Se filtri per livello API nella documentazione non viene fornita una visualizzazione le novità e le novità introdotte in ogni livello API. Offre un modo per per visualizzare l'intera API associata a un determinato livello API, escludendo l'API introdotti in livelli API successivi.

Per tornare a visualizzare la documentazione completa, Seleziona REL nella parte superiore del menu del livello API. Per impostazione predefinita, il filtro dei livelli API Disabilitata, in modo da poter visualizzare l'API completa del framework, indipendentemente dal livello API.

La documentazione di riferimento per i singoli elementi dell'API specifica il livello API a cui ogni elemento viene introdotto. Livello API per pacchetti e classi è specificato come "Aggiunto nel livello API" al nell'angolo in alto a destra dell'area dei contenuti in ogni pagina della documentazione. Livello API per i membri del corso è specificato nelle intestazioni dettagliate della descrizione, sul margine destro.