অ্যান্ড্রয়েডএক্স: অ্যাপকোম্প্যাট আই: আর্ট ত্রুটি android.view.View $ অনউন্ডল্ডকি


109

Androidx: appcompat: appcompat: 1.0.0-rc01 সহ একটি নতুন নির্মিত প্রকল্পে, আমি পেয়ে যাচ্ছি

java.lang.ClassNotFoundException: Didn't find class 
"android.view.View$OnUnhandledKeyEventListener" on path: DexPathList

আমি কনফিগারেশন যুক্ত ছিল। সমস্ত

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "androidx.appcompat") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "1.+"
            }
        }
    }
}

এইটি অ্যাপটির কার্যকারিতা বা ক্র্যাশগুলিকে প্রভাবিত করছে না। অ্যাপ্লিকেশন চলাকালীন তবে সর্বদা এতে ত্রুটি থাকে। দয়া করে ত্রুটিটি সমাধান করতে আমাকে সহায়তা করুন। সম্পূর্ণ স্ট্যাক ট্রেস নিম্নলিখিত হিসাবে রয়েছে।

I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
I/art:     at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
        at void androidx.appcompat.widget.ActionBarContainer.<init>(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
        at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2)
        at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430)
        at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:645)
        at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:787)
        at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:727)
        at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:858)
        at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:821)
        at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:518)
        at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:426)
        at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:377)
        at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
        at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
        at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
        at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
        at void com.connectdb.truckish.common.base.BaseActivity.onCreate(android.os.Bundle) (BaseActivity.java:44)
        at void com.connectdb.truckish.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:14)
        at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6672)
        at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1140)
        at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2612)
        at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2724)
        at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
        at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1473)
        at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
        at void android.os.Looper.loop() (Looper.java:154)
        at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6123)
        at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:867)
        at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:757)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/com.connectdb.truckish-2/base.apk", zip file "/data/app/com.connectdb.truckish-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.connectdb.truckish-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.connectdb.truckish-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.connectdb.truckish-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.connectdb.truckish-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.connectdb.truckish-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.connectdb.truckish-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.connectdb.truckish-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.connectdb.truckish-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.connectdb.truckish-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.connectdb.truckish-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[
        at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
        at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
        at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
        at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
        at void androidx.appcompat.widget.ActionBarContainer.<init>(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
        at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2)
        at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430)
        at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:645)
        at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:787)
        at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:727)
        at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:858)
        at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:821)
        at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:518)
        at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:426)
        at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:377)
        at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
        at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
        at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
        at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
        at void com.connectdb.truckish.common.base.BaseActivity.onCreate(android.os.Bundle) (BaseActivity.java:44)
        at void com.connectdb.truckish.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:14)
        at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6672)
        at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1140)
        at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2612)
        at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2724)
        at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
        at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1473)
        at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
        at void android.os.Looper.loop() (Looper.java:154)
        at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6123)
        at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
        at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:867)
        at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:757)

4
আমারও ত্রুটি আছে। আপনি কি কোনও কাজের সন্ধান পেয়েছেন?
c0nst

না, আমি কোনও কাজের সন্ধান পাইনি।
মোহন রেক্স

4
আমি একই রকম তবে অ অ্যান্ড্রয়েডএক্স ত্রুটি পাচ্ছি Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;। এটি কি ভিন্ন কারণ?
ডেল

@ মোহন রেক্স দয়া করে আমাকে কীভাবে এই সমস্যাটি সমাধান করবেন?
Garg এর

4
আমাকে যে জিনিসটি সাহায্য করেছিল তা হ'ল আমার সমস্ত ক্রিয়াকলাপে কেবল ক্রিয়াকলাপের সাথে অ্যাপকম্প্যাটঅ্যাক্টিভিটি প্রতিস্থাপন। যেমন পাবলিক ক্লাস মেইনএকটিভিটি ক্রিয়াকলাপ প্রসারিত করে। আর কিছুই আমার পক্ষে কাজ করেনি। এরপর সাবধানবাণী সর্বস্বান্ত হিসাবে এটি, অ্যান্ড্রয়েড এক্স মধ্যে AppCompat সঙ্গে সম্পর্কযুক্ত তবে না অনগ্রসর সামঞ্জস্যের জন্য সবচেয়ে ভালো সমাধান
Darksymphony

