অ্যানড্রয়েডএক্স-এ স্থানান্তর করার পরে শ্রেণি অ্যান্ড্রয়েডএক্সএন্ট্রাইন্টলেআউট. কনট্রেন্টলয়েট আউট করার সময় ত্রুটি


88

আমি স্রেফ অ্যান্ড্রয়েড স্টুডিও মেনু অপশন রিফ্যাক্টর -> অ্যান্ড্রয়েডএক্সে রিফ্যাক্টর মাধ্যমে অ্যান্ড্রয়েডএক্সে স্থানান্তর করেছি

আমি নিম্নলিখিত ত্রুটি পাচ্ছি:

android.view.InflateException: বাইনারি এক্সএমএল ফাইল লাইন # 2: বাইনারি এক্সএমএল ফাইল লাইন # 2: অ্যান্ড্রয়েডএক্সএন্ট্রেন্টলাইটআউট.কন্ট্র্যান্টলাইআউট বর্ধিত করার সময় ত্রুটি

কোন ধারণা?

স্ট্যাকট্রেস:

2018-10-19 00:25:58.128 28131-28131/com.midounoo.midounoo E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.midounoo.midounoo, PID: 28131
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.midounoo.midounoo/com.midounoo.midounoo.Base.MainActivity}: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
        at android.os.Handler.dispatchMessage(Handler.java:110)
        at android.os.Looper.loop(Looper.java:203)
        at android.app.ActivityThread.main(ActivityThread.java:6255)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)
     Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
     Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
     Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.constraintlayout.ConstraintLayout" on path: DexPathList[[zip file "/data/app/com.midounoo.midounoo-2/base.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.midounoo.midounoo-2/lib/arm64, /system/lib64, /vendor/lib64, /system/vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at android.view.LayoutInflater.createView(LayoutInflater.java:609)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
        at com.midounoo.midounoo.Base.MainActivity.onCreate(MainActivity.java:43)
        at android.app.Activity.performCreate(Activity.java:6666)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
        at android.os.Handler.dispatchMessage(Handler.java:110)
        at android.os.Looper.loop(Looper.java:203)
        at android.app.ActivityThread.main(ActivityThread.java:6255)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)

দয়া করে পুরো স্ট্যাকট্রেসটি দেখান।
দ্য ওয়ান্ডারার 21

দয়া করে আপনার অ্যাপ স্তরের বিল্ড গ্রেডেলটি ভাগ করুন যাতে আমরা নির্ভরতাগুলি দেখতে পারি।
অভিনব সাক্সেনা

উত্তর:


178

আমি সমস্ত সমস্যাগুলির পরিবর্তন করে আমার সমস্যার সমাধান করি

androidx.constraintlayout.ConstraintLayout

প্রতি

androidx.constraintlayout.widget.ConstraintLayout


12
হ্যাঁ, অ্যান্ড্রয়েড স্টুডিওর রূপান্তরে ত্রুটি, অবশ্যই xML লেআউটে androidx.constraintlayout.widget.ConstraintLayout সহ সমস্ত উপস্থিতি পরিবর্তন করতে হবে ... ধন্যবাদ
21:56

4
আমি অ্যান্ড্রয়েডেক্স সমর্থন লাইব্রেরি সহ একটি নতুন প্রকল্প তৈরি করেছি এবং আমার ইতিমধ্যে আমার মূল ক্রিয়াকলাপে androidx.constraintlayout.widget.ConstraintLayout আছে তবে এখনও একই ত্রুটি পেয়েছি।
কাঞ্চন

4
@ কাঞ্চন আপনি যদি কোনও মাল্টি-মডিউল প্রকল্পে কাজ করছেন, তবে কোনও ক্ষেত্রে আপনার কনস্ট্রেন্টলয়েট পাথ আপডেট করার প্রয়োজন আছে কিনা তা পরীক্ষা করে দেখুন।
বাসুদেব

50

যোগ androidx.constraintlayout.widget.ConstraintLayoutনির্ভরতা হবে:

dependencies  {
    // https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout
    implementation "androidx.constraintlayout:constraintlayout:1.1.3"
}

এটি উপলব্ধ mavenCentral()


দ্বিতীয়টি অবশ্য constraintlayoutবড় হাতের দ্বারা শুরু হয় না C। একটি সঠিক করুন:'androidx.constraintlayout:constraintlayout:1.1.3'
ʍѳђ ઽ ૯ ท

আপনি আমাকে একটি সামান্য মাথা ব্যাথা থেকে বাঁচিয়েছেন
কোয়ান ভ্যান লুভেরেন

4
অ্যান্ড্রয়েড স্টুডিওতে কেন এটি ঘটে? আমি এটি 1.1.2 থেকে 1.1.3 এ পরিবর্তন করেছি। ধন্যবাদ.
বোলমোজ

