ডেক্সটি মার্জ করতে অক্ষম


307

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

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.android.builder.dexing.DexArchiveMergerException: ডেক্সটি মার্জ করতে অক্ষম

তবে এই ত্রুটিটি কীভাবে সমাধান করা যায় তা আমি জানি না। আমি ঘন্টা কয়েক ধরে এটি googled কিন্তু কোন সাফল্য সঙ্গে।

আমার প্রকল্প গ্রেড:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-beta6'
        classpath "io.realm:realm-gradle-plugin:3.7.1"
        classpath 'com.google.gms:google-services:3.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

আমার অ্যাপ্লিকেশন গ্রেড:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "parad0x.sk.onlyforyou"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
        }
    }
    compileOptions {
        targetCompatibility 1.7
        sourceCompatibility 1.7
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }
    lintOptions {
        checkReleaseBuilds false
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    //noinspection GradleCompatible
    compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
    compile project(path: ':loginregisterview')


}

এবং আমার মডিউল গ্রেড:

    apply plugin: 'com.android.library'
apply plugin: 'realm-android'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 26
        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:appcompat-v7:26.0.2'
    compile 'com.android.support:support-v4:26.1.0'
    compile 'com.github.bumptech.glide:glide:4.0.0'
    testCompile 'junit:junit:4.12'
    compile project(path: ':parser')

}

আমার দ্বিতীয় মডিউল:

     apply plugin: 'com.android.library'
apply plugin: 'realm-android'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    realm {
        syncEnabled = true
    }
    useLibrary 'org.apache.http.legacy'

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile 'junit:junit:4.12'
    //  compile 'com.android.support:appcompat-v7:23.1.0'

    //   compile 'com.fasterxml.jackson.core:jackson-core:2.9.0'
 //   compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.0'
 //   compile 'com.fasterxml.jackson.core:jackson-databind:2.9.0'
    compile 'com.google.code.gson:gson:2.6.2'
}

____________finding_________

আমি যখন দ্বিতীয় মডিউলটি (পার্সার) আমদানি করিনি তখন অ্যাপ্লিকেশনটি ডেক্সে ক্রাশ হয় নি তবে যখন মডিউলটি আমদানি করা হয়নি অ্যাপটি কাজ করে না। : ডি: ডি


6
যদি কেউ অ্যান্ড্রয়েড স্টুডিও St.০ স্থিতীয় সংস্করণে একই সমস্যা পেয়ে থাকে তবে আমি আপনাকে দৃ st়ভাবে উত্তর stackoverflow.com/questions/46949761/… পর্যালোচনা করার পরামর্শ দিচ্ছি এবং এটি আপনাকে সহায়তা করতে পারে কিনা তা দেখুন।
ভবেশ পাটাদিয়া ২

1
আমার একই সমস্যা ছিল এবং আমি এই পৃষ্ঠায় উল্লিখিত প্রতিটি পদ্ধতি অনুসরণ করেছিলাম তবে আমার সাহায্য করেনি তাই আমি গ্রেডে গিয়ে প্রতিটি লাইব্রেরিতে কার্সার ধরেছি যাতে তাদের নতুন সংস্করণ পাওয়া যায় কি না তা পরীক্ষা করে দেখি। যাদের নতুন সংস্করণ রয়েছে তাই আমি আপডেট করেছি, গ্রেড গ্রেড করব এবং চালাব। এটা কাজ করেছে.
শাহজাদ আফ্রিদি

উত্তর:


293

আমি আপডেট com.google.android.gms:play-services:11.2.2করার সময় আমার একই সমস্যা ছিল com.google.android.gms:play-services:11.4.0। এটি আমার জন্য এটি সমাধান করেছে:

  1. পরিষ্কার
  2. পুনর্নির্মাণ করা

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

2
এটি আমার সমস্যাটি সমাধান করে, যেখানে multiDexEnabled trueএকা হয়নি
ইউরি ব্রিগ্যান্স

28
com.google.android.gms: play-পরিষেবাদি-অবস্থান: 11.6.0 এর সাথে একই আইসিস ... এটি কোনও বৈধ সমাধান নয়
ইস্যামাক্স

3
গুগল অ্যানালিটিক্স লাইব্রেরিগুলি ব্যবহার করার ক্ষেত্রে যখন আমার একটি সামঞ্জস্যের সমস্যা হয়েছিল তখন এই সমাধানটি আমার পক্ষে কাজ করে। "প্রকল্প" হিসাবে অ্যান্ড্রয়েড প্রকল্প নেভিগেটর ফলকটি দেখার জন্য আপনার "বাহ্যিক গ্রন্থাগারগুলি" দেখতে হবে, যদি আপনি বাহ্যিক গ্রন্থাগারগুলি প্রসারিত করেন তবে আপনি প্রকল্পটি সংকলনের জন্য ব্যবহৃত সমস্ত জার এবং মডিউল দেখতে পাবেন। এটি আপনাকে বেমানান মডিউল সংমিশ্রণগুলি সনাক্ত করতে সহায়তা করবে।
রাগ করুন আইটুই

