ত্রুটি: একটি একক ডেক্স ফাইলে অনুরোধ করা ক্লাসগুলি ফিট করতে পারে না a একটি মূল-ডেক্স তালিকা সরবরাহ করার চেষ্টা করুন। # পদ্ধতি: 72477> 65536


309

আমি সংযুক্ত লোকেশন পরিষেবা যুক্ত করতে চাই তবে এটি আমাকে কিছু ত্রুটি দেখায়। আমাকে সাহায্য কর.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "27.0.1"
    defaultConfig {
        applicationId "com.example.adil.bloodbankapplication"
        minSdkVersion 15
        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(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:26.1.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.google.firebase:firebase-auth:11.8.0'
    compile 'com.google.firebase:firebase-database:11.8.0'
    compile 'com.android.support:support-v4:26.1.0'
    compile 'junit:junit:4.12'
    compile 'com.android.support:design:26.1.0'
    compile 'com.github.joielechong:countrycodepicker:2.1.5'
    compile 'com.jaredrummler:material-spinner:1.2.4'
    compile 'hanks.xyz:htextview-library:0.1.5'
    compile 'com.firebaseui:firebase-ui-database:1.2.0'
    compile 'com.google.android.gms:play-services:11.8.0'
}


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

উত্তর:


384

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

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

এর পরে, অ্যাপ্লিকেশন গ্রেডেলের ডিফল্ট কনফিগ এ যুক্ত করুন:

multiDexEnabled true

আপনার অ্যাপ্লিকেশনটি মাল্টিডেক্স ধরণের হতে হবে .. আপনাকে অবশ্যই ম্যানিফেস্টে লিখতে হবে:

android:name=".MyApplication"

"মাই অ্যাপ্লিকেশন" অবশ্যই মাল্টিডেক্স ক্লাস হতে হবে, বা এটি অবশ্যই প্রসারিত করতে হবে।


5
তাহলে MyApplication extends android.support.multidex.MultiDexApplication?
নিষিদ্ধ-জিওঞ্জিনিয়ারিং

2
আমি এই সমাধানটি চেষ্টা করেছি, তবে আমি এই নতুন সমস্যার সাথে শেষ করছি: stackoverflow.com/questions/49518115/…
নিষিদ্ধ-জিওঞ্জিনিয়ারিং

22
এটি কেন হয় এবং কীভাবে আরও ভাল রিলিজ-সংস্করণ
এপিপি

2
সমস্যা সমাধানের জন্য এটি কোনও ভাল পদ্ধতি নয়, অব্যবহৃত কোড এবং গ্রন্থাগারগুলি অপসারণ করা ভাল, আপনার প্রকল্পের কোডটি রিফ্যাক্ট করুন
ব্যবহারকারী 25

5
80000 পদ্ধতি না থাকা একটি দুর্দান্ত সমাধান হতে পারে যদি গুগলস লাইব্রেরিতে 80000 পদ্ধতি না থাকে (তারা মাল্টিডেক্স যুক্ত করার পুরো কারণটি ছিল কারণ তাদের নিজস্ব পরিষেবা লাইব্রেরি তারা চেয়েছিলেন যে প্রত্যেকে ব্যবহার করতে পারে কয়েক হাজার পদ্ধতিতে)।
লাসি কিনুনেন

194

আমি নীচের সমাধানের সাথে আমার সমস্যাটি সমাধান করেছি:

গ্রেডল বিল্ড ফাইলটিতে নির্ভরতা যুক্ত করুন:

বাস্তবায়ন 'com.android.support:multdexmitted.0.0'

এবং তারপরে "ডিফল্টকনফিগ" বিভাগে যুক্ত করুন:

মাল্টিডেক্সএনেবলড ট্রু


8
আমার জন্য কাজ করেছেন। এখানে কনফিগারেশন সম্পর্কিত বিশদ নির্দেশাবলী: developer.android.com/studio/build/m
Multidedex#mdex-gradle

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

আমি এটি একইভাবে সমাধান করেছি
ডিয়েগো ফারিয়াস

106

আপনার অ্যাপ্লিকেশন বা মডিউল এর পরিবর্তন করুন build.gradle

android {
    defaultConfig {
        ...
        minSdkVersion 21 <----- *here
        targetSdkVersion 26
        multiDexEnabled true <------ *here
    }
    ...
}

সরকারী ডকুমেন্টেশন অনুযায়ী

অ্যান্ড্রয়েড 5.0 এবং উচ্চতরর জন্য মাল্টিডেক্স সমর্থন

অ্যান্ড্রয়েড 5.0 (এপিআই স্তর 21) এবং উচ্চতরটি এআরটি নামে একটি রানটাইম ব্যবহার করে যা এপিএইচ ফাইলগুলি থেকে একাধিক ডেক্স ফাইল লোড করার পক্ষে সমর্থন করে। এআরটি অ্যাপ্লিকেশন ইনস্টল করার সময় প্রাক-সংকলন সম্পাদন করে যা ক্লাসএন.ডেক্স ফাইলগুলির জন্য স্ক্যান করে এবং অ্যান্ড্রয়েড ডিভাইস দ্বারা কার্যকর করার জন্য একটি একক .oat ফাইলে সংকলন করে। অতএব, যদি আপনার minSdkVersion 21 বা তার বেশি হয় তবে আপনার মাল্টিডেক্স সমর্থন লাইব্রেরি লাগবে না।

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

https://developer.android.com/studio/build/multidex


59

ডেক্স ফাইলগুলি কী: অ্যান্ড্রয়েড অ্যাপ (এপিপি) ফাইলগুলিতে ডালভিক এক্সিকিউটেবল (ডেক্স) ফাইল আকারে এক্সিকিউটেবল বাইটকোড ফাইল থাকে যা আপনার অ্যাপ্লিকেশন চালানোর জন্য ব্যবহৃত সংকলিত কোড ধারণ করে।

এই ব্যতিক্রমের কারণ: ডেক্স স্পেসিফিকেশন আপনার নিজের কোডে অ্যান্ড্রয়েড ফ্রেমওয়ার্ক পদ্ধতি, গ্রন্থাগার পদ্ধতি এবং পদ্ধতিগুলি সহ একটি একক ডিএক্স ফাইলের মধ্যে উল্লেখযোগ্য মোট পদ্ধতির সীমাবদ্ধতা 65,536 (64 কে রেফারেন্স সীমা) সীমাবদ্ধ করে।

পদক্ষেপ 01. নিম্নলিখিত হিসাবে নিম্নলিখিত নির্ভরতা যুক্ত করুন

অ-অ্যান্ড্রয়েডএক্স ব্যবহারকারীদের জন্য,

dependencies {
  implementation 'com.android.support:multidex:1.0.3'
}
defaultConfig {
    minSdkVersion 16
    targetSdkVersion 28
    multiDexEnabled true  //ADD THIS LINE
}

Androidx ব্যবহারকারীদের জন্য,

dependencies {
  implementation 'androidx.multidex:multidex:2.0.1'
}
    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 28
        multiDexEnabled true  //ADD THIS LINE
    }

