Android से जुड़ी समस्याएं
com.google.mlkit:genai-prompt:1.0.0-beta3औरcom.google.mlkit:genai-prompt:1.0.0-beta4में,download()को कॉल करने परjava.lang.NoSuchMethodErrorदिखता है. ऐसा तब होता है, जब मॉडल डाउनलोड हो जाता है या उसे रद्द कर दिया जाता है. हालांकि, ऐसा तब होता है, जब ऐप्लिकेशनkotlinx-coroutinesको 1.10.x या इससे पहले के वर्शन पर रिज़ॉल्व करता है. इस समस्या को हल करने के लिए, अपनी Gradle डिपेंडेंसी मेंkotlinx-coroutines-androidको1.11.0या इसके बाद के वर्शन पर पिन करें. हम अगली रिलीज़ में इस समस्या को ठीक कर देंगे.com.google.mlkit:genai-prompt:1.0.0-beta3औरcom.google.mlkit:genai-prompt:1.0.0-beta4में, nano-v4 मॉडल पर प्रीफ़िक्स कैश मेमोरी के साथ अनुमान लगाने की सुविधा काम नहीं करती. ऐसा तब होता है, जबModelConfigकोModelPreference.FASTपर सेट किया गया हो. इस समस्या को हल करने के लिए, डिफ़ॉल्ट कॉन्फ़िगरेशन का इस्तेमाल करने के लिएModelConfigसेटिंग को हटा दें. ऐसा तब तक करें, जब तक हम अगली रिलीज़ में इस समस्या को ठीक नहीं कर देते.com.google.mlkit:genai-prompt:1.0.0-beta3में, Pixel के अलावा अन्य डिवाइसों परcheckStatus()को कॉल करने पर, अनहैंडल किया गयाGenAiExceptionदिखता है. इसके बाद के वर्शन का इस्तेमाल करें (com.google.mlkit:genai-prompt:1.0.0-beta4या इसके बाद का वर्शन).- बंडल किए गए Language ID के लिए, एजीपी 7.0.0 या इसके बाद के वर्शन पर अपग्रेड करने पर, ऐप्लिकेशन क्रैश हो सकता है.
com.google.mlkit:language-id:16.1.1या इससे पहले के वर्शन में क्रैश होने से बचने के लिए, नीचे दिया गया नियम शामिल करें:-keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }com.google.mlkit:language-id:17.0.0याcom.google.mlkit:language-id:17.0.1में क्रैश होने से बचने के लिए, नीचे दिया गया नियम शामिल करें:-keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; } - अगर InputImage को बिट मैप से बनाया गया है और उसमें rotationDegrees की वैल्यू शून्य नहीं है, तो "अमान्य रोटेशन" की गड़बड़ी होती है.
यह गड़बड़ी,
com.google.mlkit:face-detection:16.0.5औरcom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4से FaceDetection API के लिए MlKitException की वजह से होती है. कृपया पुराने वर्शन का इस्तेमाल करें और हमारी अगली रिलीज़ का इंतज़ार करें. इसमें इस समस्या को ठीक कर दिया जाएगा. com.google.mlkit:barcode-scanning:16.1.0औरcom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3से पहले के BarcodeScanning SDK टूल, camera-camera2:1.0.0-beta08 या इसके बाद के वर्शन वाले कुछ डिवाइसों पर काम नहीं करते. इस समस्या को हल करने के लिए, camera-camera2 के पिछले वर्शन का इस्तेमाल किया जा सकता है. उदाहरण के लिए:implementation "androidx.camera:camera-core:1.0.0-beta07" implementation "androidx.camera:camera-camera2:1.0.0-beta07" implementation "androidx.camera:camera-view:1.0.0-alpha14" implementation "androidx.camera:camera-extensions:1.0.0-alpha14" implementation "androidx.camera:camera-lifecycle:1.0.0-beta07"
ऐसा हो सकता है कि
com.google.mlkit:language-id:16.1.1या इससे पहले के वर्शन में, कस्टम नियमों की वजह से नेटिव मेथड को छिपाया गया हो. अगर आपकोjava.lang.UnsatisfiedLinkErrorजैसी गड़बड़ियां मिलती हैं, तो उन्हें ठीक करने के लिए यह नियम शामिल करें:-keepclasseswithmembernames class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { native <methods>; }टेक्स्ट की पहचान करने, इमेज को लेबल करने, और ऑब्जेक्ट का पता लगाने की सुविधा और उसे ट्रैक करने वाले एपीआई के लिए, CameraX और Camera2 की परफ़ॉर्मेंस अब भी Camera1 के बराबर नहीं है. इसकी वजह यह है कि CameraX और Camera2 से इमेज के फ़ॉर्मैट को बदलने में ज़्यादा समय लगता है.
Task कॉलबैक, उस ऐक्टिविटी या फ़्रैगमेंट के बंद होने के बाद भी लागू हो सकते हैं जिसमें उन्हें रजिस्टर किया गया है. अगर कॉलबैक, इस बीच बंद किए गए डिटेक्टर को ऐक्सेस करने की कोशिश करता है, तो इससे गड़बड़ी हो सकती है. अगर किसी ऐक्टिविटी में ML Kit का इस्तेमाल किया जा रहा है, तो ऐक्टिविटी के दायरे में आने वाले लिसनर को रजिस्टर किया जा सकता है. ऐक्टिविटी बंद होने पर, यह लिसनर अपने-आप हट जाता है. अगर किसी फ़्रैगमेंट या अन्य एनवायरमेंट में ML Kit का इस्तेमाल किया जा रहा है, तो आपके पास कस्टम एक्ज़ीक्यूटर उपलब्ध कराने का विकल्प होता है. यह एक्ज़ीक्यूटर, फ़्रैगमेंट के खत्म होने पर एक्ज़ीक्यूशन को बंद कर देता है. उदाहरण के लिए, Vision Quickstart में
ScopedExecutor.Javaदेखें.बिट मैप के अलावा अन्य इमेज फ़ॉर्मैट के साथ इमेज लेबल करने के लिए, बंडल किए गए वैरिएंट की परफ़ॉर्मेंस, Google Play Services पर निर्भर "थिन" वैरिएंट से बेहतर होती है.
डिजिटल इंक
com.google.mlkit:digital-ink-recognition:17.0.0या इससे पहले के वर्शन और इकाई निकालने की सुविधाcom.google.mlkit:entity-extraction:16.0.0-beta2या इससे पहले के वर्शन के लिए, अगर आपनेtargetSdkVersionको 31 पर सेट किया है और Android S पर चलाया है, तो आपको रनटाइम से जुड़ी गड़बड़ी का यह मैसेज मिलेगा. यह समस्या, हमारे हाल ही के रिलीज़ में ठीक कर दी गई है.Targeting S+ (version 31 and above) requires that one of
FLAG_IMMUTABLEorFLAG_MUTABLEbe specified when creating aPendingIntent. AndroidRuntime: Strongly consider usingFLAG_IMMUTABLE, only useFLAG_MUTABLEif some functionality depends on thePendingIntentbeing mutable, e.g. if it needs to be used with inline replies or bubbles.अगर आपको पुराने वर्शन इस्तेमाल करने हैं, तो
targetSdkVersionको 31 से कम पर सेट करें या समस्या हल करने के लिए, अपनेbuild.gradleमें यह जोड़ें.// For apps targeting Android S+, add the following constraints { implementation 'androidx.work:work-runtime:2.7.0-alpha04' }
iOS से जुड़ी समस्याएं
- M1 पर आधारित Mac पर सिम्युलेटर काम नहीं करते.
- X86_64 सिम्युलेटर, अनुवाद की सुविधा के
'GoogleMLKit/Translate', '4.0.0'या इसके बाद के वर्शन और स्मार्ट जवाब की सुविधा के'GoogleMLKit/SmartReply', '4.0.0'या इसके बाद के वर्शन पर काम नहीं करता.