জাভা শূন্য-বহির্গমন প্রস্থান 2 - অ্যান্ড্রয়েড গ্রেডল দিয়ে শেষ হয়েছে


135

আমার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটি কার্যকর করতে আমি এই ত্রুটিটি পাচ্ছি (আমি এটিকে পরিষ্কার করে এটিকে তৈরি করেছি তবে ত্রুটিটি এখনও উপস্থিত রয়েছে)

  • সিঙ্ক: ঠিক আছে
  • প্রকল্প করুন: ঠিক আছে
  • পরিষ্কার: ঠিক আছে
  • চালান: ত্রুটি

ত্রুটি: কার্যের জন্য সম্পাদন ব্যর্থ ': অ্যাপ: ডেক্সডেবাগ' .com.android.ide.common.process.ProcessException: org.gradle.process.intern.ExecException: প্রক্রিয়া 'কমান্ড' সি: \ প্রোগ্রাম ফাইলসমূহ জাভা \ jdk1.7.0 _25 \ bin \ java.exe '' শূন্য-বহির্গমন প্রস্থান 2 দিয়ে সমাপ্ত

আমার গ্রেড ফাইল:

apply plugin: 'com.android.application'

android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
    applicationId "com.rzr.rzevallosr.miappdepruebas"
    minSdkVersion 19
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

productFlavors {
}

repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])

// This library handles authentication and authorization
compile 'com.spotify.sdk:spotify-auth:1.0.0-beta9@aar'
// This library handles music playback
compile 'com.spotify.sdk:spotify-player:1.0.0-beta9@aar'

compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:recyclerview-v7:21.0.+'

compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
compile 'com.squareup.okhttp:okhttp:2.2.0'

compile files('libs/spotify-web-api-android-master-0.1.0.jar')
compile files('libs/okio-1.3.0.jar')
}

সম্পাদনা: আমি "ফাইল সঙ্কলন ফাইলটি দেখতে পেলাম না (dir: 'libs', অন্তর্ভুক্ত করুন: ['* .জার'])" "এটি আমার গ্রন্থাগারের দ্বিগুণ ছিল, তাই আমি কেবল মন্তব্য করছি:

//compile 'com.squareup.retrofit:retrofit:1.9.0'
//compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
//compile 'com.squareup.okhttp:okhttp:2.2.0'

//compile files('libs/spotify-web-api-android-master-0.1.0.jar')
//compile files('libs/okio-1.3.0.jar')

এবং এটা ঠিক কাজ করে।


2
@ জ্যারেডবুরোস আমার ক্ষেত্রে বিষয়টি হ'ল আমার অ্যাপ্লিকেশনটি দু'বার গ্রন্থাগারগুলি সংকলন করছে .. একটি "ফাইল সঙ্কলন ফাইলটি" (আপনার সমস্ত লিব ডিরেক্টরিকে সংকলন করে) এবং "সংকলন ****" করে was
ম্যাভারিক.প্রে

আপনি দয়া করে একটি উত্তর পোস্ট করতে পারেন এবং এটি সঠিক চিহ্নিত করতে পারেন?
জ্যারেড বুরোস 21

পছন্দ করেছেন ধন্যবাদ
ম্যাভেরিক.পি

দয়া করে এখানে আমার পোস্ট দেখুন stackoverflow.com/a/33387368/740372
সানজয় সাহা

আমি একই ত্রুটি করছি কিন্তু আমার গ্রেড ফাইলটিতে এতগুলি সংকলন নেই। সাহায্য করুন. আমি এই প্রশ্নটি পোস্ট করেছি: স্ট্যাকওভারফ্লো / প্রশ্ন / 3৪৫৫৮২৫১/২ অ্যান্ড্রয়েড বিকাশে আমি সম্পূর্ণ নতুন।
আয়ুশ

উত্তর:


205

অ্যান্ড্রয়েড দ্বারা আরোপিত 65 কে পদ্ধতির ডেক্স সীমা অতিক্রম করার কারণে এই সমস্যাটি সম্ভবত সম্ভবত। এই প্রকল্পটি হয় প্রকল্পটি পরিষ্কার করে, এবং বিল্ড.gradle এর নির্ভরতা থেকে কিছু অব্যবহৃত লাইব্রেরি এবং পদ্ধতিগুলি মুছে ফেলা বা মাল্টিডেক্স সমর্থন যুক্ত করে সমাধান করা যেতে পারে।

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

