ink

  
激发卓越的触控笔应用。降低开发者进入高性能、精美墨迹体验的门槛。支持在 Android 和服务器端 JVM 上使用墨迹(目前在 Linux for x86_64 上受支持)。
最近更新时间 稳定版 候选版 Beta 版 Alpha 版
2026 年 9 月 9 日 1.0.0 - - 1.1.0-alpha08

声明依赖项

如需添加 Ink 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

Groovy

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

Kotlin

dependencies {


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

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

Ink 版本 1.1

版本 1.1.0-alpha08

2026 年 9 月 9 日

发布了 androidx.ink:ink-*:1.1.0-alpha08。版本 1.1.0-alpha08 中包含 这些提交内容

API 变更

  • 根据 KMP 常见 API(用于核心功能),在选择启用注解 ExperimentalInkCrossPlatformRenderingApi 下,通过 MetalRenderer 为 KMP iOS 添加了渲染支持
  • Target.TEXTURE_ANIMATION_PROGRESS_OFFSET 重命名为 Target.PAINT_ANIMATION_PROGRESS_OFFSET。(I8809f)
  • 添加了重载 ImmutableAffineTransform.translate(float x, float, y)MutableAffineTransform populateFromTranslation(float x, float y) (I8809f)
  • DampingNode 属性从 dampingSource 重命名为 dampOver (Id3178)
  • DampingNode 属性从 dampingGap 重命名为 strength (I69432)
  • 在定义 EasingFunction.CubicBezier 时,使用 Vec 类型而不是 Float (I69432)
  • 向网格编辑橡皮擦函数 Stroke.subtractStroke.split 添加了 WorkerThread 注解 (I69432)

bug 修复

  • 使 Brush 示例与 KMP 兼容 (I77125)

版本 1.1.0-alpha07

2026 年 8 月 12 日

发布了 androidx.ink:ink-*:1.1.0-alpha07。版本 1.1.0-alpha07 中包含 这些提交内容

API 变更

  • 修复了影响密集粒子笔刷的性能回归问题,并根据 API 反馈更新了 Brush.Version 常量 (I87f0f)

版本 1.1.0-alpha06

2026 年 7 月 29 日

发布了 androidx.ink:ink-*:1.1.0-alpha06。版本 1.1.0-alpha06 中包含 这些提交内容

API 变更

  • BrushFamily 子类型的 API 添加了 calculateMinimumRequiredVersion 方法。(I338c9)
  • 公开了 AffineTransform 组件字段 (Ic2ec3)
  • 修复了 InProgressStrokesView 中的内存泄漏问题,改进了实验性部分笔画橡皮擦视觉工件,改进了自定义笔刷纹理层的 protobuf 表示法 (I6ff86)
  • MutableAffineTransform 添加了初始化构造函数(以匹配 ImmutableAffineTransform)(I96ec7)
  • 添加了 InProgressStroke.clear (Ie0032)
  • 为具有可变和不可变子类的数据结构添加了 toImmutable 方法 (I53835)
  • KMP 迁移 (Icbf38b/521850119b/534309122)

bug 修复

  • 进一步支持笔刷版本控制和纹理动画。(Iea9ba)

版本 1.1.0-alpha05

2026 年 7 月 15 日

发布了 androidx.ink:ink-*:1.1.0-alpha05。版本 1.1.0-alpha05 中包含 这些提交内容

API 变更

  • 实验性发布了新的橡皮擦类型,称为“部分笔画”“网格编辑”或“像素”橡皮擦,用于编辑笔画几何图形和拆分笔画,而不是删除整个笔画或使用背景颜色遮盖笔画。已知问题包括剪切边缘缺少抗锯齿功能,以及没有用于保存已擦除的 PartitionedMesh 结果的序列化 API,这些问题将在未来的版本中得到解决。
  • StrokeInputBatchSerialization.decode 添加了缺失的 Throws 注解,需要更新该方法的 Java 使用者。(I83473b/522256938)

bug 修复

  • 修复了因数值精度问题而导致的原生崩溃 (I2e1f06618e69b/523190724)
  • 舍弃了 BrushTipExtruder 中的退化挤出 (469b629)
  • 修复了 InProgressStrokesView 中的 RejectedExecutionException (b/526696762)

版本 1.1.0-alpha04

2026 年 6 月 17 日

发布了 androidx.ink:ink-*:1.1.0-alpha04。版本 1.1.0-alpha04 中包含 这些提交内容

API 变更

  • 修复了浮点精度问题,这些问题会导致完成的笔画中出现视觉工件,影响操作系统升级后的某些设备

  • 为存储模块添加了 KMP 常见 API(来回于 ByteArray 而不是 Java InputStream/OutputStream)。

  • 添加了 BrushBehavior.developerComment 属性,用于保存说明自定义笔刷系列设计的元数据。此属性旨在支持笔刷设计器界面。

  • 修复了 CanvasInProgressStrokesRenderHelperV33 中线程一致性检查的 bug。

  • 修复了处理 MotionEvent 可选字段(例如倾斜度、压力)时的一些 bug。

  • 改进了自定义笔刷 API 的文档。

  • 添加了新的 BrushPaint.ColorFunction 类型。

版本 1.1.0-alpha03

2026 年 5 月 19 日

发布了 androidx.ink:ink-*:1.1.0-alpha03。版本 1.1.0-alpha03 中包含 这些提交内容

API 变更

  • 公开了以编程方式自定义 Ink 笔刷的 API (I8e2e1)
  • BrushPaint.TextureLayer 拆分为更具体的子类 (I8848a)

版本 1.1.0-alpha02

2026 年 4 月 22 日

发布了 androidx.ink:ink-*:1.1.0-alpha02。版本 1.1.0-alpha02 中包含 这些提交内容

API 变更

  • 公开了 BrushFamily.decode 的重载,用于指定最大版本兼容性 (I1c7bc)
  • BrushFamily 序列化 API 从实验性升级为正式版 (Idd16e)

bug 修复

  • 修复了在某些设备上使用 InProgressStrokesView.maskPath 时出现的闪烁问题 (I1c7bcb/496920044)

版本 1.1.0-alpha01

2026 年 3 月 11 日

发布了 androidx.ink:ink-*:1.1.0-alpha01。版本 1.1.0-alpha01 中包含 这些提交内容

新功能

  • 各种小 bug 修复

API 变更

  • 添加了 InProgressShape.isCanceled,修复了创作模块中的并发问题。(Ibfd32b/474385518b/470695777)
  • 向 Java 公开了 CanvasStrokeRenderer.createInProgressStroke.updateShape 的零参数版本 (Id80a1b/457715938)

bug 修复

  • 修复了在 API 29-32 中从窗口分离/重新连接后导致 InProgressStrokesView 崩溃的 bug,允许 Vec 运算将相同的 MutableVec 作为输入和输出,并将 Proguard 配置合并到一个文件中。(