inchiostro

  
Ispira le migliori app per prendere note, disegnare e creare. Riduci la barriera all'entrata per gli sviluppatori per esperienze di inchiostrazione belle e ad alte prestazioni. Supporta l'inchiostro su Android e JVM lato server (attualmente supportato su Linux per x86_64).
Ultimo aggiornamento Release stabile Candidato per la release Release beta Release alpha
23 settembre 2026 1.0.0 - - 1.1.0-alpha09

Dichiara le dipendenze

Per aggiungere una dipendenza da Ink, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per la tua app o il tuo modulo:

Groovy

dependencies {
  
    implementation "androidx.ink:ink-authoring:1.1.0-alpha09"
    implementation "androidx.ink:ink-authoring-compose:1.1.0-alpha09"
    implementation "androidx.ink:ink-brush:1.1.0-alpha09"
    implementation "androidx.ink:ink-brush-compose:1.1.0-alpha09"
    implementation "androidx.ink:ink-geometry:1.1.0-alpha09"
    implementation "androidx.ink:ink-geometry-compose:1.1.0-alpha09"
    implementation "androidx.ink:ink-nativeloader:1.1.0-alpha09"
    implementation "androidx.ink:ink-rendering:1.1.0-alpha09"
    implementation "androidx.ink:ink-storage:1.1.0-alpha09"
    implementation "androidx.ink:ink-strokes:1.1.0-alpha09"
    
}

Kotlin

dependencies {


    implementation("androidx.ink:ink-authoring:1.1.0-alpha09")
    implementation("androidx.ink:ink-authoring-compose:1.1.0-alpha09")
    implementation("androidx.ink:ink-brush:1.1.0-alpha09")
    implementation("androidx.ink:ink-brush-compose:1.1.0-alpha09")
    implementation("androidx.ink:ink-geometry:1.1.0-alpha09")
    implementation("androidx.ink:ink-geometry-compose:1.1.0-alpha09")
    implementation("androidx.ink:ink-nativeloader:1.1.0-alpha09")
    implementation("androidx.ink:ink-rendering:1.1.0-alpha09")
    implementation("androidx.ink:ink-storage:1.1.0-alpha09")
    implementation("androidx.ink:ink-strokes:1.1.0-alpha09")
}

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per saperne di più, consulta la documentazione di Issue Tracker.

Versione 1.1 di Ink

Versione 1.1.0-alpha09

23 settembre 2026

androidx.ink:ink-*:1.1.0-alpha09 è stato rilasciato. La versione 1.1.0-alpha09 contiene questi commit.

Modifiche alle API

  • Modifica lo spostamento del colore del pennello per operare nello spazio colore Oklab, che preserva meglio la luminosità percepita negli spostamenti della tonalità. Le API Brush Target SATURATION e LUMINOSITY sono state rinominate rispettivamente CHROMA e LIGHTNESS. (I0ed42)

Correzioni di bug

  • La dipendenza androidx.lifecycle:lifecycle-runtime è stata aggiornata alla versione 2.10.0. Questa versione è necessaria per l'esecuzione dei controlli lint del runtime del ciclo di vita in bundle con AGP versione 9.5.0-alpha04 o successive. (I99bfd, b/556807521)

Versione 1.1.0-alpha08

9 settembre 2026

androidx.ink:ink-*:1.1.0-alpha08 è stato rilasciato. La versione 1.1.0-alpha08 contiene questi commit.

Modifiche alle API

  • Aggiungi il supporto del rendering per KMP iOS tramite MetalRenderer, nell'ambito dell'annotazione di attivazione ExperimentalInkCrossPlatformRenderingApi, in base alle API comuni KMP per la funzionalità di base
  • Rinomina Target.TEXTURE_ANIMATION_PROGRESS_OFFSET in Target.PAINT_ANIMATION_PROGRESS_OFFSET. (I8809f)
  • Aggiungi sovraccarichi ImmutableAffineTransform.translate(float x, float, y) e MutableAffineTransform populateFromTranslation(float x, float y) (I8809f)
  • Rinomina la proprietà DampingNode da dampingSource a dampOver (Id3178)
  • Rinomina la proprietà DampingNode da dampingGap a strength (I69432)
  • Utilizza il tipo Vec quando definisci EasingFunction.CubicBezier anziché Float (I69432)
  • Aggiungi l'annotazione WorkerThread alle funzioni di gomma per la modifica della mesh Stroke.subtract e Stroke.split (I69432)

Correzioni di bug

  • Rendi compatibili con KMP gli esempi di Brush (I77125)

Versione 1.1.0-alpha07

12 agosto 2026

androidx.ink:ink-*:1.1.0-alpha07 è stato rilasciato. La versione 1.1.0-alpha07 contiene questi commit.