defaultConfig {        
    // Enabling multidex support.
    multiDexEnabled true
}

আপনি এখানে 65K এরও বেশি পদ্ধতির সাথে মাল্টিডেক্স সমর্থন এবং অ্যাপ্লিকেশন বিকাশ সম্পর্কে আরও পড়তে পারেন ।


খুশি যে, এটি আপনাকে সাহায্য করেছিল। @ ডেভিড
মিনহাজুর

2
আপনাকে অনেক ধন্যবাদ যে এটি আমাকে সাহায্য করেছে
আয়ুশি

4
এবং তারপরে স্টার্টআপ ক্লাসে পদ্ধতিটি ওভাররাইড করুন: @ ওভাররাইড সুরক্ষিত শূন্যস্থানযুক্ত অ্যাটেজব্যাসকন্টেক্সট (কনটেক্সট বেস) {সুপার.অ্যাটাকবেস কনটেক্সট (বেস); MultiDex.install (এই); }
বীরানী জেন্ট

বাহ, এটি দুর্দান্ত কাজ করে। কখনও ভাবিনি যে এই সমস্যা হতে পারে।
নীলা

আপনি যদি দেখতে চান যে ঠিক কী কারণে ত্রুটি ঘটছে, তবে গ্রেডেল টার্মিনালের মাধ্যমে আপনার প্রকল্পটি তৈরির চেষ্টা করুন ./gradlew assembleDebug --stacktrace --debug। আমি আমার ক্ষেত্রে এই ত্রুটিটি দেখেছিcom.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
NecipAllef

93

আমার জন্য সমস্যাটি ছিল, আমি বিল্ড.gradle এ একটি অপ্রয়োজনীয় কমপ্লায়ারি লাইব্রেরি কোডটি রেখেছি

dependencies {
    compile 'com.google.android.gms:play-services:7.5.0'
}

যা 65k এরও বেশি পদ্ধতির সৃষ্টি করছিল, তাই এটি সরিয়ে ফেলুন, গ্রেডল সিঙ্ক, প্রজেক্টটি পরিষ্কার করে, এবং আবার দৌড়ে গেল এবং তারপরে এই ত্রুটি বন্ধ হয়ে গেল। আমার কেবল মানচিত্র এবং জিসিএম প্রয়োজন ছিল তাই আমি এই লাইনগুলি রেখেছি এবং প্রকল্পটি সিঙ্ক করেছি

compile 'com.google.android.gms:play-services-gcm:7.5.0'
compile 'com.google.android.gms:play-services-location:7.5.0'

হাই লোকেরা আমি আবার এই সমস্যার মুখোমুখি হয়েছি এবং এবার এটি বিল্ড সরঞ্জামগুলির সংস্করণ পরিবর্তনের কারণেই হয়েছিল এবং এটিতে আমাকে মাল্টিডেক্স সক্ষম করার প্রয়োজন হয়েছিল..সেই আমি এইগুলিকে আমার অ্যাপ্লিকেশনটির বিল্ড.gradle ফাইল যুক্ত করেছি ..

defaultConfig {
    applicationId "com.am.android"
    minSdkVersion 13
    targetSdkVersion 23
    // Enabling multidex support.
    multiDexEnabled true
}

dexOptions {
    incremental true
    javaMaxHeapSize "2048M"
    jumboMode = true
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:multidex:1.0.1'
}

এবং এমন ক্লাস তৈরি করুন যা অ্যাপ্লিকেশন ক্লাস প্রসারিত করবে এবং এই পদ্ধতিটি শ্রেণীর অভ্যন্তরে অন্তর্ভুক্ত করবে ..

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

অনক্রিয়াট পদ্ধতিতেও অন্তর্ভুক্ত

@Override
public void onCreate() {
    MultiDex.install(this);
    super.onCreate();
}

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