3
যদি উপরের কোডটি "সংকলনএসডিপি ভার্সন 26" এর ক্ষেত্রে কাজ না করে থাকে তবে এটি চেষ্টা করে দেখুন .. build.gradle (মডিউল: অ্যাপ) এ যান - ডিফল্টকনফিগ বিভাগে "মাল্টিডেক্সএইনডেবল ট্রু" যুক্ত করুন এবং শেষ পদক্ষেপটি ফাইলটিতে যান | সেটিংস | বিল্ড, এক্সিকিউশন, মোতায়েন | তাত্ক্ষণিকভাবে চালান এবং সক্ষম / অক্ষম করার চেষ্টা করুন
সুমিত স্যাক্সেনা

325

আমি উপরের সমস্ত চেষ্টা করেছিলাম এবং তাদের কেউই সহায়তা করে না। অবশেষে, আমি আমার জন্য এই কাজটি খুঁজে পেয়েছি:

অ্যাপ্লিকেশন / build.gradle:

android {
    defaultConfig {
       multiDexEnabled true
    }
}

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

2
এই সমাধানটি আমার পক্ষে কাজ করেছে, তবে এ ছাড়াও, আমি স্পষ্টতই API এর <= 21 বিকাশকারী।
অ্যান্ড্রয়েড

2
গৃহীত উত্তরের চেয়ে ডেপসাইট আরও প্রাসঙ্গিক হওয়ায় আমি এখনও "ডেক্স মার্জ করতে অক্ষম" বার্তাটি পেয়েছি
জন

13
আমার পক্ষে কাজ করেনি। এই পরিবর্তনের সাথে আমি পৃথক ত্রুটি পেয়েছি: কার্যের জন্য মৃত্যুদণ্ড ব্যর্থ হয়েছে ': অ্যাপ: ট্রান্সফর্মক্লাস উইথ
অতুল

1
হ্যাঁ 5 ঘন্টা আমি সম্পূর্ণ ভিন্ন উত্তর দিয়ে বাস করছিলাম। তবে একরকম আমি বুঝতে পারলাম এটি মাল্টিডেক্স ইস্যু এবং এখানে পৌঁছেছে। আমি সত্য ছিল। ধন্যবাদ মানুষ
Sud007

59

সতর্কতা মনোযোগ দিন!

কখনও কখনও আপনার শুধুমাত্র সতর্কতাগুলি অপসারণ করা প্রয়োজন এবং ত্রুটিটি স্বয়ংক্রিয়ভাবে অদৃশ্য হয়ে যাবে। বিশেষ ক্ষেত্রে নীচে দেখুন:


আমার মডিউল-স্তরের build.gradleফাইলটিতে এই দুটি নির্ভরতা ছিল :

implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:recyclerview-v7:27.0.2'

এবং স্টুডিও সতর্ক করেছিল ( ডেক্স সংযোজন সমস্যা ছাড়াও ):

সমস্ত com.android.supportলাইব্রেরিতে অবশ্যই একই সংস্করণের নির্দিষ্টকরণ অবশ্যই ব্যবহার করা উচিত (মিশ্রিত সংস্করণগুলি রানটাইম ক্র্যাশ হতে পারে)। পাওয়া সংস্করণ 27.0.2, 21.0.3। উদাহরণ অন্তর্ভুক্ত com.android.support:animated-vector-drawable:27.0.2এবংcom.android.support:support-v4:21.0.3

তাই আমি স্পষ্টভাবে সংস্করণ নির্ধারিতcom.android.support:support-v4 (দেখুন এখানে বিস্তারিত জানার জন্য) এবং উভয় সমস্যার (সতর্কবার্তা এবং মার্জ Dex এর সাথে সম্পর্কিত একটি) মীমাংসিত :

implementation 'com.android.support:support-v4:27.0.2'  // Added this line (according to above warning message)
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:recyclerview-v7:27.0.2'

অন্যান্য অনুরূপ পরিস্থিতিতে নীচের মন্তব্য দেখুন।


1
আপনাকে ধন্যবাদ, এটি আমার জন্য সমস্যাটি স্থির করেছে। এটি মূলত eu.inloop যুক্ত করে তৈরি হয়েছিল: androidviewmodel: 1.3.4
lsrom

1
ঠিক ঠিক, আমি কেবল ত্রুটিটি আরও সুনির্দিষ্ট হতে পারতাম
আমিন কেশ্বরজিয়ান

1
অনেক ধন্যবাদ. আমারও একই প্রশ্ন ছিল. আমি v26 ব্যবহার করছিলাম, 27 এসডিকে আপডেট হয়েছি এবং সমস্যার সমাধান করেছি।
জনি

2
এটি সঠিক উত্তর হওয়া উচিত। আমার বিল্ডগুলি একটি লাইব্রেরি (এয়ারবিএনবি / ইপোক্সি) যুক্ত করার পরে কাজ করা বন্ধ করে দিয়েছিল যার নির্ভরতা ছিল support:design:26.1.0এবং এখনও আমার সেই নির্ভরতা ছিল না। আমার অন্যরা লাইব্রেরি সংস্করণ সমর্থন করে 27.1.0। সংস্করণে support:designনির্ভরতা যুক্ত করার পরে 27.1.0, আমার সমস্যাটি সমাধান হয়ে গেছে।
alashow

