<applicazione>

sintassi:
<application android:allowTaskReparenting=["true" | "false"]
             android:allowBackup=["true" | "false"]
             android:allowClearUserData=["true" | "false"]
             android:allowNativeHeapPointerTagging=["true" | "false"]
             android:appCategory=["accessibility" | "audio" | "game" |
             "image" | "maps" | "news" | "productivity" | "social" | "video"]
             android:backupAgent="string"
             android:backupInForeground=["true" | "false"]
             android:banner="drawable resource"
             android:dataExtractionRules="string resource"
             android:debuggable=["true" | "false"]
             android:description="string resource"
             android:enabled=["true" | "false"]
             android:enableOnBackInvokedCallback=["true" | "false"]
             android:extractNativeLibs=["true" | "false"]
             android:fullBackupContent="string"
             android:fullBackupOnly=["true" | "false"]
             android:gwpAsanMode=["always" | "never"]
             android:hasCode=["true" | "false"]
             android:hasFragileUserData=["true" | "false"]
             android:hardwareAccelerated=["true" | "false"]
             android:icon="drawable resource"
             android:isGame=["true" | "false"]
             android:isMonitoringTool=["parental_control" | "enterprise_management" |
             "other"]
             android:killAfterRestore=["true" | "false"]
             android:largeHeap=["true" | "false"]
             android:label="string resource"
             android:logo="drawable resource"
             android:manageSpaceActivity="string"
             android:name="string"
             android:networkSecurityConfig="xml resource"
             android:permission="string"
             android:persistent=["true" | "false"]
             android:process="string"
             android:restoreAnyVersion=["true" | "false"]
             android:requestLegacyExternalStorage=["true" | "false"]
             android:requiredAccountType="string"
             android:resizeableActivity=["true" | "false"]
             android:restrictedAccountType="string"
             android:supportsRtl=["true" | "false"]
             android:taskAffinity="string"
             android:testOnly=["true" | "false"]
             android:theme="resource or theme"
             android:uiOptions=["none" | "splitActionBarWhenNarrow"]
             android:usesCleartextTraffic=["true" | "false"]
             android:vmSafeMode=["true" | "false"] >
    . . .
</application>
contenuto in:
<manifest>
possono contenere:
<activity>
<activity-alias>
<meta-data>
<service>
<receiver>
<profileable>
<provider>
<uses-library>
<uses-native-library>
description:

La dichiarazione dell'applicazione. Questo elemento contiene elementi secondari che dichiarano ciascuno dei componenti dell'applicazione e ha attributi che possono influire su tutti i componenti.

Molti di questi attributi, come icon, label, permission, process, taskAffinity e allowTaskReparenting, impostano valori predefiniti per gli attributi corrispondenti degli elementi componenti. Altri, come debuggable, enabled, description e allowClearUserData, impostano valori per l'applicazione nel suo complesso e non vengono sostituiti dai componenti.

attributes
android:allowTaskReparenting
Se le attività definite dall'applicazione possono passare dall'attività che le ha avviate all'attività per cui hanno un'affinità quando quest'ultima viene portata in primo piano. È "true" se possono spostarsi e "false" se devono rimanere nell'attività in cui hanno iniziato. Il valore predefinito è "false".

L'elemento <activity> ha un proprio attributo allowTaskReparenting che può ignorare il valore impostato qui.

android:allowBackup

Indica se consentire all'applicazione di partecipare all'infrastruttura di backup e ripristino. Se questo attributo è impostato su "false", non viene mai eseguito il backup o il ripristino dell'applicazione, nemmeno da un backup completo del sistema che altrimenti causa il salvataggio di tutti i dati dell'applicazione utilizzando adb. Il valore predefinito di questo attributo è "true".

Nota : per le app che hanno come target Android 12 (livello API 31) o versioni successive, questo comportamento varia. Su alcuni dispositivi di alcuni produttori, non puoi disattivare la migrazione da dispositivo a dispositivo dei file della tua app.

