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

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-এ, প্রিফিক্স ক্যাশিং সহ ইনফারেন্স রান করালে, 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 { *; }
  • শূন্য নয় এমন rotationDegrees সহ Bitmap-এর মাধ্যমে নির্মিত InputImage-এর কারণে FaceDetection API-এর জন্য "ভুল রোটেশন" 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 এবং 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 Services-এর উপর নির্ভরশীল "থিন" ভেরিয়েন্টের চেয়ে ভালো পারফর্ম করে।

  • 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-এ সিমুলেটর কাজ করে না।
  • X86_64 সিমুলেটর, অনুবাদ 'GoogleMLKit/Translate', '4.0.0' বা তার পরের যেকোনও ভার্সন এবং স্মার্ট রিপ্লাই 'GoogleMLKit/SmartReply', '4.0.0' বা তার পরের যেকোনও ভার্সনের জন্য কাজ করে না।