2
ধন্যবাদ. তুমি আমার দিন বাঁচাও
নিতিনজিথ

37

আমার ক্ষেত্রে, দুর্ভাগ্যক্রমে, মিশেলের বা সুরাগের সমাধানগুলিই আমার পক্ষে কার্যকর হয়নি।

সুতরাং আমি নিম্নলিখিতটি করে এই সমস্যাটি সমাধান করেছি:

ইন gradle: 3.0 কম্পাইল কনফিগারেশন বর্তমানে অবচিত হয়েছে এবং দ্বারা প্রতিস্থাপিত করা উচিত বাস্তবায়ন বা API । আরও তথ্যের জন্য আপনি এখানে পড়তে পারেন আপনি গ্রেডল বিল্ড সরঞ্জামে অফিসিয়াল ডক্সটি পড়তে পারেন

সংকলন কনফিগারেশন এখনও বিদ্যমান তবে এটি ব্যবহার করা উচিত নয় কারণ এটি এপিআই এবং বাস্তবায়ন কনফিগারেশনগুলি সরবরাহ করে এমন গ্যারান্টি দেয় না।

বাস্তবায়ন বা এপিআই বরং সংকলন ব্যবহার করা ভাল

কেবল বাস্তবায়নের সাথে সংকলন প্রতিস্থাপন করুন , ডিবাগইম্পিলিটিশন দিয়ে ডিবাগম্পাইল করুন , টেস্টের সাথে পরীক্ষার সংকলন করুন এবং অ্যান্ড্রয়েড টেস্টআইম্পিমুলেশন সহ অ্যান্ড্রয়েডেস্টেকম্পাইল

উদাহরণস্বরূপ: এর পরিবর্তে

compile 'com.android.support:appcompat-v7:26.0.2'
compile 'com.android.support:support-v4:26.1.0'
compile 'com.github.bumptech.glide:glide:4.0.0'

এই মত ব্যবহার করুন

implementation 'com.android.support:appcompat-v7:26.0.2'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.github.bumptech.glide:glide:4.0.0'

তারপর

  • আপনার প্রকল্পের ভিতরে .gradle ফোল্ডারটি মুছুন (নোট করুন। গ্রেডল দেখতে, আপনাকে উপরের বাম দিকে নেভিগেটরে "প্রকল্প" ভিউটিতে স্যুইচ করতে হবে)
  • সমস্ত বিল্ড ফোল্ডার এবং গ্রেড ক্যাশে মুছুন ।
  • বিল্ড মেনু থেকে, ক্লিন প্রকল্প বোতাম টিপুন।
  • কার্য শেষ হওয়ার পরে, বিল্ড মেনু থেকে পুনর্নির্মাণ প্রকল্প বোতাম টিপুন।

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


2
ধন্যবাদ, আমাকে যা করতে হয়েছিল তা হ'ল বাস্তবায়নের সংকলনটি পরিবর্তন করা এবং এটি সফলভাবে নির্মিত, অন্য পদক্ষেপগুলি সম্পন্ন করতে হয়নি। বিল্ডটি ব্যর্থ হয়ে শুরু হয়েছিল আমি ফেসবুক এসডিকে আপডেট করার পরে
শায়ানো

2
আমার জন্য কাজ করেছেন - অন্তর্দৃষ্টি কেন?
অ্যালেক্স

1
মুছে ফেলার ফোল্ডারটি হওয়া উচিত .gradleএবং না./gradle
গ্যারি বাক

1
একমাত্র উত্তর যা আসলে আমার পক্ষে কাজ করেছিল। ধন্যবাদ!
মাইকেল রিচার্ডসন

1
ধন্যবাদ, এটি দুর্দান্ত উত্তর is এটি অনুসন্ধানের উপরে থাকা উচিত। আমার জন্য কাজ করেছেন।
বিপদ

27
  1. .gradleডিরেক্টরি মুছুন ।

  2. আপনার অ্যাপ্লিকেশনটি আবার চালান।

মন্তব্য

  • .gradleডিরেক্টরি আপনার প্রকল্পের রুট ফোল্ডারে। (আপনাকে প্রথমে লুকানো ফাইলগুলি দেখাতে হতে পারে))
  • অ্যান্ড্রয়েড using.০ ব্যবহার করে নির্ভরতা মডিউলটি আপডেট করার সময় প্রতিবারই আমাকে এটি করতে হবে। (অ্যান্ড্রয়েড স্টুডিও 3 এর সাম্প্রতিক প্রকাশগুলি সমস্যার সমাধান করেছে বলে মনে হয়))

4
আমি যখন একটি অবৈধ ক্যাশে এবং পুনরায় চালু করতাম তখন এটি আমাকে সহায়তা করেছিল
ভাসিলি ফেদোটভ

আমি যখন অবিশ্বস্ত ছিলাম যখন এটি আমার সমস্যাটি স্থির করেছিল .. আমি সমস্ত কিছু আপডেট করার চেষ্টা করেছিলাম, সমস্ত সংকলন কীওয়ার্ড মুছে ফেললাম, সন্দেহভাজন কিছু ইলবি সংস্করণ আপডেট করেছিলাম .. অবশেষে যখন আমি এটি করেছি, এটি কাজ করেছিল ..
হাঞ্জোলো

