পরিচিত সমস্যা

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-কে ১.১০.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-এ, ModelConfig-কে ModelPreference.FAST-এ সেট করা হলে, nano-v4 মডেলে প্রিফিক্স ক্যাশিং সহ ইনফারেন্স রান করা ব্যর্থ হয়। সমাধান হিসেবে, পরবর্তী রিলিজে আমরা এই সমস্যার সমাধান না করা পর্যন্ত, ডিফল্ট কনফিগারেশন ব্যবহার করতে 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 { *; }
  • InputImage constructed by Bitmap with a non zero rotationDegrees causes an "invalid rotation" MlKitException for FaceDetection API since com.google.mlkit:face-detection:16.0.5 and com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. আগের কোনও ভার্সন ব্যবহার করুন এবং আমাদের পরবর্তী রিলিজের জন্য অপেক্ষা করুন, যাতে এই সমস্যার সমাধান করা হয়েছে।
  • 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>;
    }

  • টেক্সট শনাক্তকরণ, ইমেজ লেবেলিং এবং অবজেক্ট শনাক্তকরণ ও ট্র্যাকিং API-এর ক্ষেত্রে, CameraX এবং Camera2-এর পারফর্ম্যান্স এখনও Camera1-এর মতো নয়, কারণ CameraX এবং Camera2 থেকে ইমেজের ফর্ম্যাট কনভার্ট করতে বেশি সময় লাগে।

  • যে অ্যাক্টিভিটি বা ফ্র্যাগমেন্টে টাস্ক কলব্যাক রেজিস্টার করা হয়েছে, সেটি নষ্ট হয়ে যাওয়ার পরেও কলব্যাক এক্সিকিউট হতে পারে। কলব্যাক যদি এমন কোনও ডিটেক্টর অ্যাক্সেস করার চেষ্টা করে যা ইতিমধ্যে বন্ধ হয়ে গেছে, তাহলে ব্যতিক্রমী পরিস্থিতি তৈরি হতে পারে। আপনি যদি কোনও অ্যাক্টিভিটিতে ML Kit ব্যবহার করেন, তাহলে আপনি একটি অ্যাক্টিভিটি-স্কোপড লিসেনার রেজিস্টার করতে পারেন, যা অ্যাক্টিভিটি বন্ধ হয়ে গেলে অটোমেটিক মুছে যায়। আপনি যদি কোনও ফ্র্যাগমেন্ট বা অন্য পরিবেশে ML Kit ব্যবহার করেন, তাহলে আপনি একটি কাস্টম এক্সিকিউটর প্রদান করতে পারেন যা ফ্র্যাগমেন্ট ধ্বংস হয়ে গেলে এক্সিকিউশন বন্ধ করে দেয়। উদাহরণ দেখতে Vision Quickstart-এ ScopedExecutor.Java দেখুন।

  • Bitmap ছাড়া অন্য ছবির ফর্ম্যাটের সাথে ইমেজ লেবেলিংয়ের জন্য, বান্ডেল করা ভেরিয়েন্ট "থিন" ভেরিয়েন্টের চেয়ে ভালো পারফর্ম করে যা Google Play পরিষেবার উপর নির্ভর করে।

  • Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 বা তার আগের ভার্সন এবং Entity Extraction com.google.mlkit:entity-extraction:16.0.0-beta2 বা তার আগের ভার্সনের জন্য, আপনি targetSdkVersion-কে ৩১-এ সেট করলে এবং Android S-এ রান করলে, নিম্নলিখিত রানটাইম এক্সেপশন পাবেন।

    Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
    AndroidRuntime: Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
    
    আমাদের আরও সাম্প্রতিক রিলিজে এই সমস্যার সমাধান করা হয়েছে।

    আপনি যদি পুরনো ভার্সন ব্যবহার করতে চান, তাহলে targetSdkVersion-এর ভ্যালু ৩১-এর কম সেট করতে পারেন অথবা বিকল্প হিসেবে আপনার build.gradle-এ নিম্নলিখিত কোড যোগ করতে পারেন।

    // For apps targeting Android S+, add the following
    constraints {
      implementation 'androidx.work:work-runtime:2.7.0-alpha04'
    }

iOS সংক্রান্ত সমস্যা

  • M1-ভিত্তিক Mac-এ সিমুলেটর কাজ করে না।
  • Translation 'GoogleMLKit/Translate', '4.0.0' বা তার পরবর্তী ভার্সন এবং স্মার্ট রিপ্লাই 'GoogleMLKit/SmartReply', '4.0.0' বা তার পরবর্তী ভার্সনের জন্য X86_64 সিমুলেটর কাজ করে না।