2
আমার জন্য কাজ কর!! "সংকলন 'com.google.android.gms: play-পরিষেবাদি: 7.5.0'" সংকলন করতে "com.google.android.gms: play-পরিষেবাদি-পরিচয়: 8.1.0" সংকলন করুন "com.google.android। জিএমএস: প্লে-সার্ভিস-প্লাস: 8.1.0 "
অস্কার ক্যাল্ডারন

1
দুর্দান্ত একটি, এও উল্লেখ করুন: developers.google.com/android/guides/setup - বিভিন্ন স্বতন্ত্র গ্রন্থাগারের একটি তালিকা সরবরাহ করুন।
এড ম্যানার্স

@ edsappfactory.com আমি উল্লেখ করেছি, ব্যবহৃত এবং পরিবর্তিত।
অমিত টুমকুর

32

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

ত্রুটি: কার্য ': app: dexDebug' এর জন্য কার্যকর করা ব্যর্থ। > com.android.ide.common.process.ProcessException: org.gradle.process.intern.ExecException: প্রক্রিয়া 'কমান্ড' সি: \ প্রোগ্রাম ফাইল \ জাভা \ jdkx.x.x_xx \ বিন \ java.exe '' সমাপ্ত অ-শূন্য প্রস্থান মূল্য 2

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

  1. আপনার একই লাইব্রেরি বা জার ফাইলটিতে বেশ কয়েকটি জায়গা এবং এর কয়েকটি একে অপরের সাথে বিরোধপূর্ণ রয়েছে।
  2. আপনি 65k পদ্ধতির সীমাটি ইতিমধ্যে বা অতিক্রম করেছেন

প্রথম কেসটি নিম্নরূপে স্থির করা যেতে পারে: আপনি কোন একাধিকবার অন্তর্ভুক্ত করেছেন তা নির্ভর করুন। অ্যান্ড্রয়েড স্টুডিও টার্মিনালে এই নিম্নলিখিত কমান্ডটি চালানোর জন্য

gradlew -q dependencies yourProjectName_usually_app:dependencies --configuration compile

এটি সমস্ত নির্ভরতা ফিরিয়ে দেবে তবে জার ফাইলগুলি যেগুলি আপনি লাইব ফোল্ডারে অন্তর্ভুক্ত করেছেন তারা নক্ষত্র (*) দিয়ে চিহ্নিত নকল থেকে মুক্তি পাওয়ার চেষ্টা করে, এটি সবসময় সম্ভব হয় না তবে কিছু ক্ষেত্রে আপনি এখনও এটি করতে পারেন, মডিউলগুলি বাদ দেওয়ার চেষ্টা করার পরে যা অনেক সময় অন্তর্ভুক্ত করা হয়, আপনি এটি এটি করতে পারেন

compile ('com.facebook.android:facebook-android-sdk:4.0.1'){
    exclude module: 'support-v4'
}

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

defaultConfig {
   ...
   ...
   multiDexEnabled true
}

এটি পদ্ধতির সীমা বাড়ায় তবে সম্ভাব্য পারফরম্যান্স সমস্যার কারণে এটি করা সবচেয়ে ভাল কাজ নয় গুরুত্বপূর্ণ অ্যান্ড্রয়েড চলমান সমস্ত ডিভাইসে কেবলমাত্র যুক্ত multiDexEnabled trueকরা defaultConfigযথেষ্ট নয় <5 ললিপপ এটি অপ্রত্যাশিত আচরণে এবং এর ফলে ঘটবে NoClassDefFoundError। এটি কীভাবে সমাধান করা যায় তা এখানে বর্ণিত হয়েছে


18

আমি জানতাম না ( ততক্ষণে ) যে "ফাইলটি সংকলন করুন (dir: 'libs', অন্তর্ভুক্ত করুন: ['* .জার'])" libs ফোল্ডারে জার এক্সটেনশন রয়েছে এমন সমস্তগুলি সংকলন করুন, তাই আমি এটি সম্পর্কে মন্তব্য (বা মুছুন) লাইন:

//compile 'com.squareup.retrofit:retrofit:1.9.0'
//compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
//compile 'com.squareup.okhttp:okhttp:2.2.0'

//compile files('libs/spotify-web-api-android-master-0.1.0.jar')
//compile files('libs/okio-1.3.0.jar')