4
@ বলমোজ - কেন জানি না, তবে ১.১.২ কেবলমাত্র মৃত্যুর জন্য দম বন্ধ হয়ে গেছে সম্ভবত কিছু সামঞ্জস্যতা প্রোগ্রাম যা গুগল লোকেরা মিস করেছে। তারা যে অনেক কিছু করতে ঝোঁক; অ্যান্ড্রয়েড প্রোগ্রামিং এ স্বাগতম!
এসএমবিগস

4
আমার জন্য, এটি একমাত্র গ্রহণযোগ্য উত্তর হওয়া উচিত। 1.1.2 এর একটি বাগ রয়েছে, 1.1.3, এই সমস্যাটি সমাধান করুন।
মোচাদ্বী

10

আমার একই সমস্যা ছিল, আমি এটি নীচে সমাধান করেছি:

আপনার নির্ভরশীলতাগুলিতে যদি আপনি যোগ করেছেন

implementation 'androidx.constraintlayout:constraintlayout:1.x.x' ঐটা ঠিক

তবে আপনার এক্সএমএল লেআউট ফাইলটিতে আপনাকে উইজেট হিসাবে ব্যবহার করতে হবে

androidx.constraintlayout.widget.ConstraintLayout


5

যদি আপনার গ্রেডল ফাইলে ম্যাকেনসেন্ট্রাল () সংগ্রহস্থল হিসাবে যুক্ত করার পরে এবং আপনার সমস্যার সমাধান না করে পরিবর্তিত androidx.constraintlayout.ConstraintLayoutহয় তবে অবৈধ ক্যাশেandroidx.constraintlayout.widget.ConstraintLayout করার চেষ্টা করুন এবং ফাইল মেনু থেকে পুনরায় চালু করুন। এটা আমার জন্য কাজ করেছে।


5

build.gradle => চেক নির্ভরতা সংস্করণ

implementation 'androidx.constraintlayout:constraintlayout:1.1.1'


পরিবর্তন করতে

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

সমস্যার সমাধান


4
এটির ফর্ম্যাট করা জরিমানা এবং এই উত্তরটি আমার পক্ষে কাজ করে। ধন্যবাদ.
লুকাশ বিম্বা

1.1.2 থেকে এসেছিল। ১.১.৩ এ আপডেট করা আমার জন্য এটিও স্থির করে। ধন্যবাদ!
সোম

5

এর পরেও আমার একই সমস্যা আছে:

  • অ্যান্ড্রয়েডএক্সে মাইগ্রেশন সাপোর্ট লাইব্রেরি;
  • এসক্রেকভেরিশনকে 29-তে বাড়ানোর লক্ষ্য;

আমিও ব্যবহার করি:

implementation "uk.co.chrisjenx:calligraphy:2.3.0"

আমি এই প্রশ্নটি থেকে সমস্ত পোস্ট চেষ্টা করেছিলাম, তবে কোনও সাফল্য পায় না।

আমি .disableCustomViewInflation()ক্যালিগ্রাফি ইমে একটি স্ট্রিং যুক্ত করে এটি ঠিক করেছি :

@Override
public void onCreate() {

    super.onCreate();
    // ...
    CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
            .setDefaultFontPath("fonts/Sans-Regular.ttf")
            .setFontAttrId(R.attr.fontPath)
            .disableCustomViewInflation() // <----- this fix
            .build());
    // ...
}

আমি আশা করি ক্যালিগ্রাফির পরবর্তী মুক্তি (আপনার দুর্দান্ত কাজের জন্য ক্রিস্টোফার জেনকিনস ধন্যবাদ) এটিও ঠিক করে দেবে।


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

এই আমার জন্য নির্দোষভাবে কাজ করেছে। আমি অ্যান্ড্রয়েড স্টুডিওতে 4 কানারি 15
মিগুয়েল সিলভা

5

আপনার প্রকল্পটি পুরোপুরি অ্যান্ড্রয়েডক্সে চলে যাওয়ার বিষয়টি নিশ্চিত করুন, আমার ক্ষেত্রে আমি পেয়েছি:

<android.support.constraint.ConstraintLayout

পরিবর্তে

  <androidx.constraintlayout.widget.ConstraintLayout

সুতরাং এটি পরিবর্তন করুন এবং আমার সমস্যা স্থির!


4

ক্লিক করার পরে Refactor -> Migrate to AndroidX, নিশ্চিত হয়ে নিন যে বিল্ড.gradle (মডিউল: অ্যাপ) এ আপনার সমস্ত নির্ভরতা নতুন সংস্করণে চিহ্নিত হয়েছে

যদি তা না হয়, নির্ভরতা হলুদ হাইলাইটেড রঙে প্রদর্শিত হবে এবং আপনি এটির উপরে মাউস ঘোরাতে এটি পরিবর্তন করতে পারেন।

দ্বিতীয়ত, সমস্ত এক্সএমএল লেআউট ফাইলগুলিতে কনস্ট্রেন্টলআউট ট্যাগটি পরিবর্তন করুন

androidx.constraintlayout.widget.ConstraintLayout