পদক্ষেপ 02:

এই সিঙ্ক প্রকল্পগুলি যুক্ত করার পরে এবং আপনি প্রকল্পটি চালানোর আগে কোনও প্রকল্পটি রানের আগে তৈরির বিষয়ে নিশ্চিত হন। অন্যথায়, আপনি একটি ব্যতিক্রম পাবেন।


53

আপনি অনুসরণ করতে পারেন এই

অ্যান্ড্রয়েড 5.0 এর আগে প্ল্যাটফর্মের সংস্করণ (এপিআই স্তর 21) অ্যাপ্লিকেশন কোডটি সম্পাদন করার জন্য ডালভিক রানটাইম ব্যবহার করে। ডিফল্টরূপে, ডালভিক অ্যাপ্লিকেশনগুলিকে একক ক্লাসে সীমাবদ্ধ করে। এই সীমাবদ্ধতাটি পেতে, আপনি আপনার প্রকল্পে মাল্টিডেক্স সমর্থন লাইব্রেরি যুক্ত করতে পারেন:

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

যদি আপনার minSdkVersion 21 বা ততোধিকতে সেট করা থাকে তবে আপনাকে যা করতে হবে তা এখানে আপনার মডিউল-স্তরের বিল্ড।

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

33

আপনি যখন নির্ভরতা ব্যবহার করছেন তখন আপনার পদ্ধতিগুলি বৃদ্ধি পেয়েছে! গুগল এর জন্য একটি সমাধান আছে। যাকে বলে মাল্টিডেক্স!

দ্রষ্টব্য: ন্যূনতম এসডিকে 14 এর বেশি বয়স হয়েছে কিনা তা নিশ্চিত হন।

আপনার বিল্ড.gradle এ:

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



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

অ্যান্ড্রয়েডএক্স ব্যবহারের জন্য:

 def multidex_version = "2.0.1"
 implementation 'androidx.multidex:multidex:$multidex_version'

আরও তথ্যের জন্য দয়া করে মূল লিঙ্কে যান:

https://developer.android.com/studio/build/multidex


এই সমাধানটি আমার পক্ষে কাজ করেছিল! Tranks!
বিট2019