এবং এটা ঠিক কাজ করে। যাই হোক ধন্যবাদ! আমার খারাপ।


5
বা অন্য উপায়ে: compile fileTree(dir: 'libs', include: ['*.jar'])গ্রেডে মন্তব্য করুন । এটা আমাকে সাহায্য করেছে।
টমাসজ মুলারসিজেক

এই সমস্যা সম্পর্কে অন্য কোন সমাধান আছে? আমি প্রতিটি জার ফাইল সংকলন করি নি তবে কেবল এই লাইনটি ব্যবহার করেছি compile fileTree(dir: 'libs', include: ['*.jar'])তবে এটি এখনও একই ত্রুটি দেখায়।
কায়রি সান

9

আমার একই সমস্যা ছিল এবং আমি অপ্রয়োজনীয় লাইব্রেরিটি সরিয়ে ফিক্স করেছি

compile fileTree(dir: 'libs', include: ['*.jar'])

আমি সেই লাইব্রেরিটি সরিয়েছি এবং আমি কোনও সমস্যা ছাড়াই প্রকল্পটি চালাতে পারি।


আমি স্লাইডিংমেনু ক্লাস যুক্ত করার চেষ্টা করছিলাম এবং এটি আমার প্রধান গ্রেড থেকে সরানো আমার পক্ষে কাজ করেছিল। ধন্যবাদ! :)
লুকাস সেনেচাল

6

আমার ডিবাগ বিল্ডগুলির জন্য মাল্টিডেক্স সক্ষম করে সমাধান হয়েছে।

defaultConfig {
multiDexEnabled true
}

6

আমি এম্বেডড জেডিকে প্রত্যাখ্যান করি (32 বিট এ) কারণ এম্বেড করা জেডিকে 64 বিট

আপনার প্রকল্পের ডান ক্লিক করুন -> মডিউল সেটিংটি খুলুন -> এসডিকে অবস্থান -> আনচেক এম্বেড করা জেডিকে ব্যবহার করুন তারপরে আপনার জেডিকে পাথটি সেট করুন, যেমন উবুন্টু / ইউএসআর / লিব / জেভিএম / জাভা -8-ওপেনজ্যাডক-আই 386


1
আমি মনে করি এটি কাজ করে কারণ এম্বেড করা জেডিকে 64 বিট। আমার 32 বিট মেশিনে আমার একই সমস্যা ছিল।
লুকাশ নোভাক

এটি আমার 32-বিট মেশিনে সমস্যাটি স্থির করেছে। echo $JAVA_HOMEপথটির জন্য
সানবিআই নমুনাগুলি

হ্যাঁ, আমি জানতাম এটি আমার মেশিনটি 32-বিট হওয়ার সাথে সম্পর্কযুক্ত। ধন্যবাদ, জাকারিয়া - আমার দিনটি বাঁচাল!
ইলনপিলাজা

5

সম্ভাব্য সমস্যা: আপনি ডেক্স 65 কে পদ্ধতির সীমা অতিক্রম করেছেন, সমস্যা দেখা দেওয়ার আগে আপনি কি কিছু লাইব্রেরি বা বেশ কয়েকটি পদ্ধতি যুক্ত করতে পারেন?


1
বেশ কয়েকটি নয় .. কেবল কয়েকটি পদ্ধতি।
ম্যাভেরিক.পে

এইচএম, প্রকল্পের পূর্ববর্তী সংস্করণটি তৈরি করার চেষ্টা করুন বা সম্ভব হলে অব্যবহৃত লাইব্রেরি (আইএস) সরিয়ে পুনর্নির্মাণ করুন
আর্টেম জিনাতুল্লিন

আমারও কয়েকটি পদ্ধতি রয়েছে
বোলম্যান হ্যান

3

আপনি যদি ইতিমধ্যে আপনার এসডিকে আপডেট করে থাকেন এবং আপনি গুগল-প্লে-পরিষেবাগুলিও ব্যবহার করে থাকেন তবে আপনার নির্ভরতার যত্ন নেওয়া দরকার কারণ এর সাথে কিছু ধরণের দ্বন্দ্ব রয়েছে:

