অ্যান্ড্রয়েড স্টুডিও 3.0 এক্সিকিউশন টাস্কের জন্য ব্যর্থ হয়েছে: ডেক্সকে মার্জ করতে অক্ষম


87

অ্যান্ড্রয়েড স্টুডিওগুলি নিম্নলিখিত সহ কার্যকরভাবে নির্মাণের সময় বিল্ড ত্রুটি পেয়েছিল:

ত্রুটি: কার্য ': অ্যাপ্লিকেশন: ট্রান্সফর্মডেক্স আর্কাইভ উইথএক্সটার্নাল লিবসডেক্সমারজারফোর্ডডব্যাগ' এর জন্য কার্যকর করা ব্যর্থ। java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Dex মার্জ করতে অক্ষম "

আমার অ্যাপ্লিকেশন: বিল্ড.gradle ফাইল:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "com.pdroid.foodieschoice"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.firebaseui:firebase-ui-auth:2.3.0'

    testCompile 'junit:junit:4.12'
}
configurations.all {
    resolutionStrategy {
        force 'com.android.support:appcompat-v7:26.0.1'
        force 'com.android.support:support-compat:26.0.1'
        force 'com.android.support:support-core-ui:26.0.1'
        force 'com.android.support:support-annotations:26.0.1'
        force 'com.android.support:recyclerview-v7:26.0.1'
    }
}

apply plugin: 'com.google.gms.google-services'

কোন সমাধান

সম্পাদনা করুন: আমি ফায়ারবেস গিথুব সাইটের মাধ্যমে নমুনা দিয়ে কাজ করেছি এবং সমাধান করেছি


আপনাকে আপনার অ্যাপ্লিকেশনটিতে মাল্টিডেক্স সমর্থন অন্তর্ভুক্ত করতে হবে
সুদিশ আর

এবং আপনার প্রকল্পটি পুনর্নির্মাণের পরিষ্কার করার চেষ্টা করুন
সুদিশ আর

আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি আপনার প্রশ্নটি সম্পাদনা করুন এবং আপনার গ্রেডেল কনসোলের পুরো আউটপুট পোস্ট করুন, কেবল এটি কেবল একটি লাইন নয়। আপনার সমস্যার বিশদটি আউটপুটটিতে অন্য কোথাও রয়েছে।
কমন্সওয়্যার

@ কমন্সওয়্যার আমি আমার সম্পূর্ণ ত্রুটি পোস্ট করেছি .. এটি কেবল দুটি লাইন।
অ্যাঙ্গুরাজ

4
তাত্ক্ষণিকভাবে চালানো অক্ষম করার চেষ্টা করুন আপনার প্রকল্পটি পরিষ্কার করুন এবং অ্যান্ড্রয়েড {ডিফল্টকনফিগ D মাল্টিডেক্সএইনবেলড ট্রু} add যুক্ত করুন
তারা

উত্তর:


66

কর্ডোভা ভিত্তিক প্রকল্পের জন্য, @ এমকিমেট পরামর্শ অনুসারেcordova clean android পুনরায় বিল্ডিংয়ের আগে চালান ।


4
কেউ দয়া করে এই উত্তরটি চিহ্নিত করুন। এটি সমস্যার সমাধান করে।
পামেকর

4
আমার জন্য, 'কর্ডোভা-প্লাগইন-অ্যান্ড্রয়েডেক্স' এবং 'কর্ডোভা-প্লাগইন-অ্যান্ড্রয়েডএক্স-অ্যাডাপ্টার' ইনস্টল করা সমস্যাটি প্রশমিত করেছে
এসএসজ

58

এই ত্রুটিটি ঘটে যখন আপনি একটি বাহ্যিক লাইব্রেরি যুক্ত করেন যা আপনার সাথে সামঞ্জস্য হতে পারে না compileSdkVersion

আপনি যখন একটি যুক্ত করছেন তখন সাবধান হন external library