দুর্দান্ত সমাধান! আমার সমস্যা সমাধান করুন
বৈভব হেরুগু

29

হাই সমস্যা এখানে এটি অপসারণ

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

কেন?

দ্রষ্টব্য: সম্মিলিত প্লে-পরিষেবা লক্ষ্য ব্যবহার করবেন না। এটি আপনার অ্যাপ্লিকেশনটি প্রসারণ করে কয়েক ডজন লাইব্রেরি নিয়ে আসে। পরিবর্তে, কেবলমাত্র আপনার অ্যাপ্লিকেশন ব্যবহার করে এমন নির্দিষ্ট গুগল প্লে পরিষেবাগুলির API উল্লেখ করুন specify

এবং আপনার যা প্রয়োজন তা ব্যবহার করুন। https://developers.google.com/android/guides/setup

অবস্থান পরিষেবা জন্য পছন্দ করুন

com.google.android.gms:play-services-location:11.8.0

ক্লাউড মেসেজিংয়ের জন্য

com.google.android.gms:play-services-gcm:11.8.0

হ্যাঁ আমি এখন সমস্যার মুখোমুখি হয়েছি আমার রান বোতামটি অক্ষম করেছে।
মুহাম্মদ আদিল সাত্তার

27

আপনি যদি DEBUG APK বানাচ্ছেন তবে কেবল যুক্ত করুন:

debug {
            multiDexEnabled true
        }

ভিতরে buildTypes

এবং যদি আপনি রিপ্লেস APK বানাচ্ছেন তবে multiDexEnabled trueরিলিজ ব্লক হিসাবে যুক্ত করুন-

release {
                ...
                multiDexEnabled true
                ...
        }

25

বিড়বিড় প্রকল্পের জন্য আপনি এই সমস্যাটিও সমাধান করতে পারেন

আপনার \ android \ অ্যাপ \ build.gradle খুলুন

আপনার সল্ট নিম্নলিখিত আছে:

android {
    defaultConfig {
        ...
        minSdkVersion 16
        targetSdkVersion 28

    }

}

আপনার minSdkVersion 21 বা উচ্চতর হিসাবে সেট করা থাকে, সমস্ত আপনাকে যা করতে হবে সেট করা হয় সত্যতে multiDexEnabled defaultConfig হবে। এটার মত

android {
    defaultConfig {
        ...
        minSdkVersion 16
        targetSdkVersion 28
        multiDexEnabled true 

    }

}

যদি আপনার minSdkVersion 20 এ সেট করা থাকে বা নীচে ডিফল্টConfig এ মাল্টিডেক্সএইনবেলড সত্য যুক্ত হয়

এবং বাস্তবায়ন সংজ্ঞায়িত করুন

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

শেষে আপনার উচিত:

android {
    defaultConfig {
        ...
        minSdkVersion 16
        targetSdkVersion 28
        multiDexEnabled true  // added this
    }

}

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

আরও তথ্যের জন্য এটি পড়ুন: https://developer.android.com/studio/build/m Multidex


1
বাহ! এটি গ্রহণযোগ্য উত্তর হওয়া উচিত !!
অন্ধকার_রাবী

1
hhahaha! আমি আপনাকে খুশি যে এটি আপনাকে সাহায্য করেছে!
রিচার্ড

ভালভাবে করা উচিত এটি গ্রহণযোগ্য উত্তর হওয়া উচিত
রাইদেন কোর

18

কেবল নিম্নলিখিতটি করুন:

build.gradle

(module:app)


android {
            ....
      defaultConfig {
              multiDexEnabled true // enable mun
      }
}

এবং আপনার build.gradleঅ্যাপ্লিকেশন স্তরের ফাইলের নীচে নির্ভরতা যুক্ত করুন

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

13
multiDexEnabled true

দয়া করে এটি আপনার অ্যাপ্লিকেশন ডিফল্টকনফিগ adding। এ যুক্ত করার চেষ্টা করুন hisএই সমস্যাটি সমাধান করতে আমাকে সহায়তা করে


12

গ্রেডল বিল্ড ফাইলটিতে নির্ভরতা যুক্ত করুন:

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

অথবা

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

অথবা

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

এবং তারপরে "ডিফল্টকনফিগ" বিভাগে যুক্ত করুন:

multiDexEnabled true

টার্গেটএসডিকি ভার্সনের অধীনে

   minSdkVersion 17
    targetSdkVersion 27
    multiDexEnabled true

এখন আপনি যদি এই ত্রুটি সম্মুখীন হন

ত্রুটি: সমাধান করতে ব্যর্থ: মাল্টিডেক্স-উপকরণ ফাইল খুলুন