তুমি আমার জীবন বাঁচিয়েছ! ধন্যবাদ
মাস্টারফেগো

24

.gradleসুরগের পরামর্শ অনুযায়ী মুছে ফেলা আমার পক্ষে যথেষ্ট ছিল না। অতিরিক্তভাবে, আমি একটি সম্পাদন করতে হয়েছিল Build > Clean Project

দ্রষ্টব্য, দেখার জন্য .gradle, আপনাকে উপরের বাম দিকে নেভিগেটরে "প্রকল্প" ভিউটিতে স্যুইচ করতে হবে:

প্রকল্প দর্শনে স্যুইচ করুন


23

আমি অন্য সমস্ত সমাধান চেষ্টা করেছিলাম, কিন্তু কেউ আমার পক্ষে কাজ করেনি। শেষে, আমি সম্পাদনা করে একই নির্ভরতা সংস্করণ ব্যবহার করে এটি সমাধান করেছিbuild.gradle । আমি মনে করি গ্রেডে একটি লাইব্রেরি যুক্ত করার সময় এই সমস্যাটি দেখা দেয় যা সমর্থন বা গুগল লাইব্রেরির বিভিন্ন নির্ভরতা সংস্করণ ব্যবহার করে।

আপনার বিল্ড গ্রেডল ফাইলটিতে নিম্নলিখিত কোড যুক্ত করুন। তারপর cleanএবংrebuild প্রকল্প।

PS: এটি আমার পক্ষে পুরানো সমাধান ছিল তাই আপনার নিম্নলিখিত লাইব্রেরির আপডেট সংস্করণ ব্যবহার করা উচিত।

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.android.support') {
        if (!requested.name.startsWith("multidex")) {
            details.useVersion '26.1.0'
        }
    } else if (requested.group == "com.google.android.gms") {
        details.useVersion '11.8.0'
        } else if (requested.group == "com.google.firebase") {
            details.useVersion '11.8.0'
          }
      }
}

5
অন্যান্য সমস্ত সমাধান চেষ্টা করে, শেষ পর্যন্ত কেবল এটিই সহায়তা করেছিল: /
এন্টে

@ অলি গুরেলি আপনাকে অনেক ধন্যবাদ আমি অনেকগুলি সমাধানের চেষ্টা করেছি তবে কেবল এই কাজটি।
বিপিন ভারতী

ধন্যবাদ কিন্তু আমার জন্য আমি সংস্করণ details.useVersion '15 .0.0 'ব্যবহার
Elsunhoty

সমাধানের জন্য ধন্যবাদ। একই বিষয়টি আমার সাথে ঘটেছিল। গুগল ট্যাপ এবং পে 10.0.0 ছিল এবং বাকি সমস্ত লিব সর্বশেষ সংস্করণে রয়েছে
আর ওয়ার্ল্ড

সহজেই ধন্যবাদ জানাতে ধন্যবাদ
সঙ্কল্প

14

যদি (1। কাজ পরিষ্কার এবং পুনর্নির্মাণের চেষ্টা করুন) তবে ভাল

অন্যথায় যদি (২. গ্রেডের কাজ সরিয়ে দেওয়ার চেষ্টা করুন) তবে ভাল

অন্য-> 3. গ্রেড.প্রপ্রেটিসগুলিতে যুক্ত করার চেষ্টা করুন

android.enableD8 = false

multiDexEnabledঅন্য- > 4. আপনার build.gradle এ সত্য যুক্ত করুন

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

এবং নির্ভরতা যোগ করুন

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

এটি প্রথমটি আপনার জন্য কাজ করবে এবং আরও অনেক কিছু কাজ করে তবে এটি উদাহরণস্বরূপ আপনার সমস্যার প্রকৃতির উপর নির্ভর করে

আমি এই লাইব্রেরিটি যুক্ত করার পরে আমি ত্রুটি পেয়েছি

implementation 'com.jjoe64:graphview:4.2.2'

এবং পরে আমি আবিষ্কার করেছি যে আমাকে এটি পরীক্ষা করতে হবে এবং আমাকে সমর্থন লাইব্রেরির একই সংস্করণটি যুক্ত করতে হবে। সুতরাং আমি অন্য সংস্করণ চেষ্টা করতে হবে

compile 'com.jjoe64:graphview:4.2.1'

এবং এটি সমস্যার সমাধান করে। সুতরাং যে জন্য মনোযোগ দিন।


3
এই সমস্যার জন্য সবচেয়ে দরকারী উপায়। আমি এখানে উল্লেখ করতে চাই তা হ'ল, আপনি 'গ্রেডলিউ অ্যাপ্লিকেশন: ট্রান্সফর্মডেক্স আর্কাইভ উইথ এক্সটার্নাল লিবসডেক্সমারজার ফরডেবাগ - স্ট্যাকট্রেস' সেমিডি আরও তথ্যের জন্য ব্যবহার করতে পারেন। আমি আমাকে বাঁচিয়েছি, খুঁজে পেয়েছি আমাকে মাল্টিডেক্স সক্ষম করতে হবে। আশা করি সহায়ক।
পান্ডা