নীচে অনুসরণ করুন: 'com.google.android.gms: play-পরিষেবাদিগুলি সংকলন করুন: +' কমপ্লায়ার দ্বারা প্রতিস্থাপন করুন 'com.google.android.gms: play-পরিষেবাদি: 6.5.87'

দ্রষ্টব্য: এখানে '6.5.87' হ'ল গুগল প্লে-পরিষেবা সংস্করণ। আমি আশা করি এটি সাহায্য করবে ..


2

আমি মনে করি এটি আপনার প্রকল্পে .jar ফাইলের দ্বন্দ্ব।

আমি লিন্ড ফোল্ডার এবং এর কাজ থেকে অ্যান্ড্রয়েড-সমর্থন-ভি 4.জার সরিয়ে ফেলেছি !!!

যদি আপনার প্রকল্প ত্রুটি দেয় তবে আপনার বিল্ড.gradle ফাইলটি পরীক্ষা করে দেখুন

নির্ভরতা {

}


2

আমার ক্ষেত্রে সমস্যাটি হ'ল আমি যে নতুন লাইব্রেরি (গ্রেড নির্ভরতা) যুক্ত করেছি তা অন্য কিছু নির্ভরতার উপর নির্ভর করে এবং অন্তর্নিহিত নির্ভরতাগুলির মধ্যে দুটি আমার বিল্ড স্ক্রিপ্টের অন্যান্য লাইব্রেরি / নির্ভরতার কিছু নির্ভরতার সাথে দ্বন্দ্ব / সংঘাতপূর্ণ ছিল। বিশেষত, আমি অ্যাপাচি কমন্স যুক্ত করেছি Validator(ইমেল বৈধকরণের জন্য), এবং এর দুটি নির্ভরতা (অ্যাপাচি কমন্স Loggingএবং অ্যাপাচি কমন্স Collections) রোব ইলেক্ট্রিক দ্বারা ব্যবহৃতগুলির সাথে বিরোধী ছিল (কারণ একই গ্রন্থাগারের বিভিন্ন সংস্করণ আমার বিল্ড পাথে উপস্থিত ছিল)। সুতরাং modulesনতুন নির্ভরতা (দ্য Validator) যুক্ত করার সময় আমি নির্ভরশীলতার এই বিরোধী সংস্করণগুলি বাদ দিয়েছি ( ):

compile ('commons-validator:commons-validator:1.4.1') {
    exclude module: 'commons-logging'
    exclude module: 'commons-collections'
}

আপনি নীচের গ্রেড কমান্ডটি ব্যবহার করে আপনার গ্রেড মডিউল (গুলি) (আপনার প্রকল্পে কেবল একটি মডিউল থাকতে পারে) এর নির্ভরতা দেখতে পাচ্ছেন (যদি আপনি অ্যান্ড্রয়েড স্টুডিও / ইন্টেলিজে আপনার প্রকল্প তৈরি করে থাকেন তবে আমি আপনার জন্য তৈরি করা গ্রেডেল র‍্যাপারটি ব্যবহার করি) ধারণা). আপনার প্রকল্পের মূল ডিরেক্টরিতে এই কমান্ডটি চালান:

./ গ্রেডলে: আপনার মডেল-নাম: নির্ভরতা

এই excludeনির্দেশাবলী যুক্ত করার পরে এবং চালানোর জন্য পুনরায় চেষ্টা করার পরে , আমি এর জন্য একটি duplicate fileত্রুটি পেয়েছি NOTICE.txtলগিং এবং সংগ্রহের মতো কিছু অ্যাপাচি কমন্স লাইব্রেরি দ্বারা ব্যবহৃত হয়। প্যাকেজিংয়ের সময় আমাকে সেই পাঠ্য ফাইলটি বাদ দিতে হয়েছিল। আমার বিল্ড.gradle এ, আমি যুক্ত করেছি:

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