আমি এই সমস্যায় 2 দিন অতিবাহিত করেছি এবং অবশেষে এই পদক্ষেপগুলি অনুসরণ করে এটি সমাধান হয়ে গেছে।

  • নিশ্চিত করুন সব আপনার সমর্থনের লাইব্রেরি হিসাবে একই compileSdkVersionআপনার build.gradle(Module:app)আমার ক্ষেত্রে এটা 26এখানে চিত্র বর্ণনা লিখুন

  • আপনার ডিফল্ট কনফিগ বিভাগে মাল্টিডেক্সএইনবল করা সত্য । এটি গুরুত্বপূর্ণ অংশ।মাল্টিডেক্সএনবেবলড সত্য চিত্র

  • ফাইল এ যান | সেটিংস | নির্মাণ, কার্যকরকরণ, মোতায়েন | তাত্ক্ষণিকভাবে চালান এবং তাত্ক্ষণিক চালনকে হট অদলবদলে সক্ষম / অক্ষম করার চেষ্টা করুন ... এবং ঠিক আছে ক্লিক করুন তাত্ক্ষণিক চালনায় উত্তপ্ত স্বাপটি সক্ষম করুন ... চিত্র

  • Sync আপনার প্রকল্প

  • শেষ অবধি, বিল্ড এ যান | পুনর্নির্মাণ প্রকল্পে ক্লিক করুন ।

  • দ্রষ্টব্য: পুনর্নির্মাণ প্রকল্পটি প্রথমে পরিষ্কার করে এবং তারপরে প্রকল্পটি তৈরি করে।


এটা আমার সহায়ক, ধন্যবাদ।
সুমিত সাক্সেনা

শুনে খুশি হলাম. শুভ অ্যান্ড্রয়েডিং
নিয়ামাতুল্লাহ বখশি

4
@ ইজলিমাচলো দুর্দান্ত!
নিয়ামতুল্লাহ বখশি

48

গ্রেডে এটি যুক্ত করার চেষ্টা করুন

    android {
      defaultConfig {
        multiDexEnabled true
        }
   }

আপনি কি অ্যান্ড্রয়েড স্টুডিওতে ক্যাশে অবৈধ করার চেষ্টা করেছিলেন? @ অঙ্গুরাজ
ফার্নান্দো

মাল্টিডেক্স সক্ষম করার একমাত্র পদক্ষেপ নয়। নতুন এপিআই স্তরেও দরকার নেই
ওয়ানক্রিষ্টের

25

রেজোলিউশন:

পড়ুন এই লিঙ্কে আছে: বিভিন্ন অপশন উপর নির্ভর করে বন্ধ সাবধানবাণী শাট আছেন যে minSdkVersion, এটা 20 নিচে সেট :

 android {
     defaultConfig {
         ...
         minSdkVersion 15 
         targetSdkVersion 26
         multiDexEnabled true
     }
     ... }

 dependencies {   compile 'com.android.support:multidex:1.0.3' }

আপনি যদি একটি থাকে তাহলে 20 চেয়ে minSdkVersion বৃহত্তর আপনার build.gradle সেট ব্যবহারে সতর্কতা শাট ডাউন করুন:

  android {
      defaultConfig {
          ...
          minSdkVersion 21 
          targetSdkVersion 26
          multiDexEnabled true
      }
      ... }

নিম্নরূপ নির্ভরতা আপডেট করুন:

     dependencies {
        implementation 'com.android.support:multidex:1.0.3'
     }

আবার পার্থক্য হ'ল নির্ভরতাগুলির মূলশব্দ:

20 এর নিচে minSdkVersion: সংকলন ব্যবহার করুন

20 এর উপরে minSdkVersion: প্রয়োগ বাস্তবায়ন

  1. আমি আশা করি এটি সহায়ক ছিল, দয়া করে উজ্জীবিত হন যদি এটি আপনার সমস্যার সমাধান করে, আপনার সময়ের জন্য আপনাকে ধন্যবাদ।
  2. এছাড়াও আরও তথ্যের জন্য, উপর কেন এই ঘটে , অনুগ্রহ করে লিঙ্কে প্রথম অনুচ্ছেদ পড়া, এটা পুঙ্খানুপুঙ্খভাবে ব্যাখ্যা করবে কেন? এবং এই সতর্কতার অর্থ কী।

24

কেবল একটি "বিল্ড -> ক্লিন প্রকল্প" করার চেষ্টা করুন। এটি আমার জন্য সমস্যার সমাধান করেছে।


4
ধন্যবাদ এটি কর্ডোভা ক্লিন অ্যান্ড্রয়েড চালিয়ে একটি আয়নিক / কর্ডোভা প্রকল্পে আমার পক্ষে কাজ করেছে যখন আমার কাছে কর্ডোভা -অ্যান্ড্রয়েড-সাপোর্ট-গ্রেড-রিলিজ প্লাগইনও ইনস্টল ছিল।
এমকিমিমেট

