È arrivato Android 17
Lettura di 13 minuti
Oggi rilasciamo Android 17, che sarà disponibile sulla maggior parte dei dispositivi Pixel supportati. Nei prossimi mesi saranno disponibili nuovi dispositivi con Android 17.
Android 17 segna l'inizio della nostra transizione verso un sistema di intelligence, mettendo le tue app al centro. Android sta passando a standard di sviluppo incentrati sull'adattabilità introducendo il ridimensionamento obbligatorio per schermi di grandi dimensioni, offrendo al contempo privacy, sicurezza, contenuti multimediali, fotocamera e prestazioni di nuova generazione. In questo post, tratteremo tutto questo, oltre a come stiamo riunendo strumenti, librerie e competenze degli agenti di nuova generazione per aiutare le tue app a cogliere questa opportunità.
Nel corso dell'ultimo anno, dal nostro canale Canary alle nostre release beta, abbiamo collaborato con molti di voi nella community di sviluppatori per creare una piattaforma di cui voi e i vostri utenti potete fidarvi. A questo scopo, questo momento segna la disponibilità del codice sorgente nell'Android Open Source Project (AOSP). In questo modo, puoi esaminare il codice sorgente per comprendere meglio il funzionamento di Android.
Approfondiamo Android 17.
Un sistema di intelligence
Grazie alla profonda integrazione tra hardware, software e AI, stiamo trasformando Android da un sistema operativo a un sistema di intelligence. Si tratta di offrire nuove esperienze utili che anticipano le esigenze degli utenti e offrono maggiori opportunità di coinvolgimento con le tue app. A questo scopo, Android 17 espande le funzionalità di AppFunctions, un'API della piattaforma con una libreria Jetpack corrispondente. Consente di contribuire con le funzionalità uniche della tua app come "strumenti " orchestrabili per Android MCP, l'equivalente on-device del Model Context Protocol. Gli agenti e gli assistenti AI (come Google Gemini) possono scoprire ed eseguire AppFunctions per eseguire flussi di lavoro per conto dell'utente con accesso diretto allo stato locale dell'app.
La libreria Jetpack, attualmente in versione alpha, semplifica l'aggiunta di AppFunctions come annotare una classe e aggiungere commenti KDoc.
/** * A note app's [AppFunction]s. */ class NoteFunctions( private val noteRepository: NoteRepository ) { /** * Adds a new note to the app. * * @param appFunctionContext The execution context. * @param title The title of the note. * @param content The note's content. */ @AppFunction(isDescribedByKDoc = true) suspend fun createNote( appFunctionContext: AppFunctionContext, title: String, content: String ): Note { return noteRepository.createNote(title, content) } }
Abbiamo anche lanciato un'abilità dell'agente AppFunctions che analizza i flussi di lavoro chiave della tua app, genera automaticamente il codice Kotlin richiesto, ottimizza i KDoc per la chiamata di strumenti LLM e fornisce comandi ADB per test e debug.
L'integrazione di Gemini è attualmente in anteprima privata con i trusted tester, ma puoi iniziare a preparare le tue app. Oltre ai comandi ADB per eseguire le tue AppFunctions, abbiamo fornito un'app agente di test che include un'interfaccia per scoprire ed eseguire le tue AppFunctions e simulare un'integrazione dell'agente AI. Partecipa al nostro programma di accesso in anteprima all'integrazione all'indirizzo goo.gle/eap-af per avere la possibilità di essere tra le prime app a eseguire il deployment di AppFunctions in produzione.
Priorità all'adattabilità
I tuoi utenti non si affidano più a un unico fattore di forma, ma passano da smartphone a pieghevoli, tablet, laptop, display per auto e ambienti XR immersivi. Ora, con oltre 580 milioni di dispositivi con schermo grande nelle mani degli utenti e l'imminente lancio di Googlebooks, la nuova generazione di ChromeOS basata sullo stack Android, l'adattabilità non è più solo un obiettivo tecnico. Si tratta di un'ottima opportunità per raggiungere utenti altamente coinvolti, uno dei motivi per cui stiamo passando a uno standard di sviluppo incentrato sull'adattabilità.
Nessuna limitazione di ridimensionamento/orientamento sugli schermi grandi
Per garantire che le app offrano un'esperienza premium su tutti i fattori di forma, inclusi i dispositivi mobili in modalità desktop su display connessi, Android 17 (livello API 37) rimuove l'opt-out per sviluppatori per le limitazioni di orientamento e ridimensionamento sui dispositivi con schermi grandi (sw > 600 dp) per le app che hanno come target il livello API 37. Il sistema ignorerà gli attributi manifest legacy e le API runtime, inclusi screenOrientation, setRequestedOrientation(), resizeableActivity=false e i vincoli delle proporzioni (minAspectRatio/maxAspectRatio). I giochi (in base alla categoria di app in Google Play) rimangono esenti. La tua app deve essere pronta ad adattarsi a qualsiasi dimensione della finestra, rispettare la postura preferita del dispositivo dell'utente e supportare il ridimensionamento libero delle finestre in modo nativo.
Multitasking di nuova generazione: bolle delle app, barra delle bolle e PIP interattivo per il desktop
Android 17 introduce nuove potenti funzionalità di gestione delle finestre che ridefiniscono il modo in cui gli utenti svolgono più attività contemporaneamente, richiedendo una flessibilità di layout ancora maggiore dalle tue app:
- Bolle delle app: andando oltre l'API delle bolle di messaggistica, gli utenti ora possono trasformare qualsiasi app in una bolla mobile tenendo premuta la relativa icona sul launcher. Questa funzionalità è disponibile su smartphone, pieghevoli e tablet, consentendo un multitasking leggero per qualsiasi flusso di lavoro.
- Barra delle bolle:sugli schermi di grandi dimensioni (tablet e dispositivi pieghevoli), la barra delle app di sistema ora include una barra delle bolle dedicata per organizzare, passare da una bolla all'altra e ancorare queste bolle delle app mobili.
- Picture in picture interattiva per desktop:negli ambienti desktop, Android 17 introduce la funzionalità Picture in picture (PIP) interattiva. A differenza delle finestre PIP tradizionali, che sono di sola lettura, queste finestre bloccate rimangono completamente interattive e sempre in primo piano rispetto alle altre finestre delle applicazioni.
Aggiornamenti relativi alla ricreazione dell'attività
Per evitare la perdita di stato e lo stuttering, Android 17 aggiorna il comportamento predefinito per la ricreazione dell'attività. Il sistema non riavvierà più le attività per impostazione predefinita per le modifiche alla configurazione tipiche che non richiedono un nuovo rendering completo della UI (inclusi CONFIG_KEYBOARD, CONFIG_KEYBOARD_HIDDEN, CONFIG_NAVIGATION, CONFIG_TOUCHSCREEN e CONFIG_COLOR_MODE).
Le attività in esecuzione riceveranno invece questi aggiornamenti tramite onConfigurationChanged(), consentendo transizioni fluide. Se la tua applicazione si basa esplicitamente su un riavvio completo per ricaricare le risorse per queste modifiche, ora devi eseguire l'opt-in esplicito utilizzando il nuovo attributo del manifest android:recreateOnConfigChanges.
Continua su
Android 17 aggiunge Continua su per aiutare gli utenti a trasferire facilmente un'attività tra i dispositivi Android. L'utente vede un suggerimento per l'app aperta più di recente dal dispositivo mobile nella barra delle app del tablet, che consente di avviare l'app e il link diretto con un solo tocco, riprendendo da dove aveva interrotto. Continua su può supportare le transizioni da app a web, incluso il fallback all'utilizzo del web se l'app non è installata.
class MyHandoffActivity : Activity() {
...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Do stuff
...
// Enable handoff
setHandoffEnabled(true, null)
}
// Override and implement onHandoffActivityDataRequested
override fun onHandoffActivityDataRequested(handoffRequestInfo: HandoffActivityDataRequestInfo) : HandoffActivityData {
// Create and return handoff data
}
}Adotta l'approccio adaptive-first con Jetpack Compose
Per aiutarti ad adattare le tue app in modo che soddisfino i nuovi requisiti di Android 17, abbiamo lanciato l'abilità adattiva di Jetpack Compose. Questo flusso di lavoro per sviluppatori basato sull'AI ti aiuta a implementare le best practice adattive:
- Navigazione adattiva:passa automaticamente dalle barre di navigazione in basso sui dispositivi mobili alle barre di navigazione ancorate ai bordi sugli schermi di grandi dimensioni utilizzando
NavigationSuiteScaffolddalla libreria Material 3 Adaptive. - Layout a più riquadri:implementa i layout di elenchi e dettagli e dei riquadri di supporto in modo nativo utilizzando le tre scene di navigazione (
ListDetailSceneStrategyeSupportingPaneSceneStrategy) anziché le fragili transazioni di frammenti. - API FlexBox e Grid:utilizza i componenti di layout dinamico di Compose 1.11 per regolare facilmente le estensioni di righe e colonne al volo, assicurandoti che i tuoi contenuti riempiano sempre lo spazio in modo ottimale.
- Input avanzato non touch: sfrutta il supporto migliorato per trackpad e mouse di Compose 1.11, inclusi anelli di messa a fuoco nativi e nuove API (come
TrackpadInjectionScopeeperformTrackpadInput) per testare e offrire facilmente una vera esperienza "di livello laptop" su Googlebooks e in modalità Desktop. - Stati dinamici della finestra:sfrutta il modello di stato reattivo di Compose per adattare facilmente la tua UI quando l'app passa dalla modalità a schermo intero a una bolla app mobile o a una finestra PIP interattiva per desktop, garantendo un'esperienza premium anche con dimensioni minime.
Android è incentrato su Compose
Compose offre il modo più semplice per creare app adattive ed è solo uno dei motivi per cui riteniamo che tutta la UI di Android debba essere creata con Compose. A questo scopo, lo sviluppo per Android ora è incentrato su Compose. Tutte le nuove API, librerie, strumenti e indicazioni per gli sviluppatori di Android verranno creati esclusivamente per Jetpack Compose. I componenti View legacy (nel pacchetto android.widget) e le librerie Jetpack basate su View (come Fragments, RecyclerView e ViewPager) sono ora in modalità di manutenzione. Riceveranno solo correzioni di bug critici e nessuna nuova funzionalità.
SUGGERIMENTO: vuoi eseguire la migrazione? Utilizza la nostra competenza di migrazione da XML a Compose basata sull'AI per analizzare automaticamente i layout View legacy e convertirli in codice Compose altamente adattabile.
Prestazioni ed efficienza
Le prestazioni dell'app si traducono in un'interfaccia utente fluida, tempi di avvio rapidi e multitasking efficiente. Android 17 offre miglioramenti significativi in tutti questi ambiti.
Limiti di memoria delle app
La memoria utilizzata è uno dei fondamenti silenziosi delle prestazioni complessive. Quando un'app o un servizio in primo piano cresce senza controllo, la gestione della memoria aumenta l'utilizzo della CPU e della batteria e alla fine porta alla chiusura di altre app memorizzate nella cache e di altri job in background, con conseguente avvio a freddo più lento e multitasking compromesso.
A partire da Android 17, il sistema applicherà limiti di memoria rigorosi per le app in base alla RAM totale di un dispositivo, terminando bruscamente i processi incriminati. Novità per aiutarti a rispettare questi requisiti più rigorosi:
- Ottimizzatore R8: l'ottimizzatore R8 riduce significativamente il footprint della memoria del bytecode dell'app riducendo le classi, i metodi e i campi in nomi più brevi ed eliminando le risorse e il codice inutilizzati. Utilizza R8 in modalità completa insieme al nuovo analizzatore della configurazione di R8 per assicurarti che la tua app ottenga il massimo da R8.
- LeakCanary in Android Studio Panda: il profiler ora include l'integrazione nativa di LeakCanary come attività dedicata, completamente integrata con l'IDE e il codice sorgente.
- ApplicationExitInfo:se la tua app viene terminata da questi limiti, getDescription() di ApplicationExitInfo restituirà "MemoryLimiter:AnonSwap".
- Rilevamento di anomalie sul dispositivo:parte di ProfilingManager, puoi sfruttare la profilazione basata su trigger utilizzando
TRIGGER_TYPE_ANOMALYper acquisire automaticamente i dump dell'heap quando viene raggiunto il limite di memoria.
val profilingManager = applicationContext .getSystemService(ProfilingManager::class.java) val triggers = ArrayList<ProfilingTrigger>().apply { add(ProfilingTrigger.Builder( ProfilingTrigger.TRIGGER_TYPE_ANOMALY).build()) } profilingManager.addProfilingTriggers(triggers)
Inoltre, stiamo lavorando per mostrare più metriche di memoria sul campo in Google Play Console.
Garbage collection generazionale
Android 17 introduce raccolte di giovani generazioni più frequenti e meno intensive di risorse nel garbage collector (GC) Concurrent Mark-Compact diART. Separando gli oggetti di breve durata da quelli stabili e di lunga durata, il sistema esegue sweep frequenti e leggeri della "giovane generazione" anziché costose scansioni dell'heap completo, riducendo drasticamente l'utilizzo della CPU, il consumo di energia e i problemi di scattosità dell'interfaccia utente. I nostri test hanno mostrato miglioramenti significativi nell'interferenza del GC con i thread dell'applicazione e una riduzione delle dimensioni massime del set residente in memoria (RSS). I miglioramenti di ART sono disponibili anche per oltre un miliardo di dispositivi con Android 12 (livello API 31) e versioni successive tramite gli aggiornamenti del sistema Google Play.
Lock-Free MessageQueue
Per le app che hanno come target l'SDK 37 o versioni successive, l'android.os.MessageQueue principale ora implementa un'architettura senza blocchi, riducendo significativamente i frame persi, migliorando il tempo di avvio delle app e migliorando radicalmente le prestazioni delle code occupate in scenari multithread. Nota: questa operazione può danneggiare le app che utilizzano la reflection su campi e metodi MessageQueue privati. Le API peekWhen e poll sono state aggiunte a TestLooperManager per i test di instrumentazione senza fare affidamento sugli elementi interni di MessageQueue.
I campi final static sono ora veramente final
A partire da Android 17, le app che hanno come target l'SDK 37 o versioni successive non potranno modificare i campi "static final", consentendo al runtime di applicare ottimizzazioni delle prestazioni in modo più aggressivo. Un tentativo di farlo tramite reflection (o deep reflection) comporterà la generazione di un'eccezione IllegalAccessException.
La modifica tramite la famiglia di metodi SetStatic<Type>Field di JNI causerà l'arresto anomalo immediato dell'applicazione.
Limitazioni di visualizzazione delle notifiche personalizzate
Per ridurre la memoria utilizzata, stiamo limitando ulteriormente le dimensioni delle visualizzazioni delle notifiche personalizzate. Questo aggiornamento chiude una scappatoia che consente alle app di aggirare i limiti esistenti utilizzando gli URI. Questo comportamento è controllato dalla versione dell'SDK di destinazione ed entra in vigore per le app che hanno come target l'API 37 e versioni successive.
Privacy e sicurezza
Mantenere la fiducia degli utenti è al centro dell'ecosistema Android. Android 17 introduce funzionalità avanzate che proteggono i dati sensibili semplificando al contempo le esperienze utente.
Scelte che tutelano la privacy
In passato, le app richiedevano autorizzazioni ampie e permanenti per accedere a informazioni come contatti, posizione esatta e file multimediali. Android 17 continua a spostarsi verso scelte che tutelano la privacy e concedono l'accesso temporaneo e basato sulla sessione solo ai dati selezionati esplicitamente dall'utente:
- Selettore di contatti a livello di sistema:utilizzando
ACTION_PICK_CONTACTS, le app possono richiedere l'accesso temporaneo solo a campi specifici (ad es. email o numero di telefono) scelti dall'utente, eliminando la necessità dell'autorizzazioneREAD_CONTACTS. Supporta inoltre completamente la separazione dei profili di lavoro/personali. - Proporzioni personalizzabili del selettore di foto:utilizzando PhotoPickerUiCustomizationParams, puoi personalizzare il selettore di foto di sistema per mostrare le miniature in modalità verticale. Questa impostazione è perfetta per le app che mostrano sempre foto e video in verticale, come le app social basate sui video.
- Pulsante posizione sottoposto a rendering del sistema:un nuovo pulsante posizione sottoposto a rendering del sistema che puoi incorporare nella tua app concede l'accesso alla posizione esatta solo per la sessione corrente.
- API EyeDropper:una nuova API a livello di sistema,
ACTION_OPEN_EYE_DROPPER, consente alla tua app di creare un contagocce basato sul sistema che permette all'utente di selezionare il colore di qualsiasi pixel sul display. In questo modo, si ottiene un'esperienza di selezione dei colori sicura e che tutela la privacy, che elimina la necessità di autorizzazioni di acquisizione schermo o proiezione multimediale ampie e sensibili.
val eyeDropperLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> if (result.resultCode == Activity.RESULT_OK) { val color = result.data?.getIntExtra(Intent.EXTRA_COLOR, Color.BLACK) // Use the picked color in your app } } fun launchColorPicker() { val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER) eyeDropperLauncher.launch(intent) }
Accesso alla rete locale
Le app destinate ad Android 17 ora richiedono l'autorizzazione di runtime ACCESS_LOCAL_NETWORK o l'utilizzo di selettori di dispositivi che tutelano la privacy e sono gestiti dal sistema per la comunicazione di rete locale, ad esempio per comunicare con i dispositivi per la smart home o i ricevitori di trasmissione. Poiché ACCESS_LOCAL_NETWORK rientra nel gruppo di autorizzazioni NEARBY_DEVICES esistente, agli utenti che hanno già concesso altre autorizzazioni NEARBY_DEVICES non verrà richiesto di nuovo.
Protezione OTP via SMS
Android 17 espande la protezione della password unica (OTP) via SMS ritardando l'accesso ai messaggi SMS per tre ore:
- Formato WebOTP: Ritardato per tutte le app che non sono il destinatario previsto (mancata corrispondenza del dominio).
- OTP via SMS standard: ritardata per tutte le app che hanno come target l'SDK 37 o versioni successive.
Esenzioni:sono esenti le app predefinite per SMS, assistente e complementari connesse. È fortemente consigliato di eseguire la migrazione delle app alle API SMS Retriever o SMS User Consent.
Crittografia post-quantistica (PQC)
Android 17 è pronto per la prossima generazione di sicurezza crittografica:
- Integrazione del keystore:i dispositivi supportati possono generare chiavi ML-DSA (Module-Lattice-Based Digital Signature Algorithm) in hardware sicuro per produrre firme quantum-safe, esposte tramite API JCA standard.
- Firma APK ibrida:introduzione dello schema di firma APK v3.2, che combina le firme classiche con le firme ML-DSA per proteggere la distribuzione delle app.
Caricamento dinamico del codice nativo più sicuro
Se la tua app ha come target l'SDK 37 o versioni successive, la protezione Safer Dynamic Code Loading (DCL) introdotta in Android 14 per i file DEX e JAR ora si estende alle librerie native. Tutti i file nativi caricati utilizzando System.load devono essere contrassegnati come di sola lettura. In caso contrario, il sistema genera UnsatisfiedLinkError.
Protezione più intelligente delle password per gli input fisici
Con Android 17, rendiamo più sicuro l'inserimento di password, PIN e altri dati sensibili quando si utilizza una tastiera fisica, non mostrando più l'ultimo carattere digitato per impostazione predefinita.
Gli utenti possono comunque personalizzare facilmente queste impostazioni di visualizzazione in base alle proprie preferenze (la disponibilità può variare a seconda del produttore del dispositivo).
Queste protezioni della privacy avanzate sono supportate automaticamente dai componenti SDK integrati di Android e saranno supportate in Compose 1.12 per SecureTextFields.
Funzionalità multimediali e della fotocamera che consentono ai creator di esprimersi e deliziano gli utenti
Android 17 introduce nuove funzionalità per i creator che consentono di accedere a fotocamere e contenuti multimediali di qualità professionale, migliorando al contempo l'esperienza per i consumatori.
- Eclipsa Video: standard video HDR basato sulla specifica SMPTE ST 2094-50 che introduce nuovi metadati per aiutare i dispositivi ad adattare i contenuti alle condizioni di luce ambientale e alla headroom del display, nonché a migliorare la visualizzazione simultanea di contenuti standard e HDR.
- Formato immagine RAW14:il nuovo supporto per il formato immagine RAW14 consente all'app fotocamera professionale di acquisire il massimo livello di dettaglio e profondità del colore dai sensori della fotocamera compatibili.
- Estensioni della fotocamera definite dal fornitore:le estensioni definite dal fornitore consentono ai partner hardware di definire e implementare modalità di estensione della fotocamera personalizzate, fornendo l'accesso alle funzionalità della fotocamera migliori e più recenti.
- Encoder software Extended HE-AAC: un nuovo encoder software Extended HE-AAC fornito dal sistema, supporta velocità in bit basse e alte utilizzando la codifica unificata di voce e audio, offrendo una qualità audio significativamente migliore per i messaggi vocali in condizioni di larghezza di banda ridotta, incluso il supporto per i metadati di intensità.
- Versatile Video Coding (H.266): consente agli OEM di aggiungere il supporto dei codec definendo il tipo MIME video/vvc in MediaFormat, aggiungendo nuovi profili VVC in MediaCodecInfo e integrando il supporto in MediaExtractor.
- Tipo di dispositivo videocamera:nuove API che eseguono query sul tipo di dispositivo sottostante per identificare se una videocamera è un hardware integrato, una webcam USB esterna o una videocamera virtuale.
- Qualità costante per la registrazione video:setVideoEncodingQuality in MediaRecorder configura una modalità di qualità costante (CQ) per i codificatori video per garantire una fedeltà visiva uniforme in tutto il video.
Supporto migliore per gli apparecchi acustici
- Supporto degli apparecchi acustici Bluetooth LE Audio:Android ora include una categoria di dispositivi specifica per gli apparecchi acustici Bluetooth Low Energy (BLE) Audio con la nuova costante AudioDeviceInfo.TYPE_BLE_HEARING_AID, in modo che la tua app possa distinguere gli apparecchi acustici dalle cuffie normali per offrire un'esperienza personalizzata agli utenti con dispositivi di ascolto assistito.
- Routing audio granulare per apparecchi acustici:Android 17 consente agli utenti di gestire in modo indipendente la riproduzione di suoni di sistema specifici. Possono scegliere di indirizzare notifiche, suonerie e sveglie agli apparecchi acustici connessi o all'altoparlante integrato del dispositivo, contribuendo a evitare interruzioni indesiderate nell'orecchio e mantenendo una connessione Bluetooth per le app di gestione degli apparecchi acustici.
CameraX e Media3
CameraX e Media3 sono stati aggiornati per Android 17. Sono lì per fare il lavoro pesante, smussando gli angoli grezzi dello sviluppo multimediale e semplificando la creazione di acquisizioni affidabili della videocamera, la riproduzione fluida dei contenuti multimediali e le esperienze di editing creative e complesse.
Abbiamo rilasciato un'abilità dell'agente che può eseguire la migrazione delle implementazioni della videocamera Android legacy (API Camera1 o Camera2 raw) a CameraX.
Nota: per evitare un arresto anomalo correlato a una modalità di gamma dinamica aggiuntiva sui dispositivi Android 17, devi aggiornare la versione di CameraX alla 1.5.2 o alla 1.6.0+.
Prepara le tue app, le tue librerie, i tuoi strumenti e i tuoi motori di gioco.
Se sviluppi un SDK Android, una libreria, uno strumento o un motore grafico per Android, è fondamentale preparare ora tutti gli aggiornamenti necessari per evitare che gli sviluppatori di app e giochi downstream vengano bloccati da problemi di compatibilità e consentire loro di utilizzare le funzionalità più recenti dell'SDK. Comunica agli sviluppatori downstream se sono necessari aggiornamenti per supportare completamente Android 17.
Il test prevede l'installazione dell'app di produzione o di un'app di test che utilizza la libreria o il motore tramite Google Play o altri mezzi su un dispositivo o un emulatore con Android 17 Beta 4. Esamina tutti i flussi della tua app e cerca problemi funzionali o dell'interfaccia utente. Ogni release di Android contiene modifiche alla piattaforma che migliorano la privacy, la sicurezza e l'esperienza utente complessiva. Esamina le modifiche al comportamento che influiscono sulle app in esecuzione su e destinate a Android 17 per concentrare i test, tra cui:
- Ridimensionamento su schermi di grandi dimensioni: una volta scelto come target Android 17 (SDK 37), non puoi più disattivare il mantenimento dei vincoli di orientamento, ridimensionamento e proporzioni su schermi di grandi dimensioni.
- Caricamento dinamico del codice:se la tua app ha come target l'SDK 37 o versioni successive, la protezione per il caricamento dinamico del codice (DCL) più sicuro introdotta in Android 14 per i file DEX e JAR ora si estende alle librerie native. Tutti i file nativi caricati utilizzando System.load() devono essere contrassegnati come di sola lettura. In caso contrario, il sistema genera UnsatisfiedLinkError.
- Attiva CT per impostazione predefinita:Certificate Transparency (CT) è attivato per impostazione predefinita. Su Android 16, CT è disponibile, ma le app devono attivarlo.
- Protezioni della rete locale: le app che hanno come target l'SDK 37 o versioni successive hanno l'accesso alla rete locale bloccato per impostazione predefinita. Se possibile, passa all'utilizzo di selettori che preservano la privacy e utilizza la nuova autorizzazione
ACCESS_LOCAL_NETWORKper un accesso ampio e persistente. - Rafforzamento dell'audio in background:a partire da Android 17, il framework audio applica restrizioni alle interazioni audio in background, tra cui riproduzione audio, richieste di messa a fuoco audio e API di modifica del volume. In base ai feedback ricevuti, abbiamo apportato alcune modifiche dalla beta 2, tra cui il gating targetSDK durante l'applicazione di FGS e l'esenzione dell'audio della sveglia. I dettagli completi sono disponibili nelle linee guida aggiornate.
- Dichiarazione di accesso alla NPU:le app che hanno come target Android 17 e che devono accedere direttamente alla NPU devono dichiarare
FEATURE_NEURAL_PROCESSING_UNITnel manifest per evitare che l'accesso alla NPU venga bloccato. Sono incluse le app che utilizzano il delegato NPU LiteRT, gli SDK specifici del fornitore, nonché l'NNAPI ritirata.
Iniziare a utilizzare Android 17
Se non hai ancora partecipato al programma Android beta, il tuo dispositivo Pixel dovrebbe ricevere Android 17 a breve. Se non hai un dispositivo Pixel, puoi utilizzare le immagini di sistema a 64 bit con l'emulatore Android in Android Studio. Se attualmente utilizzi Android 17 Beta 4.1 e non hai ancora provato una beta di Android 17 QPR1, puoi uscire dal programma e ti verrà offerta la versione di rilascio di Android 17 via OTA.
Ottenere la beta di Android 17 sui dispositivi partner
Android 17 è disponibile in versione beta su smartphone, tablet e pieghevoli di partner tra cui Honor, iQOO, Lenovo, OnePlus, OPPO, Realme, Sharp, vivo e Xiaomi.
Per un'esperienza di sviluppo ottimale con Android 17, ti consigliamo di utilizzare la build Canary più recente di Android Studio Quail. Una volta configurato, ecco alcune cose che dovresti fare:
- Testa la tua app attuale per verificarne la compatibilità, scopri se è interessata dalle modifiche in Android 17 e installala su un dispositivo o Android Emulator con Android 17 ed esegui test approfonditi.
Ringraziamo ancora una volta tutti coloro che hanno partecipato al nostro programma di anteprima per gli sviluppatori Android e al programma beta. Non vediamo l'ora di scoprire come le vostre app sfruttano gli aggiornamenti di Android 17 e abbiamo in programma di fornirvi aggiornamenti con una cadenza di rilascio rapida in futuro.
Per informazioni complete su Android 17, visita il sito per sviluppatori Android 17.
Continua a leggere
-
Novità sul prodotto
Android 17 ha raggiunto ufficialmente la stabilità della piattaforma oggi con la beta 3. Ciò significa che la superficie API è bloccata. Puoi eseguire i test di compatibilità finali e caricare le tue app con target Android 17 sul Play Store.
Matthew McCullough • Lettura di 5 minuti
-
Novità sul prodotto
Google I/O '26 presenta 17 annunci chiave per gli sviluppatori Android incentrati sulla produttività guidata dagli agenti, su Compose First come standard UI e su media ad alte prestazioni e sviluppo adattivo per l'ecosistema in espansione.
Matthew McCullough • Lettura di 8 minuti
-
Novità sul prodotto
Annunciato oggi durante The Android Show, Android sta passando da sistema operativo a sistema intelligente, creando maggiori opportunità di coinvolgimento con le tue app.
Matthew McCullough • Lettura di 4 minuti
Resta al passo con le novità
Ricevi gli ultimi approfondimenti sullo sviluppo per Android direttamente nella tua casella di posta ogni settimana.