Modifiche alle API

  • Correzione della regressione delle prestazioni che interessa i pennelli con particelle dense, aggiornamento delle costanti Brush.Version in base al feedback dell'API (I87f0f)

Versione 1.1.0-alpha06

29 luglio 2026

androidx.ink:ink-*:1.1.0-alpha06 è stato rilasciato. La versione 1.1.0-alpha06 contiene questi commit.

Modifiche alle API

  • Sono stati aggiunti calculateMinimumRequiredVersion metodi all'API per i sottotipi BrushFamily. (I338c9)
  • Esporre i campi dei componenti AffineTransform (Ic2ec3)
  • Correzione della perdita di memoria in InProgressStrokesView, miglioramento degli artefatti visivi della gomma parziale sperimentale, miglioramento della rappresentazione protobuf per i livelli di texture del pennello personalizzato (I6ff86)
  • Aggiungi il costruttore di inizializzazione per MutableAffineTransform (in modo che corrisponda a ImmutableAffineTransform) (I96ec7)
  • Aggiungi InProgressStroke.clear (Ie0032)
  • Aggiungi metodi toImmutable alle strutture di dati con sottoclassi mutabili e immutabili (I53835)
  • Migrazione KMP (Icbf38, b/521850119, b/534309122)

Correzioni di bug

  • Aggiunta di ulteriore supporto per il controllo delle versioni dei pennelli e le animazioni delle texture. (Iea9ba)

Versione 1.1.0-alpha05

15 luglio 2026

androidx.ink:ink-*:1.1.0-alpha05 è stato rilasciato. La versione 1.1.0-alpha05 contiene questi commit.

Modifiche alle API

  • Rilascio sperimentale di un nuovo tipo di gomma, noto come gomma "tratto parziale", "modifica mesh" o "pixel", che modifica la geometria dei tratti e li divide anziché eliminarli completamente o mascherarli con il colore di sfondo. I problemi noti includono la mancanza di anti-aliasing sui bordi tagliati e l'assenza di API di serializzazione per salvare i risultati della gomma magicaPartitionedMesh, che verranno entrambi inclusi nelle release future.
  • Aggiungi l'annotazione Throws mancante a StrokeInputBatchSerialization.decode, richiedendo l'aggiornamento da parte dei consumatori Java di questo metodo. (I83473, b/522256938)

Correzioni di bug

  • È stato corretto un arresto anomalo nativo dovuto a un problema di precisione numerica (I2e1f0, 6618e69, b/523190724)
  • Ignora le estrusioni degenerate in BrushTipExtruder (469b629)
  • È stato corretto RejectedExecutionException in InProgressStrokesView (b/526696762)

Versione 1.1.0-alpha04

17 giugno 2026

androidx.ink:ink-*:1.1.0-alpha04 è stato rilasciato. La versione 1.1.0-alpha04 contiene questi commit.

Modifiche alle API

  • Correzione dei problemi di precisione in virgola mobile che causano artefatti visivi nei tratti finiti, che interessano alcuni dispositivi dopo gli aggiornamenti del sistema operativo

  • Aggiungi l'API KMP-common per il modulo di archiviazione (da/verso ByteArray invece di Java InputStream/OutputStream).

  • Aggiungi una proprietà BrushBehavior.developerComment per contenere i metadati che spiegano il design di una famiglia di pennelli personalizzati. Questa funzionalità è pensata per supportare la UI di Brush Designer.

  • Correzione di un bug nei controlli di coerenza dei thread in CanvasInProgressStrokesRenderHelperV33.

  • Correzione di alcuni bug nella gestione dei campi facoltativi MotionEvent (ad es. inclinazione, pressione).

  • Migliora la documentazione per l'API per pennelli personalizzati.

  • Aggiungi nuovi tipi di BrushPaint.ColorFunction.

Versione 1.1.0-alpha03

19 maggio 2026

androidx.ink:ink-*:1.1.0-alpha03 è stato rilasciato. La versione 1.1.0-alpha03 contiene questi commit.

Modifiche alle API

  • Rendere pubblica l'API di personalizzazione del pennello inchiostro programmatica (I8e2e1)
  • Dividi BrushPaint.TextureLayer in sottoclassi più specifiche (I8848a)

Versione 1.1.0-alpha02

22 aprile 2026

androidx.ink:ink-*:1.1.0-alpha02 è stato rilasciato. La versione 1.1.0-alpha02 contiene questi commit.

Modifiche alle API

  • Espone un overload di BrushFamily.decode che specifica la compatibilità massima della versione (I1c7bc)
  • Esegui l'upgrade dell'API di serializzazione BrushFamily da sperimentale (Idd16e)