Tuttavia, puoi disattivare il backup e il ripristino basati sul cloud dei file della tua app impostando questo attributo su "false", anche se la tua app ha come target Android 12 (livello API 31) o versioni successive.

Per saperne di più, consulta la sezione Backup e ripristino della pagina che descrive le modifiche al comportamento per le app che hanno come target Android 12 (livello API 31) o versioni successive.

android:allowClearUserData

Se consentire all'applicazione di reimpostare i dati utente. Questi dati includono flag, ad esempio se l'utente ha visualizzato i suggerimenti introduttivi, nonché impostazioni e preferenze personalizzabili dall'utente. Il valore predefinito di questo attributo è "true".

Nota:solo le app che fanno parte dell'immagine di sistema possono dichiarare esplicitamente questo attributo. Le app di terze parti non possono includere questo attributo nei file manifest.

Per maggiori informazioni, consulta la panoramica del backup dei dati.

android:allowNativeHeapPointerTagging

Indica se l'app attiva la funzionalità di tagging dei puntatori heap. Il valore predefinito di questo attributo è "true".

Nota: la disattivazione di questa funzionalità non risolve il problema di integrità del codice sottostante. I futuri dispositivi hardware potrebbero non supportare questo tag manifest.

Per saperne di più, consulta Puntatori con tag.

android:appCategory

Dichiara la categoria di questa app. Le categorie vengono utilizzate per raggruppare più app in gruppi significativi, ad esempio quando si riepiloga l'utilizzo di batteria, rete o disco. Definisci questo valore solo per le app che rientrano in una delle categorie specifiche.

Deve essere uno dei seguenti valori costanti.

ValoreDescrizione
accessibilityApp che sono principalmente app di accessibilità, come gli screen reader.
audioApp che funzionano principalmente con audio o musica, come i lettori musicali.
gameApp che sono principalmente giochi.
imageApp che funzionano principalmente con immagini o foto, come le app Fotocamera o Galleria.
mapsApp che sono principalmente app di mappe, come le app di navigazione.
newsApp che sono principalmente app di notizie, come giornali, riviste o app di sport.
productivityApp che sono principalmente app di produttività, come app di archiviazione sul cloud o per il lavoro.
socialApp principalmente social, come app di messaggistica, comunicazione, email o social network.
videoApp che funzionano principalmente con video o film, ad esempio app di streaming video.

android:backupAgent
Il nome della classe che implementa l'agente di backup dell'applicazione, una sottoclasse di BackupAgent. Il valore dell'attributo è un nome di classe completo, ad esempio "com.example.project.MyBackupAgent". Tuttavia, come abbreviazione, se il primo carattere del nome è un punto, ad esempio ".MyBackupAgent", viene aggiunto al nome del pacchetto specificato nell'elemento <manifest>.

Non esiste un valore predefinito. Il nome deve essere specifico.

android:backupInForeground
Indica che le operazioni di backup automatico possono essere eseguite su questa app anche se l'app si trova in uno stato equivalente a quello di primo piano. Il sistema chiude un'app durante l'operazione di backup automatico, quindi utilizza questo attributo con cautela. L'impostazione di questo flag su "true" può influire sul comportamento dell'app mentre è attiva.

Il valore predefinito è "false", il che significa che il sistema operativo evita di eseguire il backup dell'app mentre è in esecuzione in primo piano, ad esempio un'app di musica che riproduce attivamente musica utilizzando un servizio nello stato startForeground().

android:banner
Una risorsa drawable che fornisce un banner grafico esteso per l'elemento associato. Utilizza questo tag con il tag <application> per fornire un banner predefinito per tutte le attività dell'applicazione o con il tag <activity> per fornire un banner per un'attività specifica.

Il sistema utilizza il banner per rappresentare un'app nella schermata Home di Android TV. Pertanto, specifica questo valore solo per le applicazioni con un'attività che gestisce l'intent CATEGORY_LEANBACK_LAUNCHER.