আপনাকে আপনার গ্রেড পরিবর্তন করতে হবে 3.0.1

        classpath 'com.android.tools.build:gradle:3.0.1'

এবং গ্রেড- wrapper.properties ফাইলটিতে নিম্নলিখিত কোডটি রাখুন

distributionUrl = HTTPS: //services.gradle.org/distributions/gradle-4.1-all.zip

পরিশেষে

প্রকল্পে ক্লাস অ্যাপ্লিকেশন যুক্ত করুন এবং এটিকে অ্যান্ড্রয়েড ম্যানিফেস্টের সাথে পরিচিত করুন যা মাল্টিডেক্সএক্সপ্লিকেশন থেকে প্রসারিত

public class App extends MultiDexApplication {

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

}

ত্রুটি তৈরি করতে প্রথমে প্রকল্পটি চালান, তারপরে প্রকল্পটি পরিষ্কার করুন

অবশেষে, প্রকল্পটি পুনরায় চালু করুন এবং এটি উপভোগ করুন


আমি এখনও "সমাধান করতে ব্যর্থ: মাল্টিডেক্স-উপকরণ"
মাকালেলে

11

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

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        // getting error: Cannot fit requested classes in a single dex file.  # methods: 65537 > 65536
        // https://developer.android.com/studio/build/multidex
        // minifyEnabled true (used with release) will fix this by getting rid of unused method calls, but this will hide debugging info on crash
        multiDexEnabled true
    }
}

আমাদের যদি মাল্টিডেক্স ব্যবহারের কিছু ত্রুটিগুলি থাকে?
is julian00

1
খুব ভাল প্রশ্ন, যার উত্তর আমার কাছে নেই। আপনার যদি না থাকে তবে নিম্নলিখিতটি পড়ুন: বিকাশকারী.অ্যান্ড্রয়েড / স্টুডিও / বিল্ড / মাল্টেডেক্স#mdex-gradle এপিআই> = 21 এর মতো মনে হচ্ছে, খুব বেশি সমস্যা নেই। <21 এর জন্য, মনে হয় অ্যান্ড্রয়েডকে এমন কিছু অভিনব পদক্ষেপ করতে হবে যার সম্ভাব্য সমস্যা থাকতে পারে। যেহেতু অনেক লোককে এটি চালু করার দরকার আছে, আমার অনুমান যে অ্যান্ড্রয়েড এটি ভালভাবে কাজ করেছে, তাই আমি খুব বেশি চিন্তা করব না। আমি যেখানে সম্ভব সেখানে রক্ষণশীল হতে পছন্দ করি।
আর্নি টমাসন

10

আমার ধারণা নেই কেন, সম্ভবত এটি কোটলিনে বিকাশ করার কারণে তবে এই ত্রুটিটি সমাধান করার জন্য অবশেষে আমাকে এমন একটি শ্রেণি তৈরি করতে হবে যা এর প্রসারিত হতে MultiDexApplicationপারে:

class MyApplication : MultiDexApplication() {
}

এবং আমার মধ্যে Manifest.xmlসেট করতে হবে

<application
        ...
        android:name=".MyApplication">

কাউকে বিভ্রান্ত না করার জন্য, আমিও করি:

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

অ্যান্ড্রয়েডক্সের জন্য, এটি আমার পক্ষেও কাজ করে:

implementation 'androidx.multidex:multidex:2.0.0'

...

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

আমার জন্য কাজ করে না


প্রকল্পটি পরিষ্কার এবং পুনর্নির্মাণটি মাল্টিডেক্সএইনবেলড ট্রু সেট করার পরে মনে রাখবেন। এটি আমার জন্য এটি স্থির করে দিয়েছে।
সিউডোজাচ

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

9

আপনার কাছে অনেকগুলি পদ্ধতি গণনা করা হয়েছে। অ্যান্ড্রয়েড ডেক্স ফাইলটির 65536 পদ্ধতিগুলির সীমা রয়েছে যা আপনার কাছে অনুমোদিত।

প্রারম্ভিকদের জন্য, আপনার যদি সমস্ত গুগল প্লে পরিষেবাদি এপিআই এবং কেবলমাত্র অবস্থানের প্রয়োজন না হয় তবে প্রতিস্থাপন করুন

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

সঙ্গে

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

এটি এড়াতে বা আরও অনুমতি দেওয়ার প্রয়োজন হলে আপনি এই পৃষ্ঠাটি উল্লেখ করতে পারেন: https://developer.android.com/studio/build/m Multidex.html


