- syntax:
<application android:allowTaskReparenting=["true" | "false"] android:allowBackup=["true" | "false"] android:allowClearUserData=["true" | "false"] android:allowCrossUidActivitySwitchFromBelow=["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:enabledOnBackInvokedCallback=["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>
- contenuti in:
<manifest>
- può 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
eallowTaskReparenting
, impostano valori predefiniti per gli attributi corrispondenti degli elementi componenti. Altri, comedebuggable
,enabled
,description
eallowClearUserData
, impostano i valori per l'applicazione nel suo complesso e non vengono sostituiti dai componenti.- attributi
android:allowTaskReparenting
- Indica se le attività definite dall'applicazione possono passare dalla task che le ha avviate alla task con cui hanno affinità quando questa viene visualizzata in primo piano. È
"true"
se può spostarsi e"false"
se deve rimanere nell'attività in cui ha iniziato. Il valore predefinito è"false"
.L'elemento
<activity>
ha il proprioallowTaskReparenting
attributo che può sostituire 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 eseguito alcun backup o ripristino dell'applicazione, nemmeno tramite un backup completo del sistema che altrimenti causerebbe il salvataggio di tutti i dati dell'applicazione utilizzandoadb
. 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. Sui 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 dei file dell'app basati sul cloud impostando questo attributo su
"false"
, anche se la tua app ha come target Android 12 (livello API 31) o versioni successive.Per ulteriori informazioni, 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
Indica se consentire all'applicazione di reimpostare i dati utente. Questi dati includono indicatori, ad esempio se l'utente ha visto le descrizioni comando iniziali, 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 questo attributo esplicitamente. Le app di terze parti non possono includere questo attributo nei propri file manifest.
Per ulteriori informazioni, consulta la Panoramica del backup dei dati.
android:allowCrossUidActivitySwitchFromBelow
Specifica se le attività sotto questa nell'attività possono anche avviare altre attività o completare l'attività.
A partire dal livello SDK di destinazione
Build.VERSION_CODES.VANILLA_ICE_CREAM
, le app potrebbero non essere in grado di avviare nuove attività o completare la propria attività, a meno che l'attività principale di tale attività non appartenga allo stesso UID per motivi di sicurezza.Se imposti questo flag su
true
, l'app di lancio ignorerà la limitazione se questa attività è in primo piano. Le app corrispondenti all'UID di questa attività sono sempre esenti.Per ulteriori informazioni, vedi Avvio di attività in background protette.
android:allowNativeHeapPointerTagging
Indica se l'app attiva la funzionalità di tagging degli indicatori dell'heap. Il valore predefinito di questo attributo è
"true"
.Nota: la disattivazione di questa funzionalità non risolve il problema di salute del codice sottostante. I dispositivi hardware futuri potrebbero non supportare questo tag manifest.
Per ulteriori informazioni, consulta Indirizzi con tag.
android:appCategory
Dichiara la categoria di questa app. Le categorie vengono utilizzate per raggruppare più app in gruppi significativi, ad esempio per riepilogare l'utilizzo della batteria, della rete o del disco. Definisci questo valore solo per le app che si inseriscono bene in una delle categorie specifiche.
Deve essere uno dei seguenti valori costanti.
Valore Descrizione accessibility
App principalmente di accessibilità, come gli screen reader. audio
App che funzionano principalmente con audio o musica, come i lettori musicali. game
App che sono principalmente giochi. image
App che funzionano principalmente con immagini o foto, ad esempio app di fotocamera o galleria. maps
App principalmente di mappe, come le app di navigazione. news
App che sono principalmente app di notizie, come giornali, riviste o app di sport. productivity
App principalmente di produttività, come cloud storage o app per il lavoro. social
App principalmente social, come app di messaggistica, comunicazione, email o social network. video
App 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, per abbreviazione, se il primo carattere del nome è un punto, ad esempio".MyBackupAgent"
, viene aggiunto al nome del pacchetto specificato nell'elemento<manifest>
.Non è presente 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 è in uno stato equivalente in primo piano. Il sistema arresta 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 statostartForeground()
. android:banner
- Una risorsa drawable
che fornisce un banner grafico esteso per l'elemento associato. Da utilizzare 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, specificalo solo per le applicazioni con un'attività che gestisce l'intent
CATEGORY_LEANBACK_LAUNCHER
.Questo attributo viene impostato come riferimento a una risorsa drawable contenente l'immagine, ad esempio
"@drawable/banner"
. Non è presente alcun banner predefinito.Per ulteriori informazioni, consulta la sezione 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 di operazioni di backup o trasferimento.
Per informazioni sul formato del file XML, vedi Backup e ripristino.
android:debuggable
- Indica se è possibile eseguire il debug dell'applicazione anche quando è in esecuzione su un dispositivo in modalità utente. È
"true"
se può essere e"false"
se non può. 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 è presente alcun valore predefinito.
android:enabled
- Se il sistema Android può istanziare i componenti
dell'applicazione. È
"true"
se può e"false"
se non può. Se il valore è"true"
, l'attributoenabled
di ogni componente determina se il componente è abilitato. Se il valore è"false"
, sostituisce i valori specifici dei componenti 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.
L'impostazione
android:enableOnBackInvokedCallback=false
disattiva le animazioni di sfondo predittive a livello di attività o di app, a seconda di dove imposti il tag, e indica al sistema di ignorare le chiamate all'API della piattaformaOnBackInvokedCallback
. android:extractNativeLibs
- Questo attributo indica se il programma di installazione del pacchetto estrae le librerie native dall'APK al file system. Se impostato su
"false"
, le librerie native vengono memorizzate non compresse nell'APK. Anche se l'APK potrebbe essere più grande, l'applicazione si carica più velocemente perché le librerie vengono caricate direttamente dall'APK in fase di esecuzione.Il valore predefinito di
extractNativeLibs
dipende daminSdkVersion
e dalla versione di AGP in uso. Nella maggior parte dei casi, il comportamento predefinito è probabilmente quello che ti serve e non devi impostare questo attributo esplicitamente. android:fullBackupContent
- Questo attributo rimanda a un file XML contenente regole di backup completo per Auto Backup.
Queste regole determinano i file di cui viene eseguito il backup. Per ulteriori informazioni, consulta la sintassi di configurazione XML per il backup automatico.
Questo attributo è facoltativo. Se non è specificato, per impostazione predefinita il backup automatico include la maggior parte dei file dell'app. Per ulteriori informazioni, consulta File di cui viene eseguito il backup.
android:fullBackupOnly
- Questo attributo indica se utilizzare
Backup automatico sui dispositivi
dove è 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 chiavi/valori.Il valore predefinito è
"false"
. android:gwpAsanMode
- Questo attributo indica se utilizzare
GWP-ASan, una funzionalità di allocazione della memoria nativa che consente di trovare
bug di use-after-free e overflow del buffer.
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 è così e"false"
in caso contrario. Quando il valore è"false"
, il sistema non tenta di caricare alcun codice dell'applicazione durante il lancio dei componenti. Il valore predefinito è"true"
.Se l'applicazione include codice nativo (C/C++), ma non 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 perché è 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 una richiesta di mantenere i dati dell'app quando l'utente disinstalla l'app. Il valore predefinito è
"false"
. android:hardwareAccelerated
- Indica se il rendering con accelerazione hardware è abilitato per tutte le attività e le visualizzazioni di questa applicazione. È
"true"
se è attivata e"false"
in caso contrario. Il valore predefinito è"true"
se impostiminSdkVersion
otargetSdkVersion
su"14"
o superiore. In caso contrario, è"false"
.A partire da Android 3.0 (livello API 11), un renderer OpenGL con accelerazione hardware è disponibile per le applicazioni per migliorare le prestazioni di molte operazioni grafiche 2D comuni. Quando il renderer con accelerazione hardware è attivo, la maggior parte delle operazioni in Canvas, Paint, Xfermode, ColorFilter, Shader e Camera viene accelerata.
Ciò si traduce in animazioni e scorrimenti più fluidi e in una maggiore reattività complessiva, anche per le applicazioni che non utilizzano esplicitamente le librerie OpenGL del framework.
Non tutte le operazioni OpenGL 2D sono accelerate. Se attivi il visualizzatore con accelerazione hardware, testa l'applicazione in modo che possa utilizzarlo senza errori.
Per saperne di più, consulta la guida sull'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 viene impostato come riferimento a una risorsa drawable contenente l'immagine, ad esempio
"@drawable/icon"
. Non è presente un'icona predefinita. android:isGame
- Se l'applicazione è un gioco. Il sistema potrebbe raggruppare le applicazioni classificate come giochi o mostrarle 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 file manifest, lo sviluppatore deve rispettare le norme relative agli stalkerware per pubblicare l'app su Google Play.
Non è presente alcun valore predefinito. Lo sviluppatore deve specificare uno dei seguenti valori:
Valore Descrizione "parental_control"
L'app è pensata per il controllo genitori ed è rivolta specificamente ai genitori che vogliono proteggere i figli. "enterprise_management"
L'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 in questa tabella. android:killAfterRestore
Indica se l'applicazione viene interrotta dopo il ripristino delle sue 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, quando lo smartphone viene configurato per la prima volta. In genere, le applicazioni di terze parti non devono utilizzare questo attributo.
Il valore predefinito è
"true"
, il che significa che l'applicazione termina al termine dell'elaborazione dei dati durante un ripristino completo del sistema.android:largeHeap
Indica se i processi dell'applicazione vengono creati con un heap Dalvik di grandi dimensioni. Questo 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 ha bisogno di questo e si concentra invece sulla riduzione dell'utilizzo complessivo della memoria per migliorare le prestazioni. L'attivazione di questa opzione non garantisce inoltre un aumento fisso della memoria disponibile, poiché alcuni dispositivi sono limitati dalla memoria totale disponibile.
Per eseguire query sulle dimensioni della memoria disponibile in fase di runtime, utilizza i metodi
getMemoryClass()
ogetLargeMemoryClass()
.android:label
- Un'etichetta leggibile dall'utente per l'applicazione nel suo complesso e un'etichetta predefinita per ciascun componente dell'applicazione. Consulta i singoli attributi
label
per gli elementi<activity>
,<activity-alias>
,<service>
,<receiver>
e<provider>
.L'etichetta viene impostata come riferimento a una risorsa stringa, in modo che possa essere localizzata come le altre stringhe nell'interfaccia utente. Tuttavia, per praticità durante lo sviluppo dell'applicazione, puoi impostarlo anche come stringa non elaborata.
android:logo
- Un logo per l'applicazione nel suo complesso e il logo predefinito per le attività.
Questo attributo viene impostato come riferimento a una risorsa drawable contenente
l'immagine, ad esempio
"@drawable/logo"
. Non è presente alcun 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
Application
sottoclasse implementata per l'applicazione. Quando viene avviata la procedura di applicazione, questa classe viene creata 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 di 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 nel 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
sovrascritto impostando gli attributi
permission
dei singoli componenti.Per ulteriori informazioni sulle autorizzazioni, consulta la sezione Autorizzazioni nella panoramica del file manifest dell'app e i suggerimenti per la sicurezza.
android:persistent
- Se l'applicazione rimane in esecuzione in qualsiasi momento. È
"true"
se è così e"false"
in caso contrario. Il valore predefinito è"false"
. In genere le applicazioni non impostano questo flag. La modalità di persistenza è 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 il proprio attributo
process
.Per impostazione predefinita, Android crea un processo per un'applicazione quando è necessario eseguire il primo dei suoi componenti. Tutti i componenti vengono quindi 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 organizzare l'esecuzione dei componenti di entrambe le applicazioni 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 due punti (
:
), quando necessario viene creata una nuova procedura privata per l'applicazione. Se il nome del processo inizia con un carattere minuscolo, viene creato un processo globale di 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 insieme di dati di cui è stato eseguito il backup, anche se il backup è stato archiviato da una versione più recente dell'applicazione rispetto a quella attualmente installata sul dispositivo. L'impostazione di questo attributo su
"true"
consente a Backup Manager di tentare un ripristino anche quando una mancata corrispondenza della versione suggerisce che i dati non sono compatibili. Da usare con cautela.Il valore predefinito di questo attributo è
"false"
. android:requestLegacyExternalStorage
-
Indica se l'applicazione vuole disattivare lo spazio di archiviazione delimitato.
Nota:a seconda delle modifiche relative alla compatibilità con le norme o le app, il sistema potrebbe non soddisfare questa richiesta di disattivazione.
android:requiredAccountType
- Specifica il tipo di account richiesto per il funzionamento dell'applicazione.
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 daAuthenticatorDescription
, ad esempio"com.google"
.Il valore predefinito è nullo e indica che l'applicazione può funzionare senza account.
Poiché i profili con limitazioni non possono aggiungere account, se specifichi questo attributo, la tua app non sarà disponibile da un profilo con limitazioni, a meno che non dichiari anche
android:restrictedAccountType
con lo stesso valore.Attenzione: se i dati dell'account potrebbero rivelare informazioni che consentono l'identificazione personale, è importante dichiarare questo attributo e lasciare
android:restrictedAccountType
nullo, in modo che i profili con limitazioni non possano utilizzare la tua app per accedere alle informazioni personali che appartengono all'utente proprietario.Questo attributo è stato aggiunto nel livello API 18.
android:resizeableActivity
-
Specifica se l'app supporta la modalità multifinestra. Puoi impostare questo attributo nell'elemento
<activity>
o<application>
.Se imposti questo attributo su
"true"
, l'utente può avviare l'attività in modalità split-screen e a forma libera. 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 sullo schermo non siano visibili altre app in modalità multi-finestra, ad esempio in modalità 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 grandi (larghezza dello schermo >= 600 dp): tutte le app supportano la modalità multi-finestra. L'attributo indica se un'app può essere ridimensionata, non se supporta la modalità a più finestre. Se
resizeableActivity="false"
, l'app viene messa in modalità di compatibilità quando necessario per rispettare le dimensioni del display. - Schermate piccole (larghezza dello schermo < 600 dp): se
resizeableActivity="true"
e la larghezza minima e l'altezza minima dell'attività principale rientrano nei requisiti per il multi-finestra, l'app supporta la modalità multi-finestra. SeresizeableActivity="false"
, l'app non supporta la modalità multi-finestra indipendentemente dalla larghezza e dall'altezza minime dell'attività.
Nota:i produttori di dispositivi possono ignorare il comportamento del livello API 31.
Questo attributo è stato aggiunto nel livello API 24.
Nota:il valore dell'attività principale di un'attività viene applicato a tutte le attività aggiuntive avviate nell'attività. In altre parole, se l'attività principale di un'attività è ridimensionabile, il sistema tratta tutte le altre attività dell'attività come ridimensionabili. Se l'attività principale non è ridimensionabile, non lo sono nemmeno le altre attività nell'attività.
- Schermi grandi (larghezza dello schermo >= 600 dp): tutte le app supportano la modalità multi-finestra. L'attributo indica se un'app può essere ridimensionata, non se supporta la modalità a più finestre. Se
android:restrictedAccountType
- Specifica il tipo di account richiesto da questa applicazione e indica che i profili con limitazioni possono accedere a questi account appartenenti all'utente proprietario. Se la tua app richiede un
Account
e i profili con restrizioni 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 daAuthenticatorDescription
, ad esempio"com.google"
.Il valore predefinito è null e indica che l'applicazione può funzionare senza 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 nel livello API 18.
android:supportsRtl
Dichiara se la tua applicazione è disposta a supportare i layout da destra verso sinistra (RTL).
Se questo valore è impostato su
"true"
etargetSdkVersion
è impostato 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 setargetSdkVersion
è impostato su 16 o meno, le API RTL vengono ignorate o non hanno alcun effetto e l'app si comporta allo stesso modo indipendentemente dall'orientamento del layout associato alla scelta della lingua dell'utente. In altre parole, i layout sono sempre da sinistra a destra.Il valore predefinito di questo attributo è
"false"
.Questo attributo è stato aggiunto nel livello API 17.
android:taskAffinity
- Un nome di affinità che si applica a tutte le attività all'interno dell'applicazione,
tranne a quelle che impostano un'affinità diversa con i propri
taskAffinity
attributi. Consulta questo attributo per ulteriori informazioni.Per impostazione predefinita, tutte le attività all'interno di un'applicazione condividono la stessa affinità. Il nome dell'affinità corrisponde 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 si installa 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à dell'applicazione. Le singole attività possono ignorare
la predefinita impostando i propri attributi
theme
. Per ulteriori informazioni, consulta Stili e temi. android:uiOptions
- Opzioni aggiuntive per l'interfaccia utente di un'attività. Deve essere uno dei seguenti valori:
Valore Descrizione "none"
Nessun'opzione aggiuntiva per l'interfaccia utente. Questa è l'impostazione predefinita. "splitActionBarWhenNarrow"
Aggiunge una barra nella parte inferiore dello schermo per visualizzare gli elementi di azione nella barra delle app, nota anche come barra di azioni, quando lo spazio orizzontale è limitato, ad esempio in modalità Ritratto su un cellulare. Invece di un piccolo numero di elementi di azione visualizzati nella barra delle app nella parte superiore dello schermo, la barra delle app si suddivide nella sezione di navigazione in alto e nella barra in basso per gli elementi di azione. Ciò significa che è disponibile una quantità ragionevole di spazio per gli elementi di azione e per gli elementi di navigazione e del titolo in alto. Le voci di menu non sono suddivise nelle due barre. Vengono sempre visualizzati insieme. Per ulteriori informazioni sulla barra delle app, vedi Aggiungere la barra delle app.
Questo attributo è stato aggiunto nel livello API 14.
android:usesCleartextTraffic
- Indica se l'app intende utilizzare il traffico di rete in chiaro, ad esempio HTTP in chiaro.
Il valore predefinito per le app che hanno come target il livello API 27 o versioni precedenti è
"true"
. Per le app che hanno come target il livello API 28 o versioni successive, il valore predefinito è"false"
.Quando l'attributo è impostato su
"false"
, i componenti della piattaforma, ad esempio gli stack HTTP e FTP,DownloadManager
eMediaPlayer
, rifiutano le richieste dell'app di utilizzare il traffico in chiaro.Le librerie di terze parti sono vivamente incoraggiate a rispettare anche questa impostazione. Il motivo principale per cui è consigliabile evitare il traffico in testo non cifrato è la mancanza di riservatezza, autenticità e protezioni contro le manomissioni. Un malintenzionato di rete può intercettare i dati trasmessi e anche modificarli senza essere rilevato.
Questo flag viene rispettato secondo il criterio del massimo impegno perché è impossibile impedire tutto il traffico in testo chiaro proveniente dalle applicazioni per Android, dato il livello di accesso che viene loro fornito. Ad esempio, non è previsto che l'API
Socket
rispetti questo flag, perché non può determinare se il traffico è in testo non cifrato.Tuttavia, la maggior parte del traffico di rete proveniente dalle applicazioni viene gestita da componenti e stack di rete di livello superiore, che possono rispettare questo flag leggendolo da
ApplicationInfo.flags
oNetworkSecurityPolicy.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 di testo non criptato proveniente dall'app. Per ulteriori informazioni, 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 di 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 nel livello API 8, in cui un valore
"true"
disattivava il compilatore JIT (Just In Time) di Dalvik.Questo attributo è stato adattato nel livello API 22, in cui un valore
"true"
disattivava il compilatore AOT (ahead-of-time) di ART.
A partire da AGP 4.2.0, l'opzione DSL
useLegacyPackaging
sostituisce l'attributo manifestextractNativeLibs
. UtilizzauseLegacyPackaging
nel filebuild.gradle
dell'app instead ofextractNativeLibs
nel file manifest per configurare il comportamento di compressione delle librerie native. Per ulteriori informazioni, consulta la nota di rilascio Utilizzare il DSL per pacchettizzare le librerie native compresse.- introdotto in:
- Livello API 1
- Vedi anche:
<activity>
<service>
<receiver>
<provider>
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-01-23 UTC.
[null,null,["Ultimo aggiornamento 2025-01-23 UTC."],[],[]]