উত্তর:


92

ALFlanagan একটি মন্তব্যে উল্লিখিত হিসাবে সমস্যাটি হ'ল নতুন অ্যান্ড্রয়েড প্যাকেজ স্ট্রাকচারটিতে android.support.v4.view.ViewCompatপ্রয়োগ করা হয় না View.OnUnhandledKeyEventListenerএবং কেবল এটি সমর্থন করে লাইব স্ট্রাকচার (কমপক্ষে ২৮.০.০ সংস্করণে) এপিআই ২৮ থেকে শুরু করে এটি প্রয়োগ করে। অতএব, সতর্কতা API <28 সহ ডিভাইসে প্রদর্শিত হবে এবং সেগুলি> = 28 এ প্রদর্শিত হবে না।

ViewCompat.classসমর্থন প্যাকেজ কাঠামো থেকে ক্লাসে এটি সম্পর্কিত কোড :

@RequiresApi(28)
private static class OnUnhandledKeyEventListenerWrapper implements OnUnhandledKeyEventListener {
    private ViewCompat.OnUnhandledKeyEventListenerCompat mCompatListener;

    OnUnhandledKeyEventListenerWrapper(ViewCompat.OnUnhandledKeyEventListenerCompat listener) {
        this.mCompatListener = listener;
    }

    public boolean onUnhandledKeyEvent(View v, KeyEvent event) {
        return this.mCompatListener.onUnhandledKeyEvent(v, event);
    }
}

আমি এই সতর্কতাটি সমাধান করার জন্য কোনও সহজ ফিক্স সম্পর্কে ভাবতে পারি না।


19
সমস্যাটি ঠিক করা হবে না বলে চিহ্নিত করা হয়েছে এবং কেউ ব্যাখ্যা বা কার্যবিবরণী দেয়নি।
ওডিস

5
এটি দেখে মনে হচ্ছে বাগ এখানে পুনরায় জমা দেওয়া হয়েছে issuetracker.google.com/issues/120750246
aaronmarino

4
ঠিক আছে, আমার অ্যাপটি ঠিক তেমন কাজ করছে না এবং আমি আমার ডিবাগ (লগক্যাট) এ এই ত্রুটিটি দেখতে পাচ্ছি। অ্যাপটি ক্রাশ হয় না, তবে একটি ফাঁকা স্ক্রিন রেখে "কন্টেন্টভিউ" আপডেটও হয় না।
আইরি ডস অঞ্জোস 22'19 20 এ 20

4
আমার একই সমস্যা হচ্ছে .. এটি ক্র্যাশ হচ্ছে না তবে দেখুন কিছু অপ্রত্যাশিত আচরণ হচ্ছে। আমি সংকলন এসডিকে ২ 27 থেকে ২ to এ উন্নীত করার সাথে সাথেই এটি ঘটতে শুরু করেছে
অমিত কুমার

4
এই রানটাইম এপিআই <26 সঙ্গে প্রত্যেকটি ডিভাইসে ক্র্যাশ হয়
জন Sardinha

9

আমি একই সমস্যার মুখোমুখি হয়েছি তবে কেবল অ্যাপকম্প্যাটটির জন্য নির্ভরতা আপগ্রেড করার চেষ্টা করেছি এবং এটি কোনও ত্রুটিযুক্ত লগের জন্য কাজ করে না। আমি আশা করি শিগগিরই নতুন স্থিতিশীল মুক্তি হবে। https://developer.android.com/jetpack/androidx/releases/appcompat#1.3.0-alpha02

বাস্তবায়ন 'androidx.appcompat: appcompat: 1.3.0-alpha02'


4
আপডেট করা নির্ভরতা হ'ল: - বাস্তবায়ন 'androidx.appcompat: appcompat: 1.3.0-alpha02'
অমিত

0