হ্যাঁ তবে এটি আসলে সমস্যা নয়। আমি মনে করি আমি একই নির্ভরতা যুক্ত করছি। ফায়ারবেসের জন্য একটি এবং অন্য একটি অবস্থানের জন্য দু'টি লাইনের চেক করুন।
মুহাম্মদ আদিল সাত্তার

6

আমাকে যা করতে হয়েছিল তা হল ফাইল> প্রকল্পের কাঠামো> অ্যাপ> স্বাদে ন্যূনতম এসডিকে সংস্করণটি 21 এ সেট করা ছিল


5

আমি এই ত্রুটিটি দু'বার সম্মুখীন হয়েছি এবং এর সমাধান হ'ল; আপনার টার্গেট এসডিকে যদি 20 বা তার বেশি হয় তবে আপনার অ্যাপ্লিকেশন গ্রেড ফাইলটি পরীক্ষা করে দেখুন, কেবল আপনার একটি লাইন যুক্ত করুনdefaultconfig { multiDexEnabled true }

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

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

আরও জন্য এই লিঙ্কটি দেখুন।

https://developer.android.com/studio/build/multidex#mdex-gradle


5

মাল্টিডেক্স সমর্থন ব্যবহার করা সর্বশেষ সমাধান হতে হবে। ডিফল্টরূপে গ্রেড বিল্ড আপনার APK এর জন্য এক টন ট্রানজিটিভ নির্ভরতা সংগ্রহ করবে। গুগল বিকাশকারী ডক্সে প্রস্তাবিত হিসাবে , আপনার প্রকল্প থেকে অপ্রয়োজনীয় নির্ভরতা অপসারণের জন্য প্রথমে চেষ্টা করুন।

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

gradlew app:dependencies --configuration debugCompileClasspath

নির্ভরতা গাছের সম্পূর্ণ তালিকা পেতে পারেন

gradlew app:dependencies

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

তারপরে আপনার অ্যাপ্লিকেশন build.gradle থেকে অপ্রয়োজনীয় বা ট্রানজিটিভ নির্ভরতা অপসারণ করুন। উদাহরণস্বরূপ যদি আপনার অ্যাপ্লিকেশনটি 'com.google.api-client' নামক নির্ভরতা ব্যবহার করে আপনি প্রয়োজনীয় গ্রন্থাগারগুলি / মডিউলগুলি বাদ দিতে পারেন।

implementation ('com.google.api-client:google-api-client-android:1.28.0'){
   exclude group: 'org.apache.httpcomponents'
   exclude group: 'com.google.guava'
   exclude group: 'com.fasterxml.jackson.core'
   }

তারপরে অ্যান্ড্রয়েড স্টুডিওতে বিল্ড নির্বাচন করুন> APK বিশ্লেষণ করুন ... সামগ্রীগুলি দেখতে রিলিজ / ডিবাগ এপিএল ফাইলটি নির্বাচন করুন। এটি আপনাকে নিম্নলিখিত পদ্ধতি এবং রেফারেন্স গণনা দেবে।

APK বিশ্লেষণ করুন


1
আমাদের যদি করতে হয় মাল্টিডেক্স ব্যবহারের কিছু ত্রুটিগুলি কী
জুলিয়ান00

5

আপনার ফাইল অ্যান্ড্রয়েড / অ্যাপ / বিল্ড.gradle যোগ করুন

 defaultConfig {
        applicationId "com.ubicacion"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
        multiDexEnabled true // ✔
        missingDimensionStrategy 'react-native-camera', 'general'
    }

2

বিল্ড ইন: অ্যাপ্লিকেশন

apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
    applicationId "com.proyecto.marketdillo"
    minSdkVersion 14
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
  }
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:support-v4:28.0.0-rc02'
implementation 'com.android.support:design:28.0.0-rc02'
implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'com.squareup.picasso:picasso:2.5.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-firestore:17.1.5'
implementation 'com.android.support:multidex:1.0.3'
}
apply plugin: 'com.google.gms.google-services'

1
android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.dev.khamsat"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "2.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }

এটি আমার পক্ষেও যথেষ্ট ছিল।
nyxee

1

আপনার অ্যাপ গ্রেডল ফাইলটিতে শ্রেণি নির্ভরতা সংখ্যার কারণে ত্রুটি ঘটেছে is ক্লাসগুলি যদি 72,400 এর বেশি হয়, তবে আপনি ভাল ফাইল ইনডেক্সিং হ্যান্ডেল করার সমাধান হিসাবে মাল্টিডেক্স ব্যবহার করতে চাইতে পারেন। এখান থেকে আরও সন্ধান করুন: https://developer.android.com/studio/build/m લ્ટdex

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