그리기

  
동급 최고의 펜 앱을 만들어 보세요. 고성능의 아름다운 잉크 환경을 위한 개발자 진입 장벽을 낮춥니다. Android 및 서버 측 JVM에서 잉크를 지원합니다 (현재 x86_64용 Linux에서 지원됨).
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
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을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.1

버전 1.1.0-alpha01

2026년 3월 11일

androidx.ink:ink-*:1.1.0-alpha01이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 다양한 작은 버그 수정

API 변경사항

  • InProgressShape.isCanceled를 추가하고 작성 모듈의 동시 실행 문제를 해결합니다. (Ibfd32, b/474385518, b/470695777)
  • 인수가 없는 버전의 CanvasStrokeRenderer.createInProgressStroke.updateShape를 Java에 노출합니다 (Id80a1, b/457715938).

버그 수정

  • API 29~32의 창에서 분리/재연결 후 InProgressStrokesView에서 비정상 종료를 일으키는 버그를 수정하고, Vec 작업이 동일한 MutableVec를 입력 및 출력으로 사용하도록 허용하며, Proguard 구성을 하나의 파일로 병합합니다. (Ia4da0)
  • graphics-core에 대한 종속 항목을 1.0.4로 늘립니다 (Ibfa18).

버전 1.0

버전 1.0.0

2025년 12월 17일

androidx.ink:ink-*:1.0.0이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.

버그 수정

  • graphics-core에 대한 종속 항목을 1.0.4로 늘립니다 (Ibfa18).

버전 1.0.0-rc01

2025년 12월 3일

androidx.ink:ink-*:1.0.0-rc01이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.

버그 수정

  • 종속 항목 버전을 업데이트합니다. (Iecd04)

버전 1.0.0-beta02

2025년 11월 19일

androidx.ink:ink-*:1.0.0-beta02이 출시되었습니다. 버전 1.0.0-beta02에 포함된 커밋을 확인하세요.

API 변경사항

  • 실험용 맞춤형 짧은 지연 시간 도형 API, 다양한 버그 수정 (Ib8d2f)

버그 수정

  • StrokeInputBatch 직렬화에서 부동 소수점 정밀도를 개선하여 반복되는 인코딩 및 디코딩으로 인한 값의 드리프트를 수정합니다.
  • 더 강력한 시스템 입력 삭제
  • InProgressStrokes 컴포저블에서 브러시 텍스처 지원을 수정합니다.

버전 1.0.0-beta01

2025년 10월 22일

androidx.ink:ink-*:1.0.0-beta01이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.

버그 수정

  • beta01 출시를 준비하는 버그 수정 (I9900e)
  • 모델링된 입력이 너무 많아 서로 너무 가까이 있어 획에서 렌더링 아티팩트가 줄어듭니다.
  • 입력 모델링에서 드물게 발생하는 비정상 종료를 수정합니다.

버전 1.0.0-alpha07

2025년 10월 8일

androidx.ink:ink-*:1.0.0-alpha07이 출시되었습니다. 버전 1.0.0-alpha07에 포함된 커밋을 확인하세요.

새로운 기능

  • InProgressStrokesView rendererFactory를 대체하는 StockBrushes highlighteremojiHighlighterSelfOverlap 매개변수
  • 기기 측정 노이즈를 제거하지만 이전 획 입력 스무딩 구현보다 사용자 입력을 더 정확하게 반영하는 획 입력 스무딩의 구현이 개선되었습니다.
  • 각도 단위 (도 대 라디안), 변환 (기울기 대 전단) 등 다른 Android/Jetpack API와의 일관성이 개선되었습니다.

API 변경사항

  • 각도 관련 API를 도를 사용하도록 변경하고 이름에 단위를 포함하며, 각도 변환 유틸리티에서 단위에 관해 명확히 하고 도 및 라디안을 모두 지원하며, StockBrushes API를 스톡 브러시 버전을 팩토리 함수 매개변수로 사용하도록 변경하고 형광펜 브러시의 자체 중첩 동작 제어를 노출하며, MutableAffineTransform.populateFromTranslate의 이름을 populateFromTranslation으로 변경하고 InProgressStrokesView.setRenderFactory/getRenderFactory를 삭제합니다. (Id9eab, b/436656418)
  • 전단을 기울기로 이름을 바꾸고 일부 문서를 명확히 하며 CanvasStrokeRenderer.strokeModifiedRegionOutsetPx를 삭제하고 InProgressStroke.changesWithTime를 추가합니다 (Ia5e70, b/436656418).

