इंक

  
पेन से लिखने वाले सबसे बेहतरीन ऐप्लिकेशन बनाएं. ज़्यादा परफ़ॉर्मेंस और इंक से लिखने का बेहतर अनुभव देने वाले ऐप्लिकेशन बनाने के लिए, डेवलपर के लिए ज़रूरी शर्तें कम करें. यह Android और सर्वर-साइड जेवीएम पर इंक से लिखने की सुविधा देता है. फ़िलहाल, यह x86_64 के लिए Linux पर काम करता है.
नया अपडेट अच्छी तरह काम करने वाला वर्शन रिलीज़ कैंडिडेट बीटा वर्शन ऐल्फ़ा वर्शन
19 मई, 2026 1.0.0 - - 1.1.0-alpha03

डिपेंडेंसी के बारे में जानकारी देना

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

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

Groovy

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

Kotlin

dependencies {


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

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

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

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

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

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

Ink का वर्शन 1.1

वर्शन 1.1.0-alpha03

19 मई, 2026

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

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

  • प्रोग्राम के ज़रिए Ink ब्रश को पसंद के मुताबिक बनाने वाले एपीआई को सार्वजनिक करना (I8e2e1)
  • BrushPaint.TextureLayer को ज़्यादा खास सबक्लास में बांटना (I8848a)

वर्शन 1.1.0-alpha02

22 अप्रैल, 2026

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

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

  • BrushFamily.decode का ओवरलोड दिखाना, जो वर्शन के साथ काम करने की ज़्यादा से ज़्यादा क्षमता के बारे में बताता है (I1c7bc)
  • BrushFamily सीरियलाइज़ेशन एपीआई को एक्सपेरिमेंटल से ग्रैजुएट करना (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)
  • CanvasStrokeRenderer.create और InProgressStroke.updateShape के ज़ीरो-आर्गुमेंट वर्शन को Java के लिए दिखाना (Id80a1, b/457715938)

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

  • API 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

3 दिसंबर, 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 में ये बदलाव शामिल हैं.

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

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

वर्शन 1.0.0-alpha07

8 अक्टूबर, 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 इंटरऑपरेबिलिटी मॉड्यूल

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

  • Compose इंटरऑपरेबिलिटी के नए मॉड्यूल और एपीआई, एपीआई क्लीनअप (I0e464)
  • InProgressStroke.enqueueInputs/updateShape के वे तरीके हटा दिए गए हैं जो kotlin.Result दिखाते थे. क्लाइंट को इसके बजाय, enqueueInputsOrThrow या enqueueInputsOrIgnore का इस्तेमाल करना चाहिए. InProgressStroke.getNeedsUpdate का नाम बदलकर isUpdateNeeded कर दिया गया है. InProgressStroke.populateOutlinePosition अब अपना आउटपुट पैरामीटर दिखाता है, ताकि कॉल चेनिंग की जा सके. यह Ink के अन्य तरीकों के मुताबिक है. TextureBitmapStore इंटरफ़ेस को रेंडरिंग मॉड्यूल से ब्रश मॉड्यूल में ले जाया गया है. BoxAccumulator.populateFrom को, BoxAccumulator के बजाय, एक नलनल इम्यूटेबल बॉक्स लेने के लिए बनाया गया है, ताकि यह साफ़ हो सके कि क्या बदला गया है. कॉल करने वाले लोगों को 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 का इस्तेमाल करें.
  • स्ट्रोक: इंक से लिखने की सुविधाओं के लिए इस्तेमाल किए जाने वाले मुख्य डेटा टाइप.
  • ब्रश: उपयोगकर्ता के इनपुट के जवाब में, स्ट्रोक कैसे दिखेंगे और काम करेंगे, इसके बारे में कॉन्फ़िगर की जा सकने वाली जानकारी.
  • ज्यामिति: इंटरसेक्शन और कवरेज जैसी ज्यामितीय कार्रवाइयां. इनका इस्तेमाल, सेलेक्शन और मिटाने जैसे टूल को बेहतर बनाने के लिए किया जाता है.