इंक

  
बेहतरीन पेन ऐप्लिकेशन बनाने में मदद करना. बेहतरीन परफ़ॉर्मेंस और शानदार इंक़िंग अनुभव के लिए, डेवलपर के लिए एंट्री की मुश्किलों को कम करना. Android और सर्वर-साइड JVM पर इंक करने की सुविधा काम करती है. फ़िलहाल, यह सुविधा x86_64 के लिए Linux पर काम करती है.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
22 अप्रैल, 2026 1.0.0 - - 1.1.0-alpha02

डिपेंडेंसी का एलान करना

Ink पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

Groovy

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

Kotlin

dependencies {


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

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव/राय दें या शिकायत करें

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.

नई समस्या दर्ज करने का तरीका

ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.

Ink का वर्शन 1.1

वर्शन 1.1.0-alpha02

22 अप्रैल, 2026

androidx.ink:ink-*:1.1.0-alpha02 रिलीज़ हो गया है. वर्शन 1.1.0-alpha02 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • BrushFamily.decode का एक ओवरलोड दिखाएं, जो ज़्यादा से ज़्यादा वर्शन के साथ काम करने की सुविधा के बारे में बताता है (I1c7bc)
  • BrushFamily serialization API को एक्सपेरिमेंटल (Idd16e) से हटाना

गड़बड़ियां ठीक की गईं

  • कुछ डिवाइसों पर InProgressStrokesView.maskPath का इस्तेमाल करते समय स्क्रीन के टिमटिमाने की समस्या ठीक की गई (I1c7bc, b/496920044)

वर्शन 1.1.0-alpha01

11 मार्च, 2026

androidx.ink:ink-*:1.1.0-alpha01 रिलीज़ हो गया है. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • छोटी-मोटी गड़बड़ियां ठीक की गईं

एपीआई में हुए बदलाव

  • InProgressShape.isCanceled जोड़ा गया. साथ ही, ऑथरिंग मॉड्यूल में एक साथ कई लोगों के काम करने से जुड़ी समस्याएं ठीक की गईं. (Ibfd32, b/474385518, b/470695777)
  • Java के लिए, CanvasStrokeRenderer.create और InProgressStroke.updateShape के ज़ीरो-आर्ग्युमेंट वर्शन को उपलब्ध कराएं (Id80a1, b/457715938)

गड़बड़ियां ठीक की गईं

  • एपीआई 29 से 32 के लिए, विंडो से अलग/फिर से अटैच करने के बाद InProgressStrokesView में क्रैश होने की समस्या को ठीक किया गया है. साथ ही, Vec ऑपरेशंस को इनपुट और आउटपुट के तौर पर एक ही MutableVec लेने की अनुमति दी गई है. इसके अलावा, Proguard कॉन्फ़िगरेशन को एक फ़ाइल में मर्ज किया गया है. (Ia4da0)
  • graphics-core की डिपेंडेंसी को 1.0.4 (Ibfa18) पर बढ़ाएं

वर्शन 1.0

वर्शन 1.0.0

17 दिसंबर, 2025

androidx.ink:ink-*:1.0.0 रिलीज़ हो गया है. वर्शन 1.0.0 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • graphics-core की निर्भरता को 1.0.4 (Ibfa18) पर बढ़ाएं

वर्शन 1.0.0-rc01

03 दिसंबर, 2025

androidx.ink:ink-*:1.0.0-rc01 रिलीज़ हो गया है. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • डिपेंडेंसी का वर्शन अपडेट करें. (Iecd04)

वर्शन 1.0.0-beta02

19 नवंबर, 2025

androidx.ink:ink-*:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • एक्सपेरिमेंट के तौर पर, इंतज़ार का समय कम करने वाले कस्टम शेप एपीआई उपलब्ध कराए गए. साथ ही, कई गड़बड़ियां ठीक की गईं (Ib8d2f)

गड़बड़ियां ठीक की गईं

  • StrokeInputBatchसीरियलाइज़ेशन पर फ़्लोटिंग पॉइंट की सटीक जानकारी को बेहतर बनाया गया है. साथ ही, बार-बार एन्कोडिंग और डिकोडिंग करने से वैल्यू में होने वाले बदलाव को ठीक किया गया है
  • सिस्टम इनपुट सैनिटाइज़ेशन को ज़्यादा बेहतर बनाया गया है.
  • InProgressStrokes कंपोज़ेबल में ब्रश के टेक्स्चर की सुविधा से जुड़ी समस्या ठीक करना

वर्शन 1.0.0-beta01

22 अक्टूबर, 2025

androidx.ink:ink-*:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • बीटा01 रिलीज़ (I9900e) की तैयारी के लिए गड़बड़ियां ठीक की गईं
  • मॉडल किए गए बहुत सारे इनपुट एक-दूसरे के काफ़ी पास होने की वजह से, स्ट्रोक में रेंडरिंग से जुड़ी गड़बड़ियों को कम किया गया है.
  • इनपुट मॉडलिंग में होने वाले क्रैश की समस्या को ठीक किया गया है.

वर्शन 1.0.0-alpha07

08 अक्टूबर, 2025

androidx.ink:ink-*:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • StockBrushes highlighter और emojiHighlighter के लिए SelfOverlap पैरामीटर, जो InProgressStrokesView rendererFactory की जगह लेता है
  • स्ट्रोक इनपुट को आसान बनाने की सुविधा को बेहतर तरीके से लागू किया गया है. इससे डिवाइस के मेज़रमेंट में होने वाले नॉइज़ को खत्म किया जा सकता है. साथ ही, यह सुविधा स्ट्रोक इनपुट को आसान बनाने की पिछली सुविधा की तुलना में, उपयोगकर्ता के इनपुट को ज़्यादा सटीक तरीके से दिखाती है
  • ऐंगल यूनिट (डिग्री बनाम रेडियन), ट्रांसफ़ॉर्म (स्क्वेयर बनाम शियर) वगैरह के लिए, Android/Jetpack के अन्य एपीआई के साथ बेहतर तरीके से काम करता है

एपीआई में हुए बदलाव

  • कोण से जुड़े एपीआई में बदलाव करके, डिग्री का इस्तेमाल करें और नामों में यूनिट शामिल करें. एंगल कन्वर्ज़न यूटिलिटी में यूनिट के बारे में साफ़ तौर पर बताएं और डिग्री और रेडियन, दोनों के लिए सहायता उपलब्ध कराएं. StockBrushes एपीआई में बदलाव करके, स्टॉक ब्रश वर्शन को फ़ैक्ट्री फ़ंक्शन पैरामीटर के तौर पर लें और हाइलाइटर ब्रश के लिए, सेल्फ़-ओवरलैप के व्यवहार को कंट्रोल करने की सुविधा उपलब्ध कराएं. MutableAffineTransform.populateFromTranslate का नाम बदलकर populateFromTranslation करें और InProgressStrokesView.setRenderFactory/getRenderFactory को हटाएं. (Id9eab, b/436656418)
  • शियर का नाम बदलकर स्क्यू किया गया, कुछ दस्तावेज़ों में ज़्यादा जानकारी जोड़ी गई, CanvasStrokeRenderer.strokeModifiedRegionOutsetPx हटाया गया, और InProgressStroke.changesWithTime जोड़ा गया (Ia5e70, b/436656418)

गड़बड़ियां ठीक की गईं

  • इनपुट मॉडलिंग को बेहतर बनाया गया है, ताकि स्ट्रोक, इनपुट को ज़्यादा सटीक तरीके से दिखा सकें. (I93097)

वर्शन 1.0.0-alpha06

13 अगस्त, 2025

androidx.ink:ink-*:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • इमोजी हाइलाइटर स्टॉक ब्रश: अपने दस्तावेज़ के कुछ हिस्सों को हाइलाइट करने के लिए, अपनी पसंद का कोई भी इमोजी चुनें. इससे दस्तावेज़ को मज़ेदार बनाया जा सकता है और उसे व्यवस्थित रखने में मदद मिलती है.
  • ज्यामिति मॉड्यूल की मूल आकृतियों के लिए ज़्यादा हेल्पर एपीआई
  • डिवाइस के साथ काम करने की क्षमता और परफ़ॉर्मेंस को बेहतर बनाना

एपीआई में हुए बदलाव

  • InProgressStrokesView के लिए आसान एपीआई, फ़िनिश ज्योमेट्री एपीआई, इमोजी हाइलाइटर, पॉप्युलेट करने के तरीकों के लिए MutableParallelogram से फ़ैक्ट्री फ़ंक्शन हटाएं, और रैंडमाइज़ किए गए ब्रश के व्यवहार के लिए सीड का इस्तेमाल करने की सुविधा. (I38280)

गड़बड़ियां ठीक की गईं

  • परफ़ॉर्मेंस से जुड़ी समस्या और गीले/सूखे रंग की एक जैसी न होने की समस्या को ठीक किया गया है. (Ifcd1d)

वर्शन 1.0.0-alpha05

18 जून, 2025

androidx.ink:ink-*:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • ऑथरिंग, ब्रश, और ज्यामिति मॉड्यूल के लिए इंटरऑपरेबिलिटी मॉड्यूल कंपोज़ करना

एपीआई में हुए बदलाव

  • Compose के साथ काम करने वाले नए मॉड्यूल और एपीआई, एपीआई क्लीनअप (I0e464)
  • InProgressStroke.enqueueInputs/updateShape तरीके, kotlin.Result को वापस कर देते हैं.इसलिए, उन्हें हटा दिया गया है. क्लाइंट को इसके बजाय, enqueueInputsOrThrow या enqueueInputsOrIgnore का इस्तेमाल करना चाहिए. InProgressStroke.getNeedsUpdate का नाम बदलकर isUpdateNeeded कर दिया गया है. InProgressStroke.populateOutlinePosition अब अपना आउटपुट पैरामीटर दिखाता है, ताकि कॉल चेनिंग की जा सके. यह Ink के अन्य तरीकों के मुताबिक है. TextureBitmapStore इंटरफ़ेस को रेंडरिंग मॉड्यूल से ब्रशिंग मॉड्यूल में ले जाया गया है. BoxAccumulator.populateFrom को, बदले जा सकने वाले BoxAccumulator के बजाय, नल वैल्यू स्वीकार करने वाला नहीं बदला जा सकने वाला Box लेने के लिए बनाया गया है, ताकि यह साफ़ तौर पर पता चल सके कि क्या बदला गया है. कॉल करने वालों को boxAccumulator.add(other) को boxAccumulator.add(other.box) में बदलना चाहिए. BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor हटा दिए गए हैं. इसके बजाय, कंस्ट्रक्शन के बाद Brush.Builder के setAndroidColor का इस्तेमाल करें. (Ia7155)
  • पहले एक्सपेरिमेंट के तौर पर उपलब्ध प्रॉपर्टी InProgressStrokesView.textureBitmapStore को अब निजी कर दिया गया है. इस प्रॉपर्टी को अब भी सार्वजनिक तौर पर ऐक्सेस किया जा सकता है. (I1d706)

गड़बड़ियां ठीक की गईं

  • कई पार्टिकल वाले कस्टम ब्रश की परफ़ॉर्मेंस को बेहतर बनाया गया है.

वर्शन 1.0.0-alpha04

9 अप्रैल, 2025

androidx.ink:ink-*:1.0.0-alpha04 रिलीज़ हो गया है. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • कस्टम BrushFamily ऑब्जेक्ट के लिए, एक्सपेरिमेंट के तौर पर नए एपीआई पेश करता है. इससे पेंसिल और लेज़र पॉइंटर जैसे नए ब्रश इस्तेमाल किए जा सकते हैं. इस एपीआई की मदद से, इस प्रोटो में तय किए गए ब्रशिंग लोड किए जा सकते हैं. (I8809a)

वर्शन 1.0.0-alpha03

12 फ़रवरी, 2025

androidx.ink:ink-*:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • डिस्क और नेटवर्क के साइज़ में बचत: StrokeInputBatch को क्रम से लगाया जाता है. इससे कोड की कई लाइनें सेव हो जाती हैं. साथ ही, इससे बनने वाले ऑब्जेक्ट, आम तौर पर सेव किए गए स्ट्रोक के साइज़ का बहुत छोटा हिस्सा होते हैं. (Ie898d)
  • लासो सिलेक्शन: सिलेक्शन स्ट्रोक बनाने के लिए डैश वाली लाइन का ब्रश और सिलेक्शन स्ट्रोक को ज्यामिति से जुड़ी क्वेरी के लिए PartitionedMesh में बदलने का फ़ंक्शन. (Ia38a0)

वर्शन 1.0.0-alpha02

11 दिसंबर, 2024

androidx.ink:ink-*:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • कई गड़बड़ियां ठीक की गईं. (I05dd8)

बाहरी योगदान

  • BuildCompat.isAtLeastV का इस्तेमाल बंद करें. कॉल करने वालों को सीधे तौर पर SDK_INT की तुलना 35 से करनी चाहिए. (I294d1)

वर्शन 1.0.0-alpha01

2 अक्टूबर, 2024

androidx.ink:ink-*:1.0.0-alpha01 रिलीज़ हो गया है. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • यह एक मॉड्यूलर और कॉन्फ़िगर की जा सकने वाली लाइब्रेरी है. इसकी मदद से, आपके ऐप्लिकेशन में लिखे गए सुंदर इंक स्ट्रोक को आसानी से बनाया, रेंडर किया जा सकता है, और उनमें बदलाव किया जा सकता है.

एपीआई में हुए बदलाव

डेवलपर को बेहतर इंक़िंग अनुभव बनाने में मदद करने के लिए नए मॉड्यूल:

  • लिखना: इनपुट मिलने पर, स्ट्रोक को रीयल टाइम में रेंडर करने के लिए, InProgressStrokesView का इस्तेमाल करें. इससे बेहतर परफ़ॉर्मेंस मिलती है और इंतज़ार में लगने वाला समय कम होता है.
  • रेंडरिंग: ऐप्लिकेशन के यूज़र इंटरफ़ेस के हिस्से के तौर पर, इंक स्ट्रोक को पूरा करने के लिए CanvasStrokeRenderer और ViewStrokeRenderer का इस्तेमाल करें.
  • स्ट्रोक: ये मुख्य डेटा टाइप हैं, जिनका इस्तेमाल इंक करने की सुविधाओं के लिए किया जाता है.
  • ब्रश: इसमें यह तय किया जा सकता है कि उपयोगकर्ता के इनपुट के हिसाब से स्ट्रोक कैसे दिखेंगे और काम करेंगे.
  • ज्यामिति: इंटरसेक्शन और कवरेज जैसे जियोमेट्रिक ऑपरेशन, ताकि सिलेक्शन और मिटाने जैसे टूल को बेहतर बनाया जा सके.