버그 수정

  • 입력 모델링을 개선하여 획이 입력을 더 정확하게 반영하도록 합니다. (I93097)

버전 1.0.0-alpha06

2025년 8월 13일

androidx.ink:ink-*:1.0.0-alpha06이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.

새로운 기능

  • 이모티콘 형광펜 스톡 브러시: 원하는 이모티콘으로 문서의 일부를 강조 표시하여 재미있는 분위기를 더하고 정리된 상태를 유지할 수 있습니다.
  • 기하 도형 모듈 기본 도형을 위한 도우미 API 추가
  • 기기 호환성 및 성능 개선

API 변경사항

  • InProgressStrokesView용 API를 간소화하고, 기하 도형 API, 이모티콘 형광펜을 완료하고, 채우기 메서드를 위해 MutableParallelogram에서 팩터리 함수를 삭제하고, 임의 브러시 동작의 시드를 지원합니다. (I38280)

버그 수정

  • 성능 문제와 습식/건식 색상 일관성 문제를 해결합니다. (Ifcd1d)

버전 1.0.0-alpha05

2025년 6월 18일

androidx.ink:ink-*:1.0.0-alpha05이 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.

새로운 기능

  • 작성, 브러시, 기하 도형 모듈을 위한 Compose 상호 운용성 모듈

API 변경사항

  • 새로운 Compose 상호 운용성 모듈 및 API, API 정리 (I0e464)
  • kotlin.Result를 반환하는 InProgressStroke.enqueueInputs/updateShape 메서드가 삭제되었습니다. 클라이언트는 대신 enqueueInputsOrThrow 또는 enqueueInputsOrIgnore를 사용해야 합니다. 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에 포함된 커밋을 확인하세요.

새로운 기능

  • 맞춤 BrushFamily 객체를 위한 새로운 실험용 API를 도입하여 연필 및 레이저 포인터와 같은 새로운 브러시를 지원합니다. API를 사용하면 이 프로토콜로 정의된 브러시를 로드할 수 있습니다. (I8809a)

버전 1.0.0-alpha03

2025년 2월 12일

androidx.ink:ink-*:1.0.0-alpha03이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

  • 디스크 및 네트워크 크기 절약: StrokeInputBatch 직렬화, 많은 코드 줄 저장, 결과 객체는 기존에 저장된 획 크기의 아주 작은 부분입니다. (Ie898d)
  • 올가미 선택: 선택 획을 그리는 점선 브러시와 기하 도형 쿼리를 위해 선택 획을 PartitionedMesh로 변환하는 함수 (Ia38a0)

버전 1.0.0-alpha02

2024년 12월 11일

androidx.ink:ink-*:1.0.0-alpha02이 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

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에 포함된 커밋을 확인하세요.

새로운 기능

  • 애플리케이션에서 작성된 아름다운 잉크 획을 쉽게 생성, 렌더링, 조작할 수 있는 모듈식 구성 가능한 라이브러리

API 변경사항

개발자가 풍부한 잉크 환경을 빌드하는 데 도움이 되는 새로운 모듈:

  • 작성: 입력이 수신될 때 실시간으로 획을 고성능으로 짧은 지연 시간으로 렌더링하려면 InProgressStrokesView를 사용합니다.
  • 렌더링: CanvasStrokeRendererViewStrokeRenderer를 사용하여 앱의 사용자 인터페이스의 일부로 완성된 잉크 획을 그립니다.
  • 획: 잉크 기능에 사용되는 핵심 데이터 유형입니다.
  • 브러시: 사용자 입력에 응답하여 획이 표시되고 작동하는 방식을 구성 가능한 사양입니다.
  • 기하 도형: 선택 및 지우기와 같은 도구를 지원하는 교차 및 범위와 같은 기하 도형 작업입니다.