অ্যান্ড্রয়েডেক্স বাইট কোডটি সংশোধন করে আপনি এই সমস্যাটি বাতিল করতে অ্যাসপেক্টজে ব্যবহার করতে পারেন।

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;

@Aspect
public class UnHandleKeyEventAspectJ {
    public static final String TAG="UnHandleKeyEventAspectJ";
    @Pointcut("execution(* androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener))")
public void kotlinClassInit() {

}
    @Around("kotlinClassInit()")
    public void addTransaction(ProceedingJoinPoint joinPoint){
        try {
            joinPoint.proceed();
        } catch (Throwable throwable) {
            throwable.printStackTrace();
        }
    }
}

আপনি কীভাবে অ্যান্ড্রয়েড স্টুডিও 3.6.3 এর সাথে অ্যাসপেক্টজে কাজ করবেন তা ব্যাখ্যা করতে পারেন। আমি এই ত্রুটিটি পেয়েছি "বেইলিক অ্যাক্টিভিটি" টেমপ্লেটটি সংকলনএসডিপি ভার্সন ২৮, বিল্ডটুলস ভার্সন ২৯.০.৩, মিনিস্টডক ভার্সন ১,, টার্গেটএসডিপি ভার্সন ২৮ ব্যবহার করে।
কেব্রো

0

এটি অ্যান্ড্রয়েডেক্সে একটি বাগ। আমি ত্রুটিটি ডিবাগ বিল্ডগুলিতে পিছিয়ে থাকার কারণ খুঁজে পেয়েছি তবে উত্পাদন বিল্ডগুলি দেখায় বা গতি কমিয়ে দেয় না। আপনি আপাতত এটিকে উপেক্ষা করতে পারেন।