Questo attributo è impostato come riferimento a una risorsa disegnabile contenente l'immagine, ad esempio "@drawable/banner". Non è presente alcun banner predefinito.

Per maggiori informazioni, consulta Fornire un banner della schermata Home.

android:dataExtractionRules

Le applicazioni possono impostare questo attributo su una risorsa XML in cui specificano le regole che determinano quali file e directory possono essere copiati dal dispositivo nell'ambito delle operazioni di backup o trasferimento.

Per informazioni sul formato del file XML, vedi Backup e ripristino.

android:debuggable
Indica se l'applicazione può essere sottoposta a debug, anche quando viene eseguita su un dispositivo in modalità utente. È "true" se può essere e "false" in caso contrario. Il valore predefinito è "false".
android:description
Testo leggibile dall'utente sull'applicazione, più lungo e descrittivo dell'etichetta dell'applicazione. Il valore viene impostato come riferimento a una risorsa stringa. A differenza dell'etichetta, non può essere una stringa non elaborata. Non esiste un valore predefinito.
android:enabled
Indica se il sistema Android può creare istanze dei componenti dell'applicazione. È "true" se può farlo e "false" in caso contrario. Se il valore è "true", l'attributo enabled di ogni componente determina se il componente è abilitato. Se il valore è "false", sostituisce i valori specifici del componente e tutti i componenti vengono disattivati.

Il valore predefinito è "true".

android:enableOnBackInvokedCallback

Questo flag ti consente di disattivare le animazioni di sistema predittive a livello di app.

Imposta android:enableOnBackInvokedCallback=false per disattivare le animazioni del gesto Indietro predittivo a livello di app e indica al sistema di ignorare le chiamate all'API della piattaforma OnBackInvokedCallback.

android:extractNativeLibs

A partire da AGP 4.2.0, l'opzione DSL useLegacyPackaging sostituisce l'attributo manifest extractNativeLibs. Utilizza useLegacyPackaging nel file build.gradle della tua app anziché extractNativeLibs nel file manifest per configurare il comportamento di compressione della libreria nativa. Per saperne di più, consulta le note di rilascio Utilizzare il DSL per creare pacchetti di librerie native compresse.

Questo attributo indica se il programma di installazione del pacchetto estrae le librerie native dall'APK nel file system. Se è impostato su "false", le librerie native vengono archiviate non compresse nell'APK. Anche se l'APK potrebbe essere più grande, l'applicazione viene caricata più velocemente perché le librerie vengono caricate direttamente dall'APK in fase di runtime.

Il valore predefinito di extractNativeLibs dipende da minSdkVersion e dalla versione di AGP che utilizzi. Nella maggior parte dei casi, il comportamento predefinito è probabilmente quello che ti serve e non devi impostare questo attributo in modo esplicito.

android:fullBackupContent
Questo attributo rimanda a un file XML che contiene le regole di backup completo per Backup automatico. Queste regole determinano di quali file viene eseguito il backup. Per saperne di più, consulta la sintassi di configurazione XML per il backup automatico.

Questo attributo è facoltativo. Se non viene specificato, per impostazione predefinita, il backup automatico include la maggior parte dei file dell'app. Per ulteriori informazioni, vedi File di cui viene eseguito il backup.

android:fullBackupOnly
Questo attributo indica se utilizzare Backup automatico sui dispositivi in cui è disponibile. Se impostato su "true", l'app esegue il backup automatico quando è installata su un dispositivo con Android 6.0 (livello API 23) o versioni successive. Sui dispositivi meno recenti, l'app ignora questo attributo ed esegue backup di coppie chiave/valore.

Il valore predefinito è "false".

android:gwpAsanMode
Questo attributo indica se utilizzare GWP-ASan, una funzionalità di allocazione della memoria nativa che aiuta a trovare bug di tipo use-after-free e heap-buffer-overflow.