Correzioni di bug

  • Correzione dello sfarfallio durante l'utilizzo di InProgressStrokesView.maskPath su alcuni dispositivi (I1c7bc, b/496920044)

Versione 1.1.0-alpha01

11 marzo 2026

androidx.ink:ink-*:1.1.0-alpha01 è stato rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Correzioni di bug minori assortite

Modifiche alle API

  • Aggiungi InProgressShape.isCanceled, correggi i problemi di concorrenza nel modulo di creazione. (Ibfd32, b/474385518, b/470695777)
  • Esporre la versione con zero argomenti di CanvasStrokeRenderer.create e InProgressStroke.updateShape a Java (Id80a1, b/457715938)

Correzioni di bug

  • Correzione di un bug che causava arresti anomali in InProgressStrokesView dopo il distacco/riaggancio dalla finestra per le API 29-32, consentendo alle operazioni vettoriali di utilizzare lo stesso MutableVec come input e output, unendo le configurazioni Proguard in un unico file. (Ia4da0)
  • Aumenta la dipendenza da graphics-core a 1.0.4 (Ibfa18)

Versione 1.0

Versione 1.0.0

17 dicembre 2025

androidx.ink:ink-*:1.0.0 è stato rilasciato. La versione 1.0.0 contiene questi commit.

Correzioni di bug

  • Aumenta la dipendenza da graphics-core alla versione 1.0.4 (Ibfa18)

Versione 1.0.0-rc01

3 dicembre 2025

androidx.ink:ink-*:1.0.0-rc01 è stato rilasciato. La versione 1.0.0-rc01 contiene questi commit.

Correzioni di bug

  • Aggiorna la versione della dipendenza. (Iecd04)

Versione 1.0.0-beta02

19 novembre 2025

androidx.ink:ink-*:1.0.0-beta02 è stato rilasciato. La versione 1.0.0-beta02 contiene questi commit.

Modifiche alle API

  • API sperimentali per forme personalizzate a bassa latenza, correzioni di bug assortite (Ib8d2f)

Correzioni di bug

  • Migliora la precisione in virgola mobile nella serializzazione StrokeInputBatch, correggendo una deriva nei valori dovuta alla codifica e decodifica ripetute
  • Sanificazione più solida dell'input di sistema.
  • Correggi il supporto della texture pennello nel composable InProgressStrokes

Versione 1.0.0-beta01

22 ottobre 2025

androidx.ink:ink-*:1.0.0-beta01 è stato rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Correzioni di bug

  • Correzioni di bug in preparazione della release beta01 (I9900e)
  • Riduce gli artefatti di rendering nei tratti dovuti a un numero eccessivo di input modellati troppo vicini tra loro.
  • Correzione di un raro arresto anomalo nella modellazione dell'input.

Versione 1.0.0-alpha07

8 ottobre 2025

androidx.ink:ink-*:1.0.0-alpha07 è stato rilasciato. La versione 1.0.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Parametro SelfOverlap per StockBrushes highlighter e emojiHighlighter, che sostituisce InProgressStrokesView rendererFactory
  • Implementazione migliorata del livellamento dell'input tratto, che elimina il rumore di misurazione del dispositivo, ma che riflette in modo più accurato l'input utente rispetto all'implementazione precedente del livellamento dell'input tratto
  • Maggiore coerenza con altre API Android/Jetpack per unità di angolo (gradi e radianti), trasformazioni (inclinazione e taglio) e altro ancora

Modifiche alle API

  • Modifica l'API relativa all'angolo in modo che utilizzi i gradi e includa l'unità nei nomi, specifica chiaramente le unità nelle utilità di conversione dell'angolo e supporta sia i gradi che i radianti, modifica l'API StockBrushes in modo che accetti la versione del pennello stock come parametro della funzione di fabbrica ed esponga il controllo del comportamento di auto-sovrapposizione per i pennelli evidenziatori, rinomina MutableAffineTransform.populateFromTranslate in populateFromTranslation, rimuovi InProgressStrokesView.setRenderFactory/getRenderFactory. (Id9eab, b/436656418)
  • Rinomina taglio in inclinazione, chiarisci alcuni aspetti della documentazione, rimuovi CanvasStrokeRenderer.strokeModifiedRegionOutsetPx, aggiungi InProgressStroke.changesWithTime (Ia5e70, b/436656418)

Correzioni di bug

  • Migliora la modellazione dell'input per fare in modo che i tratti riflettano in modo più accurato l'input. (I93097)

Versione 1.0.0-alpha06

13 agosto 2025

androidx.ink:ink-*:1.0.0-alpha06 è stato rilasciato. La versione 1.0.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Pennello stock evidenziatore di emoji: evidenzia le parti di un documento con l'emoji che preferisci per aggiungere un tocco divertente e aiutarti a organizzare il lavoro.
  • Altre API helper per le forme primitive del modulo di geometria
  • Migliorare la compatibilità e le prestazioni dei dispositivi