আরও নিরাপদ বিকল্পের জন্য, আপনার প্রকল্পটি পরিষ্কার করুন এবং উপরের পদক্ষেপগুলির পরে এটি আবার সিঙ্ক করুন।


2

আপনি সীমাবদ্ধ বিন্যাসের জন্য নির্ভরতা যুক্ত করেছেন তা নিশ্চিত করুন

 dependencies  {
    implementation "androidx.constraintlayout:constraintlayout:1.1.3"
}

এবং পরিবর্তন করেছেন

<androidx.constraintlayout.widget.ConstraintLayout instead of

<android.support.constraint.ConstraintLayout

1

আমি এক্সএমএল থেকে একটি বিদ্যমান কনস্ট্রেন্টলআউট ট্যাগ অনুলিপি করে আটকালাম, যা আমার জন্য সমস্যা সৃষ্টি করেছিল। সহজভাবে মুছে ফেলা, এবং স্ক্র্যাচ থেকে অ্যান্ড্রয়েড স্টুডিওতে কনস্ট্রেন্টলআউট ট্যাগগুলি পুনরায় যুক্ত করা আমার জন্য সমস্যাটি স্থির করে।


1

এটিকে পরিবর্তন করতে নিশ্চিত করুন

<androidx.constraintlayout.widget.ConstraintLayout

পরিবর্তে

<android.support.constraint.ConstraintLayout

এবং

<androidx.constraintlayout.widget.Barrier

পরিবর্তে

<android.support.constraint.Barrier

1

অ্যান্ড্রয়েড স্টুডিও ৪.০ নিয়ে আমার এই সমস্যাটি ছিল। আমি কয়েক দিন সমস্যা ছাড়াই অ্যান্ড্রয়েড স্টুডিও ৪.০ ব্যবহার করেছি। সম্ভবত কোথাও ডিজাইনার ভিউ কাজ করা বন্ধ করে দিয়েছে। আমি কেবল অ্যান্ড্রয়েড স্টুডিওগুলি আনইনস্টল করে এবং নতুন অ্যান্ড্রয়েড স্টুডিও সংস্করণ ইনস্টল করে এটি ঠিক করতে পেরেছিলাম।


0

চিৎকার mavenCentral () এবং সঠিক নির্ভরতা আমার একই সমস্যাগুলি সমাধান করে


0

আমারও তেমন ত্রুটি হয়েছিল

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.MainActivity}: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2757)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2818)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:163)
        at android.app.ActivityThread.main(ActivityThread.java:6393)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
    Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
    Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
    Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
        at android.view.LayoutInflater.createView(LayoutInflater.java:652)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:812)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:752)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:499)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:430)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
        at com.myapp.MainActivity.onCreate(MainActivity.java:23)
        at android.app.Activity.performCreate(Activity.java:6858)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2710)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2818)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:163)
        at android.app.ActivityThread.main(ActivityThread.java:6393)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
    Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/constraintlayout/widget/R$styleable;
        at androidx.constraintlayout.widget.ConstraintLayout.init(ConstraintLayout.java:590)
        at androidx.constraintlayout.widget.ConstraintLayout.<init>(ConstraintLayout.java:567)
        ... 23 more
    Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.constraintlayout.widget.R$styleable" on path: DexPathList[[zip file "/data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-1/lib/arm64, /system/lib64, /vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        ... 25

পুনঃসংশোধন অনুসরণ:

add androidx.constraintlayout.ConstraintLayout to the dependencies:

dependencies  {
    implementation "androidx.constraintlayout:constraintlayout:1.1.3"
}

এবং সংগ্রহস্থল মাভেন সেন্ট্রাল ()।

আমার জন্য কাজ কর. আমি APK সংকলন করতে পারে।


0

আমি নির্ভরতা আপডেট করেছি, তবু এটি ত্রুটিটি সমাধান করে নি। তারপরে আমি একটি পরিষ্কার প্রকল্প এবং বিল্ডিং করেছি এবং এটি এখন কাজ করছে।


0
  1. অ্যান্ড্রয়েডএক্স এ রিফ্যাক্টর -> রিফ্যাক্টর ক্লিক করার আগে সমস্ত ডিফল্ট সন্ধান করুন
  2. এটি খুলুন https://developer.android.com/jetpack/androidx/migrate/class-mappings এবং "android.support.v4.widget.DrawerLayout" সন্ধান করুন। একই লাইনে অ্যান্ড্রয়েডএক্স ক্লাসের নাম "androidx.drawerlayout.widget.DrawerLayout" এটি অনুলিপি করুন।

এখানে চিত্র বর্ণনা লিখুন

  1. আপনার প্রকল্পের কোড, লেআউট এবং মেনুতে সমস্ত "android.support.v4.widget.DrawerLayout" কে "androidx.drawerlayout.widget.DrawerLayout" এ প্রতিস্থাপন করুন সর্বোপরি এটি কার্যকর হবে।

মানে ম্যাপিং সন্ধান করুন এবং এটি পুরো প্রকল্পে ব্যবহার করুন।


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