インク

  
最高水準のペンアプリを開発できます。高性能で美しいインク エクスペリエンスを実現するためのデベロッパーの参入障壁を低くします。Android とサーバーサイド JVM でのインクをサポートします(現在は Linux(x86_64)でサポートされています)。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2026 年 3 月 11 日 1.0.0 - - 1.1.0-alpha01

依存関係の宣言

Ink への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリ をご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

Groovy

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

Kotlin

dependencies {


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

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

バージョン 1.1

バージョン 1.1.0-alpha01

2026 年 3 月 11 日

androidx.ink:ink-*:1.1.0-alpha01 がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください。

新機能

  • さまざまな軽微なバグを修正しました。

API の変更

  • InProgressShape.isCanceled を追加し、オーサリング モジュールの同時実行の問題を修正しました。(Ibfd32b/474385518b/470695777
  • CanvasStrokeRenderer.createInProgressStroke.updateShape の引数なしバージョンを Java に公開しました(Id80a1b/457715938)。

バグの修正

  • API 29 ~ 32 でウィンドウからデタッチ/再アタッチした後に InProgressStrokesView でクラッシュが発生するバグを修正し、Vec オペレーションで同じ MutableVec を入力と出力として使用できるようにしました。また、Proguard 構成を 1 つのファイルに統合しました。(Ia4da0)
  • graphics-core への依存関係を 1.0.4 に増やしました(Ibfa18)。

バージョン 1.0

バージョン 1.0.0

2025 年 12 月 17 日

androidx.ink:ink-*:1.0.0 がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください。

バグの修正

  • graphics-core への依存関係を 1.0.4 に増やしました(Ibfa18)。

バージョン 1.0.0-rc01

2025 年 12 月 3 日

androidx.ink:ink-*:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください

バグの修正

  • 依存関係のバージョンを更新しました。(Iecd04)

バージョン 1.0.0-beta02

2025 年 11 月 19 日

androidx.ink:ink-*:1.0.0-beta02 がリリースされました。バージョン 1.0.0-beta02 に含まれる commit については、こちらをご覧ください

API の変更

  • 試験運用版のカスタム低レイテンシ シェイプ API、さまざまなバグの修正(Ib8d2f

バグの修正

  • StrokeInputBatch のシリアル化で浮動小数点精度を改善し、エンコードとデコードを繰り返したときに値がずれる問題を修正しました。
  • システム入力のサニタイズを強化しました。
  • InProgressStrokes コンポーザブルでのブラシ テクスチャのサポートを修正しました。

バージョン 1.0.0-beta01

2025 年 10 月 22 日

androidx.ink:ink-*:1.0.0-beta01 がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください

バグの修正

  • beta01 リリースに向けてバグを修正しました(I9900e)。
  • モデル化された入力が互いに近すぎるためにストロークでレンダリング アーティファクトが減少しました。
  • 入力モデリングでのまれなクラッシュを修正しました。

バージョン 1.0.0-alpha07

2025 年 10 月 8 日

androidx.ink:ink-*:1.0.0-alpha07 がリリースされました。バージョン 1.0.0-alpha07 に含まれる commit については、こちらをご覧ください。

新機能

  • StockBrushes highlighteremojiHighlighterSelfOverlap パラメータ。InProgressStrokesView rendererFactory を置き換えます。
  • ストローク入力の平滑化の実装を改善しました。これにより、デバイスの測定ノイズが除去されますが、以前のストローク入力の平滑化の実装よりもユーザー入力を正確に反映します。
  • 角度単位(度とラジアン)、変換(スキューとせん断)など、他の Android/Jetpack API との一貫性を改善しました。

API の変更

  • 角度関連の API を変更して度を使用し、名前の単位を含めるようにしました。角度変換ユーティリティの単位を明確にし、度とラジアンの両方をサポートしました。StockBrushes API を変更して、ストック ブラシのバージョンをファクトリ関数パラメータとして取得し、ハイライト ブラシの自己オーバーラップ動作の制御を公開しました。MutableAffineTransform.populateFromTranslate の名前を populateFromTranslation に変更し、InProgressStrokesView.setRenderFactory/getRenderFactory を削除しました。(Id9eabb/436656418
  • せん断をスキューに変更し、ドキュメントの一部を明確にし、CanvasStrokeRenderer.strokeModifiedRegionOutsetPx を削除し、InProgressStroke.changesWithTime を追加しました(Ia5e70b/436656418)。

バグの修正

  • 入力モデリングを改善し、ストロークに入力がより正確に反映されるようにしました。(I93097

バージョン 1.0.0-alpha06

2025 年 8 月 13 日

androidx.ink:ink-*:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください

新機能

  • 絵文字ハイライト ストック ブラシ: 選択した絵文字でドキュメントの一部をハイライト表示して、楽しい雰囲気を加え、整理しやすくします。
  • ジオメトリ モジュールのプリミティブ シェイプ用のヘルパー API を追加しました。
  • デバイスの互換性とパフォーマンスを改善しました。

API の変更

  • InProgressStrokesView の API を簡素化し、ジオメトリ API、絵文字ハイライトを完成させ、populate メソッドを優先して MutableParallelogram からファクトリ関数を削除し、ランダム化されたブラシ動作のシードをサポートしました。(I38280)

バグの修正

  • パフォーマンスの問題と、ウェット/ドライ カラーの一貫性の問題を修正しました。(Ifcd1d)

バージョン 1.0.0-alpha05

2025 年 6 月 18 日

androidx.ink:ink-*:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。

新機能

  • オーサリング、ブラシ、ジオメトリ モジュールの Compose 相互運用性モジュール

API の変更

  • 新しい Compose 相互運用性モジュールと API、API のクリーンアップ(I0e464
  • kotlin.Result を返した InProgressStroke.enqueueInputs/updateShape メソッドが削除されました。クライアントは代わりに enqueueInputsOrThrowenqueueInputsOrIgnore などを使用する必要があります。InProgressStroke.getNeedsUpdate の名前が isUpdateNeeded に変更されました。InProgressStroke.populateOutlinePosition が出力パラメータを返すようになり、Ink の他のメソッドと一貫して呼び出しのチェーン化が可能になりました。TextureBitmapStore インターフェースがレンダリング モジュールからブラシ モジュールに移動しました。BoxAccumulator.populateFrom が、変更可能な BoxAccumulator ではなく、null 可能な不変の Box を受け取るように変更されました。これにより、変更される内容が明確になります。呼び出し元は boxAccumulator.add(other)boxAccumulator.add(other.box) に変更する必要があります。BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor が削除されました。代わりに、構築後に Brush.BuildersetAndroidColor を使用してください。(Ia7155
  • 以前は試験運用版だったプロパティ InProgressStrokesView.textureBitmapStore が非公開になりました。このプロパティにはまだ公開アクセサがあります。(I1d706)

バグの修正

  • 多数のパーティクルを含むカスタム ブラシのパフォーマンスを改善しました。

バージョン 1.0.0-alpha04

2025 年 4 月 9 日

androidx.ink:ink-*:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください

新機能

  • カスタム BrushFamily オブジェクト用の新しい試験運用版 API が導入され、鉛筆やレーザー ポインタなどの新しいブラシが使用できるようになりました。この API を使用すると、この proto で定義されたブラシを読み込むことができます。(I8809a

バージョン 1.0.0-alpha03

2025 年 2 月 12 日

androidx.ink:ink-*:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください

新機能

  • ディスクとネットワークのサイズを節約: StrokeInputBatch のシリアル化により、多くのコード行を保存し、結果として得られるオブジェクトのサイズは、従来保存されていたストロークのサイズのごく一部になります。(Ie898d)
  • なげなわ選択: 選択ストロークを描画する破線ブラシと、選択ストロークをジオメトリ クエリ用の PartitionedMesh に変換する関数。(Ia38a0)

バージョン 1.0.0-alpha02

2024 年 12 月 11 日

androidx.ink:ink-*:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください

API の変更

  • さまざまなバグを修正しました。(I05dd8)

外部からの協力

  • BuildCompat.isAtLeastV のサポートが終了しました。呼び出し元は、代わりに SDK_INT を 35 と直接比較する必要があります。(I294d1)

バージョン 1.0.0-alpha01

2024 年 10 月 2 日

androidx.ink:ink-*:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • モジュール式で構成可能なライブラリにより、アプリケーションで作成された美しいインク ストロークを簡単に作成、レンダリング、操作できます。

API の変更

デベロッパーが豊富なインク エクスペリエンスを構築するのに役立つ新しいモジュール:

  • オーサリング: 入力が受信されると、InProgressStrokesView を使用して、ストロークをリアルタイムで高性能かつ低レイテンシでレンダリングします。
  • レンダリング: CanvasStrokeRendererViewStrokeRenderer を使用して、完成したインク ストロークをアプリのユーザー インターフェースの一部として描画します。
  • ストローク: インク機能に使用されるコアデータ型。
  • ブラシ: ユーザー入力に応じてストロークがどのように表示され、動作するかを指定します。
  • ジオメトリ: 選択や消去などのツールを強化するための、交差やカバレッジなどの幾何学的演算。