যখন কিছু সাধারণ জিনিসগুলি ঠিক করে দেয় তখন এটি পছন্দ করুন !! ধন্যবাদ!
টোনজ্যাক

প্রতিক্রিয়া নেটিভের সাথে কাজ করার সময় এটি আমার জন্য এটি স্থির করে।
মাইকেল অডিার

ধন্যবাদ, এটি এই সমস্যার সহজতম সমাধান, আমি এই সমস্যাটি সমাধান করতে আমার 3 দিন ব্যয় করেছি এবং আপনার উত্তর আমার সমস্ত সমস্যা সমাধান করে। আবারও ধন্যবাদ ভাই আমার !!!
গৌতমসিংহ মরি

ধন্যবাদ অ্যান্ড্রয়েড স্টুডিও ৪.১ এ আমাকে সহায়তা করেছে। আমার দিন বাঁচিয়েছে
আতিফ

7

আমার জন্য, অ্যাড

multiDexEnabled true

এবং

packagingOptions {
        exclude 'META-INF/NOTICE' 
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/notice'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license'
        exclude 'META-INF/license.txt'
    }

মধ্যে অ্যাপ্লিকেশন স্তর Build.gradle ফাইল সমস্যা সমাধান


5

আপনার মডিউল স্তরের build.gradleফাইলটিতে যান এবং কোডটিতে নিম্নলিখিত লাইনগুলি যুক্ত করুন

    defaultConfig {
        ...
        minSdkVersion 15 
        targetSdkVersion 28
        multiDexEnabled true
    }
    ...
}

dependencies {
  implementation 'com.android.support:multidex:1.0.3'
}

এটি সহজেই সমস্যার সমাধান করে। এই ডকুমেন্টেশন পরীক্ষা করুন


4

মাল্টিডেক্সএনেবলটি নীচের মতো ব্যবহার করুন।

{
 minSdkVersion 17
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    multiDexEnabled true
}

এবং

implementation 'com.android.support:multidex:1.0.3'

এই সমাধানটি আমার পক্ষে কাজ করেছিল।


4

মাল্টিডেক্সএইনেবলড সত্য সহ আমি উপরে উল্লিখিত অনেকগুলি সমাধান চেষ্টা করেছিলাম তবে এর কোনওটিই আমার পক্ষে কার্যকর হয়নি।

আমার জন্য কাজ করে এমন সমাধানটি এখানে দেওয়া আছে - এই কোডটি অ্যাপ্লিকেশন \ build.gradle ফাইলটিতে অনুলিপি করুন

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support' && requested.name != 'multidex') {
            details.useVersion "${rootProject.ext.supportLibVersion}"
        }
    }
}

কোডটি চালানোর আগে গ্রেডলিউ ক্লিন চালানো নিশ্চিত করুন


4
আমি minSdkVersion পরিবর্তন করেছি, এটি যথেষ্ট
মিস্টার স্পেশাল

2

আমার সাথে একই ঘটনা ঘটেছিল, বুঝতে পেরেছিলাম যে আমি এএস 3.0 আপডেট করার মাঝখানে ছিলাম এবং আমি আপডেটটি করার পরে, অ্যাপটি পরিষ্কার এবং পুনর্নির্মাণের পরে সবকিছু ঠিক হয়ে গেছে।


2

আমার জন্য এই ত্রুটিটি কীভাবে স্থির হয়েছে তা আমার অ্যাপ্লিকেশনটির গ্রেড নির্ভরতাগুলির একটি লাইন পরিবর্তন করছে।

এটি থেকে :

compile('com.google.android.gms:play-services-gcm:+') {
    force = true
}

এটি :

compile('com.google.android.gms:play-services-gcm:11.8.0') {
    force = true
}

শুধুমাত্র এটিই আমার পক্ষে কাজ করেছিল। আমার বল প্রয়োগ করার দরকার নেই = সত্য
পাওলো লিনহারেস - প্যাকআপস

1

এছাড়াও নিশ্চিত হয়ে নিন যে আপনার অ্যাপ্লিকেশনটি মাল্টিডেক্স অ্যাপ্লিকেশনটিকে সাবক্লাস করছে

import android.support.multidex.MultiDexApplication

class App : MultiDexApplication()

বা অ্যাপ্লিকেশন ক্লাস সাবক্লাসিং না করে থাকলে, AndroidManLive.xML এ যুক্ত করুন

<application
  android:name="android.support.multidex.MultiDexApplication"

0