Il valore predefinito è "never".

android:hasCode
Se l'applicazione contiene codice DEX, ovvero codice che utilizza il linguaggio di programmazione Kotlin o Java. "true" se lo è e "false" in caso contrario. Quando il valore è "false", il sistema non tenta di caricare alcun codice dell'applicazione durante l'avvio dei componenti. Il valore predefinito è "true".

Se l'applicazione include codice nativo (C/C++), ma nessun codice DEX, questo valore deve essere impostato su "false". Se impostato su "true" quando l'APK non contiene codice DEX, il caricamento dell'app potrebbe non riuscire.

Questa proprietà deve tenere conto del codice incluso nell'applicazione dalle dipendenze. Se l'applicazione dipende da un AAR che utilizza codice Java/Kotlin o direttamente da un JAR, app:hasCode deve essere "true" o omesso, in quanto è il valore predefinito.

Ad esempio, la tua app potrebbe supportare Play Feature Delivery e includere moduli delle funzionalità che non generano file DEX, ovvero bytecode ottimizzato per la piattaforma Android. In questo caso, devi impostare questa proprietà su "false" nel file manifest del modulo per evitare errori di runtime.

android:hasFragileUserData
Indica se mostrare all'utente un prompt per conservare i dati dell'app quando l'utente la disinstalla. Il valore predefinito è "false".
android:hardwareAccelerated
Indica se il rendering con accelerazione hardware è abilitato per tutte le attività e le visualizzazioni in questa applicazione. È "true" se è attivata e "false" in caso contrario. Il valore predefinito è "true" se imposti minSdkVersion o targetSdkVersion su "14" o un valore superiore. In caso contrario, è "false".

A partire da Android 3.0 (livello API 11), è disponibile un renderer OpenGL con accelerazione hardware per le applicazioni per migliorare le prestazioni di molte operazioni grafiche 2D comuni. Quando il renderer con accelerazione hardware è attivato, la maggior parte delle operazioni in Canvas, Paint, Xfermode, ColorFilter, Shader e Camera vengono accelerate.

Ciò si traduce in animazioni più fluide, scorrimento più fluido e reattività complessiva migliorata, anche per le applicazioni che non utilizzano esplicitamente le librerie OpenGL del framework.

Non tutte le operazioni OpenGL 2D vengono accelerate. Se abiliti il renderer con accelerazione hardware, testa l'applicazione in modo che possa utilizzare il renderer senza errori.

Per saperne di più, leggi la guida Accelerazione hardware.

android:icon
Un'icona per l'applicazione nel suo complesso e l'icona predefinita per ciascuno dei componenti dell'applicazione. Consulta i singoli attributi icon per gli elementi <activity>, <activity-alias>, <service>, <receiver> e <provider>.

Questo attributo è impostato come riferimento a una risorsa disegnabile contenente l'immagine, ad esempio "@drawable/icon". Non è presente un'icona predefinita.

android:isGame
Indica se l'applicazione è un gioco. Il sistema potrebbe raggruppare le applicazioni classificate come giochi o visualizzarle separatamente dalle altre applicazioni. Il valore predefinito è "false".
android:isMonitoringTool

Indica che questa applicazione è progettata per monitorare altre persone.

Nota: se un'app dichiara questo attributo nel manifest, lo sviluppatore deve rispettare le norme relative agli stalkerware per pubblicare l'app su Google Play.

Non esiste un valore predefinito. Lo sviluppatore deve specificare uno dei seguenti valori:

ValoreDescrizione
"parental_control"App per il controllo genitori rivolta specificamente ai genitori che vogliono proteggere i figli.
"enterprise_management"App rivolta alle aziende che vogliono gestire e monitorare i dispositivi dati in dotazione ai dipendenti.
"other"L'app è destinata a un caso d'uso non specificato altrimenti in questa tabella.
android:killAfterRestore

