Android से जुड़ी समस्याएं
com.google.mlkit:genai-prompt:1.0.0-beta3औरcom.google.mlkit:genai-prompt:1.0.0-beta4में, ऐप्लिकेशनkotlinx-coroutinesको 1.10.x या इससे पहले के वर्शन पर हल करता है, तो मॉडल डाउनलोड होने या रद्द होने परdownload(),java.lang.NoSuchMethodErrorको कॉल करता है. जब तक हम अगली रिलीज़ में इस समस्या को ठीक नहीं कर देते, तब तक इस समस्या को हल करने के लिए, 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या इसके बाद के वर्शन) का इस्तेमाल करें.- बंडल किए गए भाषा आईडी के लिए, AGP 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 { *; } - Bitmap से बनाए गए InputImage में rotationDegrees की वैल्यू शून्य नहीं होने पर, FaceDetection API के लिए "invalid rotation"
MlKitException की समस्या आती है, क्योंकि
com.google.mlkit:face-detection:16.0.5औरcom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. कृपया पिछले वर्शन का इस्तेमाल करें. साथ ही, हमारी अगली रिलीज़ का इंतज़ार करें, जिसमें इस समस्या को ठीक कर दिया गया है. com.google.mlkit:barcode-scanning:16.1.0से पहले के BarcodeScanning SDK टूल औरcom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3, 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 से इमेज के फ़ॉर्मैट को बदलने में ज़्यादा समय लगता है.
टास्क के कॉलबैक, उस ऐक्टिविटी या फ़्रैगमेंट के डिस्ट्रॉय होने के बाद भी एक्ज़ीक्यूट हो सकते हैं जिसमें उन्हें रजिस्टर किया गया है. अगर इस बीच कॉलबैक, बंद किए गए डिटेक्टर को ऐक्सेस करने की कोशिश करता है, तो इससे अपवाद हो सकता है. अगर किसी ऐक्टिविटी में ML Kit का इस्तेमाल किया जा रहा है, तो ऐक्टिविटी के दायरे वाला लिसनर रजिस्टर किया जा सकता है. ऐक्टिविटी बंद होने पर, यह अपने-आप हट जाता है. अगर किसी फ़्रैगमेंट या अन्य एनवायरमेंट में ML Kit का इस्तेमाल किया जा रहा है, तो आपके पास कस्टम एक्ज़ीक्यूटर उपलब्ध कराने का विकल्प होता है. यह फ़्रैगमेंट के बंद होने पर, एक्ज़ीक्यूशन को बंद कर देता है. उदाहरण के लिए, Vision Quickstart में
ScopedExecutor.Javaदेखें.बिटमैप के अलावा अन्य इमेज फ़ॉर्मैट के साथ इमेज लेबलिंग के लिए, बंडल किए गए वैरिएंट की परफ़ॉर्मेंस, Google Play services पर निर्भर "थिन" वैरिएंट की तुलना में बेहतर होती है.
अगर आपने Android S पर
targetSdkVersionको 31 पर सेट किया है, तो आपको डिजिटल इंकcom.google.mlkit:digital-ink-recognition:17.0.0या इससे पहले के वर्शन और इकाई निकालने की सुविधाcom.google.mlkit:entity-extraction:16.0.0-beta2या इससे पहले के वर्शन के लिए, रनटाइम अपवाद मिलेगा. यह समस्या, हमारी हाल ही की रिलीज़ में ठीक कर दी गई है.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 सिम्युलेटर, Translation
'GoogleMLKit/Translate', '4.0.0'या इसके बाद के वर्शन और Smart Reply'GoogleMLKit/SmartReply', '4.0.0'या इसके बाद के वर्शन के लिए काम नहीं करता.