আমি ইতিমধ্যে :( AppCompatActivity ব্যবহার করছি কিন্তু ত্রুটি প্রদর্শিত হয়।।
মোহন রেক্স

4
@ মোহনআরেক্স - হুবহু, AppCompatActivity ব্যবহার করার সময় এই বার্তাটি উপস্থিত হয়। তবুও, একটিতে অ্যাপকম্প্যাটঅ্যাক্টিভিটি ব্যবহার করা উচিত - কেবল এই নিরীহ বিরক্তিটিকে উপেক্ষা করুন।
নির্মাতা স্টিভ

-2

উপরের উত্তরগুলি সঠিক। এটি এড়ানোর একমাত্র উপায় হ'ল অ্যাপকোম্প্যাট-এর উল্লেখগুলি সরিয়ে দেওয়া - যেমন আমি ফ্রেগমেন্টএক্টিভিটিতে পরিবর্তিত হয়েছি। খারাপ খবরটি হ'ল নতুন উপাদান গ্রন্থাগারগুলি সমস্ত রেফারেন্স এবং সমস্যাটি অনুভব করে। আমি আমার প্রারম্ভকালে এটি ঘটতে চাইনি - হিটটি পরে এতটা খারাপ হয় না। এটি কেবলমাত্র একটি সতর্কতা - তবে এর কার্যকারিতা প্রভাব ফেলবে এবং এটি দুর্দান্ত জোগাড় এবং বড় জি দ্বারা খারাপভাবে পরিচালনা করা হয়েছে


4
পুনরায় "আমি ফ্র্যাগমেন্টএটিভিটিতে পরিবর্তিত হয়েছে" । ভাল ধারণা নয় - এর অর্থ আপনার অ্যাপ্লিকেশনটি পুরানো ডিভাইসগুলিতে চলবে না। AppCompat এর সাথে থাকুন। পুনরায় "এটি কেবল একটি সতর্কতা - তবে এর একটি কার্যকারিতা প্রভাব ফেলে" - পরিষ্কার করতে, কোনও কার্যকারিতা প্রভাব মুক্তির ক্ষেত্রে নগণ্য; এটি মূলত একটি বিরক্তি, ডিবাগ লগের শুরুর কাছাকাছি বিশৃঙ্খলা যুক্ত করে।
নির্মাতা স্টিভ

-3

টীকা @RequiresApi(28)আসলে মানে, শুধু তাই নয় build.gradleকনফিগারেশন যা এক লগ-স্প্যাম পরিত্রাণ পেতে হবে বাড়াতে হবে minSdkVersionকমপক্ষে থেকে 28

android {    
    defaultConfig {
        targetSdkVersion 28
        compileSdkVersion 28
        minSdkVersion 28
    }
}

বাগ-ট্র্যাকার থেকে:

উইন ফিক্স (উদ্দিষ্ট আচরণ) হিসাবে এই বাগটি বন্ধ রয়েছে, এই ত্রুটিগুলি উপেক্ষা করা যেতে পারে।


4
এতটা ব্যবহারযোগ্য নয় .. আপনি আজকাল কেবল 28++ ​​জন ব্যবহারকারীদের আশা করতে পারবেন না।
শূন্য ডিভিডার

ঠিক আছে, এটি কেবল একটি সতর্কতা, এমনকি লগ-স্প্যাম বিরক্তিকর হলেও ... তবুও লগক্যাটটিতে একটি রেইগেক্স বর্জনীয় প্যাটার্ন যুক্ত করা এবং লগ বার্তাটি কেবল ফিল্টার আউট করা সম্ভব হতে পারে।
মার্টিন জিটলার

4
minSdkVersion 28 অবশ্যই বেশিরভাগ অ্যাপ্লিকেশনের পক্ষে খুব বেশি
Wu Yuan Chun

4
স্পষ্ট করার জন্য: পুরানো ডিভাইসে চালিত হবে না এমন অ্যাপ্লিকেশনে মিনিএসডিকে ২৮ টি ফলাফল পরিবর্তন করা। ঠিক? যদি তা হয় তবে তা উত্তরের সতর্কবার্তা হিসাবে উত্তরে থাকা উচিত।
নির্মাতা স্টিভ

4
@ টুলমেকারস্টেটিভ এটি কেবল একটি দুঃখজনক বাস্তবতা, যে এখানে বেশিরভাগ লোকেরা কপি করেছেন সেগুলি না বুঝে সর্বাধিক সাধারণ কাজটি (সমাধানের পরিবর্তে) অনুলিপি করেছেন, এবং তারপরে অবাক হন যে তারা যখন আরও সমস্যাগুলি নিচে নামেন তখন রাস্তাটি. এবং কেন তা ঘটে এবং এটি সম্পর্কে কী করা উচিত তা আমি ব্যাখ্যা করেছি - বা কেবল এটিকে উপেক্ষা করা (যে এটি সমাধান করা যায় না এটি গ্রহণযোগ্য উত্তর বলে মনে হয় না)। পিছনে সামঞ্জস্যতা প্রশ্ন ছিল না। সর্বনিম্ন সমাধানের পদ্ধতির ছাড়াই 91 টি ভোট ...
মার্টিন জিটলার

-5

আপনি এড়াতে পারেন কারণ নির্দিষ্ট অধ্যায়টি কেবল অ্যান্ড্রয়েড 9 এ।


4
আপনি আরও তথ্য দিতে পারেন দয়া করে। এটা খুবই সহায়ক হবে।
মোহন রেক্স

4
বিকাশকারী.অ্যান্ড্রয়েড . com/ references/ android/ view/ … দেখুন । দেখে মনে হচ্ছে এটি এমন একটি বাগ where
AL ফ্লানাগান

4
(ক্লাস উপরে ==> androidx.core.view.ViewCompat হয়) একটা বাগ রিপোর্ট এর issuetracker.google.com/issues/110162198 যেটি "প্রতিলিপি করতে অক্ষম" হিসাবে চিহ্নিত করা হয়। সমস্যাটি পুনরুত্পাদন করার জন্য প্রয়োজনীয় সমস্ত তথ্য সহ আপনি একটি বাগ রিপোর্ট ফাইল করা বিবেচনা করতে পারেন।
AL ফ্লানাগান

উল্লেখ করার জন্য, আমি ট্র্যাকারে এই সমস্যাটি আমার কোড সহ প্রসারিত করলাম এই আশায় যে তারা এটিকে পুনরুত্পাদন করতে পারে।
findusl
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.