দেখা গেল যে নতুন লাইব্রেরি (দ্য Validator) এর নির্ভরতা / মডিউলগুলির সামান্য পুরানো সংস্করণগুলির সাথে কাজ করতে পারে (যা ইতিমধ্যে অন্য লাইব্রেরির (রোব ইলেক্ট্রিক)) দ্বারা আমার বিল্ড পাথে আমদানি করা হয়েছে। এই নির্দিষ্ট লাইব্রেরির ক্ষেত্রে এটিই ছিল, তবে অন্যান্য গ্রন্থাগারগুলি অন্তর্নিহিত নির্ভরতাগুলির সর্বশেষতম এপিআই ব্যবহার করছে (এক্ষেত্রে আপনি যদি বিরোধী মডিউল / নির্ভরতার উপর নির্ভর করে এমন অন্যান্য লাইব্রেরিগুলি কাজ করতে সক্ষম হয় কিনা তা দেখার চেষ্টা করতে হবে) নতুন সংস্করণ (libra লাইব্রেরির এন্ট্রিগুলির অধীনে মডিউল / নির্ভরশীলের পুরানো সংস্করণ বাদ দিয়ে)।


1

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


1

দুটি বিকল্প রয়েছে যা নিশ্চিত হয়ে কাজ করবে:

  1. আপনার প্রকল্পটি পরিষ্কার করুন এবং তারপরে তৈরি করুন।

উপরের পদ্ধতিটি যদি কাজ না করে, তবে পরবর্তী চেষ্টা করুন।

  1. অ্যাপ স্তরে build.gradle ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করুন

    defaultConfig {   
    
    multiDexEnabled true
    
    }

আমি উভয় চেষ্টা করেছিলাম, তবে আমার একটি নতুন ত্রুটি হয়েছে Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry: android/support/v4/view/MotionEventCompatEclair.class, এর পরে আমার কী করা উচিত?
কায়রি সান


আপনার প্রকল্পে সদৃশ / একই প্যাকেজগুলির কারণে এই ত্রুটিটি ঘটছে
উদিত কাপাহী

1

আমার জাভা এসডিকে সর্বশেষতম সংস্করণে 1.7.0_79আপডেট করা এবং আমার জন্য সমস্যার সমাধানের SDK Locationআওতায় আপডেট Project Structureকরা।


1

আমার সমস্যা ছিল না হওয়া ছাড়াও

com.android.build.api.transform.TransforException: com.android.ide.common.process.ProcessException: org.gradle.process.intern.ExecException: প্রক্রিয়া 'কমান্ড' / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / জেডকি 1. এক্স.এক্স_এক্সএক্স .jdk / সূচি / হোম / বিন / জাভা '' শূন্য-বহির্গমন প্রস্থান 2 দিয়ে সমাপ্ত

আমারও এই ট্রেসটি ছিল:

অনাবৃত অনুবাদ ত্রুটি: java.lang.IllegalArgumentException: ইতিমধ্যে যুক্ত হয়েছে: এলকম / মাইপ্যাকেজ / ক্লাসএক্স;

সমস্যাটি হ'ল আমি দুটি ভিন্ন লাইব্রেরিতে একই ক্লাস যুক্ত করছি। একটি লাইব্রেরি থেকে শ্রেণি / জার ফাইল সরানো, প্রকল্পটি সঠিকভাবে চলমান run


হুবহু, আমি একই সমস্যা পেয়েছি, একই শ্রেণীর স্বাক্ষর, ভাগ্যক্রমে এটি আমার ক্লাস ছিল তাই আমি এটি পুনরায় প্রচার করেছি। : আমি এখানে উত্তর লিখেছে stackoverflow.com/a/35045501/3397345
Davideas

1

আমার জন্য আমি পুরো প্লেস্টোর নির্ভরতা যুক্ত করছিলাম

সংকলন 'com.google.android.gms: প্লে-পরিষেবা: 8.4.0'

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

সংকলন 'com.google.android.gms: play-পরিষেবাদি-মানচিত্র: 8.4.0'


0

আমার ক্ষেত্রে সমস্যাটি বিল্ড সরঞ্জামগুলির সংস্করণ ছিল যা ২৩.০.০ আরসি ৩ ছিল এবং আমি পরিবর্তিত হয়ে ২২.০.১ এ পরিণত হয়েছি এবং আমার সমস্যা স্থির হয়েছে।


0