আপনি এসডিকে বা প্ল্যাটফর্ম আপডেটের মধ্যে রয়েছেন? যদি হ্যাঁ এগুলিকে সম্পূর্ণ করুন এবং তারপরে চালিয়ে যাওয়ার চেষ্টা করুন। আমি সাধারণত পৃথক প্যাকেজগুলি আপডেট করি যা পুরো আপডেটটি আপডেট করতে হয় যা কখনও কখনও 2.5 গিগাবাইট পর্যন্ত যেতে পারে। এই সম্পূর্ণ আপডেটটি করা কখনও কখনও ব্যর্থ হয়। একবার আমি অ্যান্ড্রয়েড স্টুডিও 3.0.০ এ আপগ্রেড করলে আমার বেশ কয়েকটি এসডিকে আপডেট হয়েছিল এবং সমস্ত প্যাকেজ আপডেট না হওয়ায় উপরের ত্রুটিটি পেয়েছিলাম। একবার আমি সমস্ত প্যাকেজ আপডেট করে উপরের ত্রুটিটি চলে গেল।


আশা করি আপনি আপনার ক্যাশে সাফ বা অকার্যকর করে দিয়ে অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করেছেন? আমার কাছে অ্যান্ড্রয়েড স্টুডিও 3 পূর্ববর্তী সংস্করণগুলির তুলনায় বগী বলে মনে হচ্ছে।
বিনীত জৈন

কেউ কি কখনও এই ঠিক করবেন? এটি অতীত পেতে পারে না!
68060

0

আমার ক্ষেত্রে ফায়ারবেস লাইব্রেরি সংস্করণটি ২.6.০ থেকে ২.৪.২ থেকে পরিবর্তন করে সমস্যার সমাধান হয়েছে


0

আমার জন্য সমস্যাটি ছিল মডিউলে জাভা 1.8 ব্যবহার করা, তবে অ্যাপ্লিকেশন মডিউলে ছিল না। আমি এটি অ্যাপ্লিকেশন বিল্ড গ্রেডে যুক্ত করেছি এবং কাজ করেছি:

android{
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

0

একই সমস্যা. আমি মাল্টিডেক্স সক্ষম করেছি: ডিফল্টকনফিগ {অ্যাপ্লিকেশনআইডি "xxx.xxx.xxxx" minSdkVersion 24 টার্গেটএসডিকি ভার্সন 26 মাল্টিডেক্স সক্ষম হয়েছে সত্য

আমি ক্যাশে সাফ করে দিয়েছি, গ্রেড গ্রেড ক্লিন করেছি, পুনর্নির্মাণ করেছি, তৈরি করব, আমদানি করা লাইব্রেরিতে কোনও বিরোধ না হওয়ার বিষয়টি নিশ্চিত করার চেষ্টা করেছি (সমস্ত ট্রানজিটিভ নির্ভরতা অপসারণ করা হয়েছে) এবং সমস্ত আপডেট করেছি। তবুও:

ত্রুটি: কার্য ': অ্যাপ্লিকেশন: ট্রান্সফর্মডেক্স আর্কাইভ উইথএক্সটার্নাল লিবসডেক্সমারজারফোর্ডডব্যাগ' এর জন্য কার্যকর করা ব্যর্থ। java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: ডেক্সটি মার্জ করতে অক্ষম

বিল্ডটি পছন্দ করেনি তা রূপান্তরিত করেছে: বাস্তবায়ন 'org.slf4j: slf4j-android: 1.7.21'


0

অ্যান্ড্রয়েড স্টুডিওর সংস্করণ 3.0.০.১ যখন হয়, গ্রেডল সংস্করণটি ৪.১ এবং অ্যান্ড্রয়েড প্লাগইন সংস্করণ 3.0.০.০ হয়, তখন এটি এই সমস্যার মুখোমুখি হবে। তারপরে আমি গ্রেডল সংস্করণটি ডাউনগ্রেড ৩.৩, অ্যান্ড্রয়েড অ্যান্ড্রয়েড শূন্য, এ জাতীয় কোনও সমস্যা নেই।


0

অনুরোধ করা এসডিকে সংস্করণ নির্ভরতার সাথে মেলে না, তখন আমার কাছে এটি ছিল। আপনি হাইলাইট করা লাইনে ক্লিক করতে পারেন এবং এটি ক্লিক করে রেড লাইট বাল্বকে সংশোধন করতে পারেন। আসল সংস্করণটি খুঁজে পাওয়ার দরকার নেই, কেবল আইডিই এটি খুঁজে বের করুন। এবং maven কনফিগারেশনে গুগল রেপো যুক্ত করুন।


0

আমি একই ত্রুটিটি পেয়েছি এবং আমার ক্ষেত্রে, আমি বর্তমানে বিল্ড ত্রুটিটি সংশোধন করা হয়েছিল যা আমি বর্তমানে তৈরির চেয়ে পৃথক বিল্ড বৈকল্পের সাথে সম্পর্কিত ছিল fixed

আমি বিল্ড ভেরিয়েন্টটি তৈরি করছিলাম যা আমি কোনও ত্রুটি ছাড়াই ঠিক দেখছিলাম, কিন্তু ডিবাগ করার চেষ্টা করার ফলে একটি app:transformDexArchiveWithExternalLibsDexMergerForDebugত্রুটি হয়েছিল। একবার আমি অন্য বিল্ড বৈকল্পিক তৈরি করতে স্যুইচ করেছিলাম, আমি বিল্ড প্রক্রিয়ায় আমার ত্রুটিটি ধরা এবং এটি ঠিক করেছি। এটি app:transformDexArchiveWithExternalLibsDexMergerForDebugসমস্ত বিল্ড ভেরিয়েন্টগুলির জন্য আমার সমস্যাটিকে সমাধান করার জন্য মনে হয়েছিল ।

নোট করুন যে এই ত্রুটিটি রেফারেন্সযুক্ত বাহ্যিক মডিউলটির মধ্যে ছিল না তবে একটি বিল্ড বৈকল্পিকের একটি স্বতন্ত্র উত্সের মধ্যে রয়েছে যা বাহ্যিক মডিউলটিকে রেফারেন্স করেছে। আশা করি এমন কেউ কারও পক্ষে সহায়ক যে আমার মতো একই কেসটি দেখছে!


0

আমি আমার কোডটিতে এই কাজগুলি করে এই সমস্যাটি সমাধান করেছি এবং সমাধান করেছি

খুলুন -> build.gradle থেকে মান পরিবর্তন করুন

compile 'com.google.code.gson:gson:2.6.1'

প্রতি

compile 'com.google.code.gson:gson:2.8.2'

0

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

 implementation 'com.android.support:multidex:1.0.3'

আমি নিশ্চিত এটি আপনার সমস্যা স্থায়ীভাবে সমাধান করবে


এর নির্ভরতা এটিকে গ্রেডে ফেলেছে
প্রদীপ শেওরান

0
1) দয়া করে মাল্টিডেক্সএইনবেলড ট্রু যুক্ত করুন
২) যদি আপনি সংকলন ত্রুটি পান তবে আপনার অ্যাপ স্তরের বিল্ড.gradle আবহাওয়ার একই নির্ভরতা বিভিন্ন সংস্করণে প্রয়োগ করা হয় তা পরীক্ষা করে দেখুন।
3) যদি আপনি একই নির্ভরতা খুঁজে পান তবে একটি সরান।

অ্যান্ড্রয়েড {সংকলনএসডিকি ভার্সন 28 ডিফল্টকনফিগ {

    minSdkVersion 17
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    multiDexEnabled true
}
আশা করি এটি দুর্দান্ত কাজ করেছে :) শুভ কোডিং

0

ধোন ধরণের ত্রুটি এড়ানোর সহজ উপায় হ'ল:

- আপনার অ্যাপ্লিকেশন সংকলনকেশনের মতো লাইব্রেরি সংযুক্ত করে ডায়ারভার্সন পরিবর্তন করুন

লাইব্রেরির সমর্থন লাইব্রেরি সংস্করণ আপনার বিল্ড.gradle (অ্যাপ) হিসাবে একই পরিবর্তন করুন


0

এটি আমার জন্য কাজ করে কি না। পরিষ্কার প্রস্তুত এবং চালান।

cordova clean android;
ionic cordova prepare andriod;
ionic cordova run andriod;

আশা করি এটা সাহায্য করবে.


0

আমিও একই রকম ত্রুটি পেয়েছি।

সমস্যা :

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

সমাধান :

এই ইস্যুটির মূল মূল কারণ ismالteDex সক্ষম নয়। সুতরাং প্রকল্প / অ্যান্ড্রয়েড / অ্যাপ / বিল্ড.gradle এ , মাল্টিডেক্স সক্ষম করুন

আরও তথ্যের জন্য ডকুমেন্টেশনটি দেখুন: https://developer.android.com/studio/build/multdex#mdex-gradle

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


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