Indica se l'applicazione termina dopo il ripristino delle impostazioni durante un'operazione di ripristino completo del sistema. Le operazioni di ripristino di un singolo pacchetto non causano mai l'arresto dell'applicazione. Le operazioni di ripristino completo del sistema in genere vengono eseguite una sola volta, durante la configurazione iniziale dello smartphone. Le applicazioni di terze parti in genere non devono utilizzare questo attributo.

Il valore predefinito è "true", il che significa che dopo che l'applicazione termina l'elaborazione dei dati durante un ripristino completo del sistema, si chiude.

android:largeHeap

Se i processi dell'applicazione vengono creati con un heap Dalvik di grandi dimensioni. Ciò vale per tutti i processi creati per l'applicazione. Si applica solo alla prima applicazione caricata in un processo. Se utilizzi un ID utente condiviso per consentire a più applicazioni di utilizzare un processo, tutte devono utilizzare questa opzione in modo coerente per evitare risultati imprevedibili.

La maggior parte delle app non ne ha bisogno e si concentra invece sulla riduzione della memoria utilizzata complessiva per migliorare le prestazioni. L'attivazione di questa opzione non garantisce un aumento fisso della memoria disponibile, perché alcuni dispositivi sono limitati dalla memoria totale disponibile.

Per eseguire query sulle dimensioni della memoria disponibile in fase di runtime, utilizza i metodi getMemoryClass() o getLargeMemoryClass().

android:label
Un'etichetta leggibile dall'utente per l'applicazione nel suo complesso e un'etichetta predefinita per ciascuno dei componenti dell'applicazione. Consulta i singoli attributi label per gli elementi <activity>, <activity-alias>, <service>, <receiver> e <provider>.

L'etichetta è impostata come riferimento a una risorsa stringa, in modo che possa essere localizzata come le altre stringhe nell'interfaccia utente. Tuttavia, per comodità durante lo sviluppo dell'applicazione, può essere impostato anche come stringa non elaborata.

android:logo
Un logo per l'applicazione nel suo complesso e il logo predefinito per le attività. Questo attributo è impostato come riferimento a una risorsa disegnabile contenente l'immagine, ad esempio "@drawable/logo". Non esiste un logo predefinito.
android:manageSpaceActivity
Il nome completo di una sottoclasse Activity che il sistema avvia per consentire agli utenti di gestire la memoria occupata dall'applicazione sul dispositivo. L'attività viene dichiarata anche con un elemento <activity>.
android:name
Il nome completo di una sottoclasse Application implementata per l'applicazione. Quando viene avviato il processo di applicazione, questa classe viene istanziata prima di qualsiasi componente dell'applicazione.

La sottoclasse è facoltativa. La maggior parte delle applicazioni non ne ha bisogno. In assenza di una sottoclasse, Android utilizza un'istanza della classe base Application.

android:networkSecurityConfig

Specifica il nome del file XML che contiene la configurazione della sicurezza di rete dell'applicazione. Il valore è un riferimento al file di risorse XML contenente la configurazione.

Questo attributo è stato aggiunto al livello API 24.

android:permission
Il nome di un'autorizzazione necessaria ai client per interagire con l'applicazione. Questo attributo è un modo pratico per impostare un'autorizzazione che si applica a tutti i componenti dell'applicazione. Viene sovrascritta impostando gli attributi permission dei singoli componenti.

Per ulteriori informazioni sulle autorizzazioni, consulta la sezione Autorizzazioni nella panoramica del manifest dell'app e i suggerimenti per la sicurezza.

android:persistent
Se l'applicazione rimane in esecuzione in qualsiasi momento. È "true" se lo è e "false" se non lo è. Il valore predefinito è "false". Le applicazioni in genere non impostano questo flag. La modalità persistente è destinata solo a determinate applicazioni di sistema.
android:process
Il nome di un processo in cui vengono eseguiti tutti i componenti dell'applicazione. Ogni componente può sostituire questo valore predefinito impostando un proprio attributo process.