13

আমার ক্ষেত্রে বিষয়টি রুম লাইব্রেরির কারণে ছিল:

compile 'android.arch.persistence.room:runtime:1.0.0-alpha1'

এটিতে পরিবর্তন করা হচ্ছে:

compile 'android.arch.persistence.room:runtime:1.0.0'

কাজ করছে.


অনেক ধন্যবাদ, এটি আমাকে অনেক সাহায্য করেছে!
ফিল

এই উত্তর পেয়ে খুশি। ধন্যবাদ!
অফকোড

12

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

আপনার একাধিক জায়গায় (বা এমনকি একই ফাইলটিতে) বিভিন্ন সংস্করণে নির্দেশ করে সদৃশ নির্ভরতা নেই তা নিশ্চিত করুন।


আমি মনে করি মাল্টিডেক্সএইনবেলড ট্রু যুক্ত করার আগে এবং অন্যান্য উত্তরগুলির চেষ্টা করার আগে এটি প্রথম পরীক্ষা করা উচিত। ধন্যবাদ!
আলেকসান্ডার এ

11

হাই আমি প্রায় একই জিনিস চেষ্টা করেছি। সুতরাং, অবশেষে আমি সমাধান করেছি 6 ঘন্টা দীর্ঘ সংগ্রামের পরে প্রতিটি লাইনে প্রতিটি লাইনে ডিবাগ করে।

classpath 'com.google.gms:google-services:3.0.0'

গুগল-পরিষেবাগুলি 3.0 স্টুডিও 3.0 এর সাথে ফায়ার সার্ভিস সংস্করণ: 11.6.0 বা তার চেয়ে কম সহ ফায়ারবেস সমর্থন করে না।

implementation "com.google.firebase:firebase-messaging:$rootProject.ext.playServiceVersion"
implementation "com.google.firebase:firebase-core:$rootProject.ext.playServiceVersion"
implementation "com.firebase:firebase-jobdispatcher-with-gcm-dep:$rootProject.ext.jobdispatcherVersion"

সমাধান:

আমার কাছে গুগল পরিষেবাগুলি পরিবর্তন আছে

classpath 'com.google.gms:google-services:3.1.1'

এবং এটি ফায়ারবেস পরিষেবাগুলিকে সমর্থন করে।

আশা করি কেউ তার সময় সাশ্রয় করবেন।


1
আমার একই সমস্যা আছে আমি 11.4.0 প্রয়োগ "com.google.firebase: ফায়ারবেস-কোর: 11.4.0" এটি বাস্তবায়নে পরিবর্তন করুন "com.google.firebase: ফায়ারবেস-কোর: ১১..2.২" স্থির আমার সমস্যা . সুতরাং দয়া করে আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা
আলাদাভাবে লেগেছে

9
  1. সক্ষম করা

    ডিফল্টকনফিগ D মাল্টিডেক্সএইনবেলড ট্রু}

  2. যদি পদক্ষেপ 1 কাজ না করে

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


+1 - আমার কাছে সমর্থন লিবিব, আরক্সজাভা এবং একটি তৃতীয় পক্ষের নির্ভরতা (13 কে লাইন) ছিল। আমি পদ্ধতি গণনা দেখে আমার চোখ প্রায় পপ আপ।
স্নোডনিপার

6

সম্ভাবনার একটি হ'ল: একই গ্রন্থাগারের উপস্থিতি কিন্তু নির্ভরতার বিভিন্ন সংস্করণ সহ

গ্রেড ফাইলটিতে নিম্নলিখিত লাইনগুলি নিয়ে আমার এই সমস্যা ছিল:

  • compile fileTree(include: ['*.jar'], dir: 'libs')
  • compile 'com.google.code.gson:gson:2.8.2'

জিএসএন লাইব্রেরিটি আমার লিবস ডিরেক্টরিতে ছিল তবে পূর্ববর্তী সংস্করণ সহ। আমি gson-2.3.1.jarlibs ডিরেক্টরি থেকে মুছে ফেলেছি এবং সবকিছু স্বাভাবিক অবস্থায় ফিরে এসেছে।


compile fileTree(include: ['*.jar'], dir: 'libs')আমার জন্যও স্থির করে ফেলা .. ধন্যবাদ (y)
দিনুকা সালওয়াথুরা

5

এই ত্রুটিটি যদি কোটলিন সমর্থন অন্তর্ভুক্ত করার পরে উপস্থিত হয় এবং অন্য কোনও সমাধানের কাজ না করে তবে অ্যাপ্লিকেশন মডিউলটির কোটলিন নির্ভরতা পরিবর্তনের চেষ্টা করুন build.gradle:

implementation ("org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version") {
    exclude group: 'org.jetbrains', module: 'annotations'
}

এটি আমার জন্য অ্যান্ড্রয়েড স্টুডিও 3.0.০ বিটা works এ কাজ করে further আরও ব্যাখ্যার জন্য এই উত্তরটি দেখুন ।