Modifiche alle API

  • API semplificata per InProgressStrokesView, API di completamento della geometria, evidenziatore di emoji, rimozione delle funzioni di fabbrica da MutableParallelogram a favore dei metodi di compilazione, supporto del seme per i comportamenti casuali del pennello. (I38280)

Correzioni di bug

  • Correzione di un problema di prestazioni e di un problema di coerenza del colore bagnato/asciutto. (Ifcd1d)

Versione 1.0.0-alpha05

18 giugno 2025

androidx.ink:ink-*:1.0.0-alpha05 viene rilasciata. La versione 1.0.0-alpha05 contiene questi commit.

Nuove funzionalità

  • Composizione di moduli di interoperabilità per i moduli di creazione, pennello e geometria

Modifiche alle API

  • Nuovi moduli e API di interoperabilità di Compose, cleanup delle API (I0e464)
  • I metodi InProgressStroke.enqueueInputs/updateShape che hanno restituito kotlin.Result vengono rimossi. I client devono utilizzare, ad esempio, enqueueInputsOrThrow o enqueueInputsOrIgnore. InProgressStroke.getNeedsUpdate è stato rinominato in isUpdateNeeded. InProgressStroke.populateOutlinePosition ora restituisce il parametro di output per consentire l'incatenamento delle chiamate, in modo coerente con gli altri metodi in Ink. L'interfaccia TextureBitmapStore viene spostata dal modulo di rendering al modulo del pennello. BoxAccumulator.populateFrom è progettato per accettare una casella immutabile nullable anziché un BoxAccumulator mutabile, per rendere più chiaro cosa viene modificato. I chiamanti devono modificare boxAccumulator.add(other) in boxAccumulator.add(other.box). BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor vengono rimossi; utilizza invece setAndroidColor di Brush.Builder dopo la costruzione. (Ia7155)
  • La proprietà precedentemente sperimentale InProgressStrokesView.textureBitmapStore è ora privata. Esistono ancora accessor pubblici per questa proprietà. (I1d706)

Correzioni di bug

  • Prestazioni migliorate per i pennelli personalizzati contenenti molte particelle.

Versione 1.0.0-alpha04

9 aprile 2025

androidx.ink:ink-*:1.0.0-alpha04 viene rilasciata. La versione 1.0.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Introduce nuove API sperimentali per gli oggetti BrushFamily personalizzati, consentendo nuovi pennelli come Matita e Puntatore laser. L'API consente di caricare i pennelli definiti da questo proto. (I8809a)

Versione 1.0.0-alpha03

12 febbraio 2025

androidx.ink:ink-*:1.0.0-alpha03 viene rilasciata. La versione 1.0.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Risparmio di spazio su disco e di rete: serializzazione di StrokeInputBatch, risparmio di molte righe di codice, con gli oggetti risultanti che rappresentano una piccola frazione delle dimensioni dei tratti memorizzati tradizionalmente. (Ie898d)
  • Selezione a lazo: pennello a linea tratteggiata per disegnare un tratto di selezione e una funzione per trasformare il tratto di selezione in un PartitionedMesh per le query geometriche. (Ia38a0)

Versione 1.0.0-alpha02

11 dicembre 2024

androidx.ink:ink-*:1.0.0-alpha02 viene rilasciata. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche alle API

  • Correzione di bug vari. (I05dd8)

Contributo esterno

  • Depreca BuildCompat.isAtLeastV. I chiamanti devono controllare SDK_INT rispetto a 35 direttamente. (I294d1)

Versione 1.0.0-alpha01

2 ottobre 2024

androidx.ink:ink-*:1.0.0-alpha01 viene rilasciata. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Una libreria modulare e configurabile per creare, visualizzare e manipolare facilmente tratti di inchiostro creati nella tua applicazione.

Modifiche alle API

Nuovi moduli per aiutare gli sviluppatori a creare esperienze di inchiostrazione avanzate:

  • Creazione: utilizza InProgressStrokesView per il rendering a bassa latenza e ad alte prestazioni dei tratti in tempo reale man mano che vengono ricevuti gli input.
  • Rendering: utilizza CanvasStrokeRenderer e ViewStrokeRenderer per disegnare i tratti di inchiostro finiti come parte dell'interfaccia utente di un'app.
  • Tratti: tipi di dati principali utilizzati per le funzionalità di inchiostrazione digitale.
  • Pennello: specifica configurabile di come appariranno e si comporteranno i tratti in risposta all'input dell'utente.
  • Geometria: operazioni geometriche come intersezione e copertura per potenziare strumenti come la selezione e la cancellazione.