Per impostazione predefinita, Android crea un processo per un'applicazione quando deve essere eseguito il primo dei suoi componenti. Tutti i componenti vengono eseguiti in questo processo. Il nome del processo predefinito corrisponde al nome del pacchetto impostato dall'elemento <manifest>.

Se imposti questo attributo su un nome di processo condiviso con un'altra applicazione, puoi fare in modo che i componenti di entrambe le applicazioni vengano eseguiti nello stesso processo, ma solo se le due applicazioni condividono anche un ID utente e sono firmate con lo stesso certificato.

Se il nome assegnato a questo attributo inizia con i due punti (:), viene creato un nuovo processo, privato per l'applicazione, quando è necessario. Se il nome del processo inizia con un carattere minuscolo, viene creato un processo globale con quel nome. Un processo globale può essere condiviso con altre applicazioni, riducendo l'utilizzo delle risorse.

android:restoreAnyVersion
Indica che l'applicazione è pronta a tentare il ripristino di qualsiasi set di dati di cui è stato eseguito il backup, anche se il backup è stato archiviato da una versione dell'applicazione più recente di quella attualmente installata sul dispositivo. Se imposti questo attributo su "true", Backup Manager
  • $1
  • tentare un ripristino anche quando una mancata corrispondenza delle versioni suggerisce che i dati non sono compatibili. Da usare con cautela.

    Il valore predefinito di questo attributo è "false".

    android:requestLegacyExternalStorage

    Se l'applicazione vuole disattivare lo spazio di archiviazione isolato.

    Nota:a seconda delle modifiche relative alle norme o alla compatibilità delle app, il sistema potrebbe non rispettare questa richiesta di disattivazione.

    android:requiredAccountType
    Specifica il tipo di account richiesto dall'applicazione per funzionare. Se la tua app richiede un Account, il valore di questo attributo deve corrispondere al tipo di autenticatore dell'account utilizzato dalla tua app, come definito da AuthenticatorDescription, ad esempio "com.google".

    Il valore predefinito è null e indica che l'applicazione può funzionare senza alcun account.

    Poiché i profili limitati non possono aggiungere account, la specifica di questo attributo rende la tua app non disponibile da un profilo limitato, a meno che tu non dichiari anche android:restrictedAccountType con lo stesso valore.

    Attenzione: se i dati dell'account potrebbero rivelare informazioni che consentono l'identificazione personale, è importante che tu dichiari questo attributo e lasci android:restrictedAccountType null, in modo che i profili con limitazioni non possano utilizzare la tua app per accedere alle informazioni personali appartenenti all'utente proprietario.

    Questo attributo è stato aggiunto al livello API 18.

    android:resizeableActivity

    Specifica se l'app supporta la modalità multi-finestra.

    Puoi impostare questo attributo nell'elemento <activity> o <application>.

    Se imposti questo attributo su "true", l'utente può avviare l'attività in modalità schermo diviso e formato libero. Se imposti l'attributo su "false", l'app non può essere testata o ottimizzata per un ambiente multi-finestra. Il sistema può comunque mettere l'attività in modalità multi-finestra con la modalità di compatibilità applicata.

    L'impostazione di questo attributo su "true" non garantisce che non siano presenti altre app in modalità multi-finestra visibili sullo schermo, ad esempio Picture in picture, o su altri display. Pertanto, l'impostazione di questo flag non significa che la tua app abbia accesso esclusivo alle risorse.

    Per le app che hanno come target il livello API 24 o versioni successive, il valore predefinito è "true".

    Se la tua app ha come target il livello API 31 o versioni successive, questo attributo funziona in modo diverso su schermi piccoli e grandi:

    • Schermi di grandi dimensioni (sw >= 600 dp): tutte le app supportano la modalità multi-finestra. L'attributo indica se un'app può essere ridimensionata, non se supporta la modalità multi-finestra. Se resizeableActivity="false", l'app viene messa in modalità di compatibilità quando necessario per rispettare le dimensioni del display.
    • Schermi piccoli (sw < 600 dp): se resizeableActivity="true" e la larghezza minima e l'altezza minima dell'attività principale rientrano nei requisiti della modalità multi-finestra, l'app supporta la modalità multi-finestra. Se resizeableActivity="false", l'app non supporta la modalità multi-finestra indipendentemente dalla larghezza e altezza minime dell'attività.

    Il valore dell'attività principale di un'attività viene applicato a tutte le attività aggiuntive avviate nell'attività. ovvero, se l'attività radice di un'attività è ridimensionabile, il sistema considera ridimensionabili tutte le altre attività dell'attività. Se l'attività radice non è ridimensionabile, le altre attività nel task non sono ridimensionabili.

    Questo attributo è stato aggiunto al livello API 24.

    android:restrictedAccountType
    Specifica il tipo di account richiesto da questa applicazione e indica che i profili con limitazioni possono accedere agli account appartenenti all'utente proprietario. Se la tua app richiede un Account e i profili con limitazioni possono accedere agli account dell'utente principale, il valore di questo attributo deve corrispondere al tipo di autenticatore dell'account utilizzato dalla tua app, come definito da AuthenticatorDescription, ad esempio "com.google".

    Il valore predefinito è null e indica che l'applicazione può funzionare senza alcun account.

    Attenzione:la specifica di questo attributo consente ai profili con limitazioni di utilizzare la tua app con gli account appartenenti all'utente proprietario, il che potrebbe rivelare informazioni che consentono l'identificazione personale. Se l'account potrebbe rivelare dettagli personali, non utilizzare questo attributo. Dichiara invece l'attributo android:requiredAccountType per rendere la tua app non disponibile per i profili con limitazioni.

    Questo attributo è stato aggiunto al livello API 18.

    android:supportsRtl

    Dichiara se l'applicazione è disposta a supportare i layout da destra a sinistra (RTL).

    Se questa impostazione è impostata su "true" e targetSdkVersion è impostata su 17 o versioni successive, varie API RTL vengono attivate e utilizzate dal sistema in modo che la tua app possa visualizzare i layout RTL. Se questo valore è impostato su "false" o se targetSdkVersion è impostato su 16 o un valore inferiore, le API RTL vengono ignorate o non hanno effetto e la tua app si comporta allo stesso modo indipendentemente dalla direzione del layout associata alla scelta delle impostazioni internazionali dell'utente. ovvero i layout sono sempre da sinistra a destra.

    Il valore predefinito di questo attributo è "false".

    Questo attributo è stato aggiunto al livello API 17.

    android:taskAffinity
    Un nome di affinità che si applica a tutte le attività all'interno dell'applicazione, ad eccezione di quelle che impostano un'affinità diversa con i propri taskAffinity attributi. Per saperne di più, consulta questo attributo.

    Per impostazione predefinita, tutte le attività all'interno di un'applicazione condividono la stessa affinità. Il nome di questa affinità è uguale al nome del pacchetto impostato dall'elemento <manifest>.

    android:testOnly
    Indica se questa applicazione è solo a scopo di test. Ad esempio, potrebbe esporre funzionalità o dati esterni che possono causare una falla di sicurezza, ma essere utili per i test. Questo tipo di APK viene installato solo tramite adb. Non puoi pubblicarlo su Google Play.

    Android Studio aggiunge automaticamente questo attributo quando fai clic su Esegui .

    android:theme
    Un riferimento a una risorsa di stile che definisce un tema predefinito per tutte le attività nell'applicazione. Le singole attività possono ignorare il valore predefinito impostando i propri attributi theme. Per saperne di più, consulta Stili e temi.
    android:uiOptions
    Opzioni aggiuntive per l'interfaccia utente di un'attività. Deve essere uno dei seguenti valori:
    ValoreDescrizione
    "none"Nessuna opzione aggiuntiva dell'interfaccia utente. Questa è l'impostazione predefinita.
    "splitActionBarWhenNarrow"Aggiunge una barra nella parte inferiore dello schermo per visualizzare le attività nella barra delle app, nota anche come barra delle azioni, quando lo spazio orizzontale è limitato, ad esempio in modalità verticale su un dispositivo mobile. Invece di un piccolo numero di elementi di azione visualizzati nella barra dell'app nella parte superiore dello schermo, la barra dell'app si divide nella sezione di navigazione superiore e nella barra inferiore per gli elementi di azione. Ciò significa che è disponibile uno spazio ragionevole per le attività, la navigazione e gli elementi del titolo nella parte superiore. Le voci di menu non sono suddivise tra le due barre. Vengono sempre visualizzati insieme.

    Per maggiori informazioni sulla barra delle app, vedi Aggiungere la barra delle app.

    Questo attributo è stato aggiunto al livello API 14.

    android:usesCleartextTraffic
    Indica se l'app intende utilizzare il traffico di rete in testo non crittografato, ad esempio HTTP in testo non crittografato. Il valore predefinito per le app che hanno come target il livello API 27 o inferiore è "true". Le app che hanno come target il livello API 28 o superiore utilizzano "false" per impostazione predefinita.

    Nota: questo attributo sta per essere ritirato e verrà ignorato per le app che hanno come target i livelli API 38 e successivi. Specifica una configurazione di sicurezza di rete per controllare il traffico di dati in chiaro per i livelli API 24 e successivi. Se la tua app ha come target i livelli API 23 e precedenti, devi specificare android:usesCleartextTraffic oltre a una configurazione di sicurezza di rete.

    Quando l'attributo è impostato su "false", i componenti della piattaforma, ad esempio gli stack HTTP e FTP, DownloadManager e MediaPlayer, rifiutano le richieste dell'app di utilizzare il traffico cleartext.

    È vivamente consigliato alle librerie di terze parti di rispettare anche questa impostazione. Il motivo principale per evitare il traffico in testo non crittografato è la mancanza di riservatezza, autenticità e protezioni contro la manomissione. Un malintenzionato può intercettare i dati trasmessi e modificarli senza essere rilevato.

    Questo flag viene rispettato al meglio delle nostre possibilità perché è impossibile impedire tutto il traffico in testo non crittografato dalle applicazioni Android dato il livello di accesso fornito. Ad esempio, non è previsto che l'API Socket rispetti questo flag, perché non può determinare se il suo traffico è in testo non crittografato.

    Tuttavia, la maggior parte del traffico di rete dalle applicazioni viene gestita da componenti e stack di rete di livello superiore, che possono rispettare questo flag leggendolo da ApplicationInfo.flags o NetworkSecurityPolicy.isCleartextTrafficPermitted().

    Nota:WebView rispetta questo attributo per le applicazioni che hanno come target il livello API 26 e versioni successive.

    Durante lo sviluppo dell'app, StrictMode può essere utilizzato per identificare qualsiasi traffico in testo non crittografato dall'app. Per saperne di più, consulta StrictMode.VmPolicy.Builder.detectCleartextNetwork().

    Questo attributo è stato aggiunto nel livello API 23.

    Questo flag viene ignorato su Android 7.0 (livello API 24) e versioni successive se è presente una configurazione della sicurezza di rete Android.

    android:vmSafeMode
    Indica se l'app vuole che la macchina virtuale (VM) funzioni in modalità provvisoria. Il valore predefinito è "false".

    Questo attributo è stato aggiunto al livello API 8, in cui un valore di "true" disattivava il compilatore just-in-time (JIT) Dalvik.

    Questo attributo è stato adattato al livello API 22, in cui un valore di "true" disattivava il compilatore ART ahead-of-time (AOT).

    introdotta in:
    Livello API 1
    Vedi anche:
    <activity>
    <service>
    <receiver>
    <provider>