почему обновление версии Firestore до 17.1.0 создает проблемы в Multidex? - PullRequest
0 голосов
/ 31 августа 2018

мое приложение работало нормально, когда я использовал Firestore версии 11.8.0, но всегда было предупреждение относительно версии FireStore, он просит меня обновить последнюю версию 17.1.0 после обновления версии приложение показывает ошибки, а андроид студия продолжает мне говорить //Cannot fit requested classes in a single dex file. Try supplying a main-dexlist. Я не знаю, почему версия хранилища Firebase связана с Multidex? вот моя сборка.

 apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.moham.trial"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.google.firebase:firebase-auth:16.0.3'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.firebase:firebase-storage:16.0.1'
implementation 'com.google.firebase:firebase-firestore:17.1.0'
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.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:recyclerview-v7:28.0.0-rc02'

implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
implementation 'com.android.support:design:28.0.0-rc01'


implementation 'com.google.firebase:firebase-core:16.0.3'
implementation 'com.jakewharton:butterknife:8.8.1'
implementation 'com.android.support:cardview-v7:28.0.0-rc02'

implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0'

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

1 Ответ

0 голосов
/ 28 ноября 2018

Сборка приложения для Android компилирует приложение в байт-код (исполняемый код) в форме файла DEX. Скомпилированные файлы байт-кода (файлы DEX) поддерживают только методы 64 КБ (65 536), прежде чем разбивать их на файлы DEX.

Добавление библиотеки firestore добавляет много методов и приводит к превышению этого предела, поэтому требуется multiDexEnabled true, чтобы разрешить его разбиение на несколько файлов.

Вы можете найти более подробную информацию по адресу: https://developer.android.com/studio/build/multidex

...