হ্যাঁ, মনে হচ্ছে কোটলিন পরিচিতি যদি এন্টোটেশনগুলি বাদ না দেয় তবে বিল্ডটি ভেঙে ফেলতে পারে।
স্টোইচো আন্দ্রিভ

ধন্যবাদ। এটা আমার জন্য স্থির ছিল। আমি আমার সমস্যা চিহ্নিত করতে 3 দিন সংগ্রাম করি।
নবীন কুমার এম

পরিবর্তে কোটলিন প্লাগইন সংস্করণ 1.2.30 সংস্করণে আপগ্রেড করার চেষ্টা করুন (সবেমাত্র প্রকাশিত হয়েছে)। এখন তাত্ক্ষণিক রানও আবার সক্ষম করা যায়!
কেটিসিও

5

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

  1. এসডিকেম্যানেজার -> অ্যান্ড্রয়েড এসডিকে -> এসডিকি সরঞ্জাম এবং গুগল প্লে পরিষেবাগুলি সর্বশেষ সংস্করণে 46 এ আপডেট করুন।
  2. পরিষ্কার প্রকল্প এবং পুনর্নির্মাণ প্রকল্প।

5

[ডেক্স সলভড মার্জ করতে অক্ষম] স্ট্যাক উপচে পড়ার কয়েক ঘন্টা পরে আমি "ডেক্স ত্রুটি মার্জ করতে অক্ষম" সমাধান করেছি

  1. আপনার গ্রেডের সমস্ত com.android.support লাইনগুলি v27.1.0 এ আপডেট করুন

কারণ - অ্যান্ড্রয়েড এটি লাইব্রেরিগুলিকে v27.1.0 এ আপডেট করেছে, সুতরাং আপনার গ্রেড ফাইলে সমস্ত অ্যান্ড্রয়েড সমর্থন লাইন 26.1.0 থেকে 27.1.0 এ পরিবর্তন করতে হবে

  1. নিশ্চিত হয়ে নিন যে সংগ্রহস্থল বিভাগে " https://maven.google.com " এন্ডপয়েন্ট । উদাহরণ স্বরূপ:

    সমস্ত প্রকল্প {ভান্ডারগুলি {জেন্টার () maven {url " https://maven.google.com "}}}

কারণ: - অ্যান্ড্রয়েড এসডিকে ম্যানেজারে সমর্থন লাইব্রেরি আপডেট করতে পারে না এবং এটি আপডেট করার জন্য maven.google.com ব্যবহার করে, তাই আপনাকে 27.1.0 সমর্থন লাইব্রেরি ব্যবহার করার জন্য এটি অন্তর্ভুক্ত করতে হবে

পরিবর্তন সংস্করণ পরে: 1. পরিষ্কার প্রকল্প 2. প্রকল্প পুনর্নির্মাণ



4

গুগল প্লে পরিষেবাগুলি (সর্বশেষ সংস্করণ) ইনস্টল করা + সহ

android {
    defaultConfig {
        multiDexEnabled true
        }
}

build.gradle আমার জন্য সমস্যাটি সমাধান করেছে, প্রকল্পটি পরিষ্কার এবং পুনর্নির্মাণের বিষয়টি নিশ্চিত করুন!


3

আমার ক্ষেত্রে এটা ছিল gson-2.8.1.jar যা আমি যুক্ত করেছেন লিব প্রকল্পের ফোল্ডার। কিন্তু রেফারেন্সটি ইতিমধ্যে সেখানে ছিল এসডিকে। সুতরাং gson-2.8.1.jar যোগ করার জন্য প্রয়োজনীয় ছিল না ফোল্ডারে ।

আমি যখন এটি gss-2.8.1.jar এ বেরিয়েছি প্রজেক্ট সংকলন এই ত্রুটিযুক্ত ত্রুটি ছাড়াই।

সুতরাং libs ফোল্ডার এবং নির্ভরতা সংশোধন করার চেষ্টা করুন ।


3

আমি ক্রিস-জুনিয়রের সাথে একমত আপনি যদি আপনার অ্যাডমব বিজ্ঞাপনগুলি এম্বেড করতে ফায়ারবেস ব্যবহার করেন (বা আপনি নাও থাকেন) প্লে-পরিষেবা-বিশ্লেষণগুলিতে প্লে-পরিষেবাদি-বিজ্ঞাপনগুলি অন্তর্ভুক্ত রয়েছে যদিও আপনি এটিকে নির্ভরতা হিসাবে যোগ করেন নি। গুগল স্পষ্টতই তাদের ১১.৪.০ রোল আউটটিতে একটি ভুল করেছে কারণ বিশ্লেষণগুলি ১১.৪.০ নয়, সংস্করণের ১০.০.১ সংস্করণ অন্তর্ভুক্ত করছে (গ্রেডে ইঙ্গিতের উপরের মাউসটি এটি দেখায়)।

আমি ম্যানুয়ালি সংকলন 'com.google.android.gms: play-পরিষেবাদি-বিজ্ঞাপনগুলি: 11.4.0' শীর্ষে রেখেছি যা কাজ করেছে তবে কেবল তাত্ক্ষণিক চালানো অক্ষম করার পরে: http://stackoverflow.com/a/35169716/530047