আপনার ডিভাইসটিকে পিসির সাথে সংযোগ করতে আপনি একটি নিম্ন মানের কেবল / ত্রুটিযুক্ত কেবলটি ব্যবহার করছেন, আমি কেবলটি প্রতিস্থাপন করেছি এবং এটি আমার পক্ষে কাজ করেছে।


0

এই ত্রুটিটি বেশি সংখ্যক লাইব্রেরি.ইন.কে আমার কেস 'সংকলন' com.google.android.gms: play-Services-9.4.0 'ব্যবহার করার কারণে হয়েছে this এই ত্রুটিটি এড়াতে প্রয়োজনীয় লাইব্রেরি ব্যবহার করুন for উদাহরণস্বরূপ যদি আপনি চান আপনার অ্যাপ্লিকেশানে মানচিত্র ব্যবহার করতে পারেন.তখন 'com.google.android.gms: play-পরিষেবাদি-মানচিত্র: 9.4.0' সংকলন ব্যবহার করুন.এদিকে গুগল প্লে পরিষেবা নির্ভরতা যুক্ত করে কেবল প্রয়োজনীয় লাইব্রেরি নির্দিষ্ট করে by ডিফল্টরূপে এতে সমস্ত লাইব্রেরি অন্তর্ভুক্ত থাকে।


0

আপনার gradle.buildফাইলে এটি ব্যবহার করুন

"compile fileTree(dir: 'libs', include: ['*.jar'])"

এবং এটি সূক্ষ্ম কাজ করে।


0

আপনি যদি দেখতে চান যে ঠিক কী কারণে ত্রুটি ঘটছে, তবে গ্রেডেল টার্মিনালের মাধ্যমে আপনার প্রকল্পটি তৈরির চেষ্টা করুন ./gradlew assembleDebug --stacktrace --debug। আমি আমার ক্ষেত্রে নিম্নলিখিত ত্রুটিটি দেখেছিcom.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

আমি যখন আমার প্রকল্পে গুগল ম্যাপগুলি প্রবেশ করার চেষ্টা করছিলাম তখন এটি ঘটেছিল। এটি ঠিক করার জন্য, আমি কেবলমাত্র আমি অন্তর্ভুক্ত গ্রন্থাগারগুলি পরীক্ষা করেছিলাম

compile 'com.google.android.gms:play-services:9.8.0'

আমি কেবল এটিকে পরিবর্তন করেছি

compile 'com.google.android.gms:play-services-maps:9.8.0'

এবং সমস্যা শেষ হয়ে গেছে


0

আমার প্রকল্পে রূপান্তর করার পরে আমার একই ত্রুটি হয়েছিল Kotlin। আমার সমস্যাটি ছিল যে প্রক্রিয়া চলাকালীন আমার জের অবস্থানটি একটি অবৈধ পথে পরিবর্তিত হয়েছিল (আমি ভাবছি কেন এটি ঘটতে পারে ... আমাকে সময় নষ্ট করে দিয়েছে)। এটি করে এটি স্থির করে:

File > Project Structure > SDK Location 

Use embedded JDKঅপশনটি যাচাই করা হয়েছে , যা একটি পুরানো জেডিকে ইনস্টলেশনকে নির্দেশ করছে এবং সঠিকটিটি নির্বাচন করেছে:

/home/my_user/jdk1.8.0_101

এটি পরিবর্তন করার পরে, ত্রুটিটি অদৃশ্য হয়ে গেল


0

আমার জন্য কাজ করেছেন :)

আমি জাভাটি সর্বশেষ সংস্করণ 8 এ উন্নত করেছিলাম এটি আগে 7 ছিল এবং তারপরে প্রজ Ect- র ডান ক্লিকে ওপেন মডিউল সেটিংয়ে যান এবং jdk পাথটি / usr / lib / jvm / java-8- ওরাকলে পরিবর্তন করে নতুন জাভা 8 ইনস্টল করা হয়েছে। এবং স্টুডিও পুনরায় চালু করুন

জাভা 8 ফোল্ডারের নামের জন্য / usr / lib / jvm চেক ইন করুন

আমি উবুন্টু ব্যবহার করছিএখানে চিত্র বর্ণনা লিখুন

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