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 digitale 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
17 giugno 2026 1.0.0 - - 1.1.0-alpha04

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-alpha04"
    implementation "androidx.ink:ink-authoring-compose:1.1.0-alpha04"
    implementation "androidx.ink:ink-brush:1.1.0-alpha04"
    implementation "androidx.ink:ink-brush-compose:1.1.0-alpha04"
    implementation "androidx.ink:ink-geometry:1.1.0-alpha04"
    implementation "androidx.ink:ink-geometry-compose:1.1.0-alpha04"
    implementation "androidx.ink:ink-nativeloader:1.1.0-alpha04"
    implementation "androidx.ink:ink-rendering:1.1.0-alpha04"
    implementation "androidx.ink:ink-storage:1.1.0-alpha04"
    implementation "androidx.ink:ink-strokes:1.1.0-alpha04"
    
}

Kotlin

dependencies {


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

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-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 upgrade 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 (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

  • Esporre un overload di BrushFamily.decode che specifica la compatibilità massima della versione (I1c7bc)
  • Ritirare l'API di serializzazione BrushFamily dalla fase 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à

  • Varie correzioni di bug minori

Modifiche alle API

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

Correzioni di bug

  • Correzione di un bug che causa arresti anomali in InProgressStrokesView dopo il distacco/riaggancio dalla finestra per le API 29-32, consentire alle operazioni vettoriali di utilizzare lo stesso MutableVec come input e output, unire 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 a 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 personalizzate per forme a bassa latenza, varie correzioni di bug (Ib8d2f)

Correzioni di bug

  • Migliora la precisione della rappresentazione in virgola mobile nella serializzazione StrokeInputBatch, correggendo una deriva nei valori dovuta alla codifica e decodifica ripetute
  • Sanificazione più efficace degli 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 l'input utente in modo più accurato rispetto all'implementazione precedente
  • 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 degli angoli 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 documenti, 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 emoji: evidenzia le parti di un documento con l'emoji che preferisci per aggiungere un tocco divertente e rimanere organizzato.
  • 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 geometria di finitura, 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 sulla geometria. (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 invece 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, eseguire il rendering 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.