সুতরাং এটি হয় 10.0.1 এ রিগ্রাস করুন বা বিজ্ঞাপনগুলি যুক্ত করুন এবং তাত্ক্ষণিক চালকে অক্ষম করুন। এটি যদি কিছু সাহায্য করে তবে আমি খুঁজে পেয়েছি।


ওপি কি প্লে পরিষেবাদির কথা উল্লেখ করেছে?
ইগোরগানাপলস্কি

অনুমোদিত উত্তরটি করেছে। এই পরিস্থিতিটি যদি সেই পরিস্থিতি ব্যতীত সারফেসিং হয় তবে আমি জানি না!
জোনাথন

2

আমি একই সমস্যার মুখোমুখি হয়েছি এবং আমার মামলার আসল কারণ খুঁজে পেয়েছি। পূর্বে, আমি পূর্ববর্তী সমস্ত উত্তরগুলি আবারও চেষ্টা করেছি, তবে এটি সমস্যার সমাধান করেনি। আমার পরিধানের অ্যাপ্লিকেশন প্রকল্পে আমার দুটি মডিউল রয়েছে এবং বিল্ড.gradle নীচে রয়েছে :

মডিউল এর build.gradle পরেন:

implementation project(':common')
implementation files('libs/farmer-motion-1.0.jar')

সাধারণ মডিউল এর বিল্ড।

implementation files('libs/farmer-motion-1.0.jar')

গ্রেড 3.x এ আপগ্রেড করার আগে 'বাস্তবায়ন' সবই 'সংকলন'।

আমি স্ট্যাক ট্রেস পেতে --stacktrace বিকল্পের সাথে গ্রেডলিউ চালাচ্ছি, এই সমস্যা দেখা দিলে আপনি কেবল গ্রেডল কনসোল উইন্ডোতে এটি ক্লিক করতে পারেন। এবং জার প্যাকেজের উপর নির্ভরতা পুনরাবৃত্তি করে:

Caused by: com.android.dex.DexException: Multiple dex files define Lcom/farmer/motion/common/data/pojo/SportSummary$2;

অফিসার মাইগ্রেশন গাইড পড়ার পরে কৃষক-গতি -১.০.জার প্যাকেজে ক্লাস স্পোর্টসুমারী আমি আমার বিল্ড অ্যাড্রেডলকে নীচে পরিবর্তন করেছি:

মডিউল এর build.gradle পরেন:

implementation project(':common')
// delete dependency implementation files('libs/farmer-motion-1.0.jar')

সাধারণ মডিউল 的 build.gradle:

api files('libs/farmer-motion-1.0.jar') // change implementation to api

এখন পরিধান মডিউলে সাধারণ মডিউল দ্বারা কৃষক-গতি -১.০.জার রফতানির নির্ভরতা থাকবে। রানটাইম চলাকালীন জার প্যাকেজের উপর যদি নির্ভরতা না থাকে তবে জার প্যাকেজের ' বাস্তবায়ন ' নির্ভরতাও 'সংকলন কেবল' পরিবর্তিত হতে পারে


2

আমারও সমস্যা ছিল।

আমি পরিবর্তন করে compileSdkVersionএবং targetSdkVersionসর্বশেষতম সংস্করণে সমাধান করতে সক্ষম হয়েছি ।


2

আমাদের প্রকল্পের জন্য, আমরা দুর্ঘটনাক্রমে পৃথক নামের সাথে দুটি বার একই বয়াম যুক্ত করেছি। তাদের মধ্যে একটি সরানো সমস্যার সমাধান করেছে।


এটি আমার সমস্যা সমাধান করেছে। আমি একটি অভ্যন্তরীণ অ্যান্ড্রয়েড লাইব্রেরি প্রকল্প তৈরি libsকরছিলাম এবং এর ফোল্ডারের নীচে আমার কাছে দুটি জার ফাইল ছিল, যার মধ্যে একটি হ'ল অন্যটির ব্যাকআপ তবে ভিন্ন ফাইল নাম সহ।
হোপিয়া

2

এটি আপনার সমস্যা নাও হতে পারে তবে আমি এই ত্রুটিটি পেয়েছিলাম যখন আমি ঘটনাক্রমে প্রকল্পের নির্ভরতা}} বিভাগে দুটি অভিন্ন (তবে আলাদা আলাদা নামযুক্ত) লাইব্রেরি অন্তর্ভুক্ত করি।


1

আমার জন্য এটি অ্যাপ্লিকেশন .g build.gradle- এ ফায়ারবেস মেসেজিং আপডেট করছে :

compile 'com.google.firebase:firebase-messaging:10.0.1'

প্রতি

compile 'com.google.firebase:firebase-messaging:11.4.2'

1

সম্ভাব্য মূল কারণগুলির মধ্যে একটি: ডুপ্লিকেট ক্ষণস্থায়ী নির্ভরতাগুলি যেগুলি মাল্টি-মডিউল প্রকল্পগুলির অ্যান্ড্রয়েড স্টুডিও আমদানির দ্বারা সঠিকভাবে পরিচালিত হয়নি। আপনার তালিকা পরীক্ষা করে সেগুলি সরিয়ে দিন। আমার জন্য, ফিক্সটি আক্ষরিকভাবে এটি ছিল:

--- a/project/module/build.gradle
+++ b/project/module/build.gradle
@@ -21,5 +21,4 @@ android {
 dependencies {
     implementation project(':upstream-dependency-project')
     implementation 'com.android.support:support-v4:18.0.0'
-    implementation files('libs/slf4j-android-1.6.1-RC1.jar')
 }

1

আমি আমার প্রকল্পের জন্য এই সমস্যার কারণ খুঁজে পাই। আমাকে বিল্ডড্র্যাডলে দুবার একটি নির্ভরতা যুক্ত করা হয়েছিল । এক সময় নির্ভরতা যুক্ত করে এবং একবার জারে নির্ভরতা যুক্ত করে:

সংকলন 'org.achartengine: achartengine: 1.2.0'
...
বাস্তবায়ন ফাইল ('../ achartengine-1.2.0.jar')

প্রথম লাইন সমস্যা সমাধানের পরে অপসারণ।


1

শীর্ষ উত্তরগুলি আপনার পক্ষে কাজ না করে এমন ক্ষেত্রে আপনার সমস্যাটি হতে পারে যে আপনার একাধিক নির্ভরতা একই লাইব্রেরির উপর নির্ভরশীল।

এখানে কিছু ডিবাগ টিপস। এই নমুনা com.google.code.findbugs:jsr305:3.0.0কোডটিতে আপত্তিজনক লাইব্রেরি।

আপনার সমাধানটি যাচাই করার জন্য প্রতিবার পরিমার্জন করুন এবং সর্বদা পরিষ্কার করুন!

  1. আরও বিশদের --stacktraceজন্য পতাকাটি দিয়ে তৈরি করুন। এটি ক্লাস সম্পর্কে অভিযোগ করবে, গুগল যে ক্লাসটিটি পাঠাগারটি সন্ধান করবে। পতাকা সহ সর্বদা গ্রেডল চালাতে আপনি কীভাবে অ্যান্ড্রয়েড স্টুডিও সেট আপ করতে পারেন তা এখানে--stacktrace

  2. View > Tool Windows > Gradle Consoleকোনও বিল্ডের পরে অ্যান্ড্রয়েড স্টুডিওতে গ্রেডল কনসোলটি একবার দেখুন

  3. দৌড়ে পুনরাবৃত্তি নির্ভরতা পরীক্ষা করুন ./gradlew -q app:dependencies। প্রতিবার আপনি আপনার বিল্ড.gradle সংশোধন করে এটিকে আবার চালাতে পারেন।

  4. বিল্ড.gradle এ,

    android {
            ...
            configurations.all {
                resolutionStrategy {
                    // Force a particular version of the library 
                    // across all dependencies that have that dependency
                    force 'com.google.code.findbugs:jsr305:3.0.0'
                }
            }
    }
  5. বিল্ড.gradle এ,

    dependencies {
        ...
        implementation('com.google.auth:google-auth-library-oauth2-http:0.6.0') {
            // Exclude the library for this particular import
            exclude group: 'com.google.code.findbugs'
        }
    }
  6. বিল্ড.gradle এ,

    android {
        ...
        configurations.all {
            resolutionStrategy {
                // Completely exclude the library. Works for transitive
                // dependencies.
                exclude group: 'com.google.code.findbugs'
            }
        }
    }
  7. যদি আপনার কিছু নির্ভরতা জার ফাইলগুলিতে থাকে তবে জার ফাইলগুলি খুলুন এবং দেখুন যে কোনও বিরোধী শ্রেণীর নাম রয়েছে। যদি তা হয় তবে আপনাকে সম্ভবত নতুন বর্গের নামগুলি দিয়ে জারগুলি পুনরায় তৈরি করতে হবে বা শেডিংয়ের দিকে তাকাতে হবে ।

আরও কিছু পটভূমি পঠন:


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

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

2
আপনি বিস্তারিত বলতে পারেন?
স্যাজি 7

আমারও একই সমস্যা ছিল তবে আমি বুঝতে পেরেছিলাম যে এই মুহুর্তে আমার সমস্যাটি সমাধান করুন তবে ভবিষ্যতের আপডেটগুলিতে জিনিসগুলি আসলে পরিবর্তিত হতে পারে।
ইবেন ওয়াটস

1

আমার ক্ষেত্রে একটি লাইব্রেরি এই সমস্যাটি তৈরি করে, গ্রন্থাগারটি সফলভাবে প্রকল্পে যুক্ত হয়েছিল তবে আমি যখন আমার অ্যাপ্লিকেশন চালনা করি তখন এটি আমাকে এই ত্রুটিটি দেখায়। সুতরাং আপনার যদি এটিও হয়, আপনি গিথুব এ গিয়ে সমস্যাগুলি পরীক্ষা করতে বা নতুন সমস্যা উত্থাপন করতে পারেন। আপনি যদি লাইব্রেরি সম্পর্কিত কোনও সমাধান না পান তবে আমি আপনাকে এটি প্রতিস্থাপনের পরামর্শ দিচ্ছি।

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