Поддержка Android Multidex по-прежнему генерирует ошибку «более 64 КБ в файле main-dex» - PullRequest
0 голосов
/ 21 июня 2019

Я разработчик Android, все еще поддерживающий minSdk 19, и столкнулся с проблемой, что Maindex не помещает запрошенные классы в файл main-dex. Даже после выполнения рекомендуемых действий на странице разработчиков «Включить мультидекс» ошибка сохраняется. Что я могу сделать, чтобы поддержать больше методов в файлах main-dex или лучше разделить их между файлами?

Я выполнил шаги, предложенные на странице https://developer.android.com/studio/build/multidex. В файле Gradle я реализовал зависимость com.android.support:multidex:1.0.3. Мое приложение расширяется от MultiDexApplication.

Основная проблема может заключаться в том, что миграция на AndroidX уже выполнена, поэтому приложение импортирует библиотеку androidx.multidex.MultiDexApplication вместо импорта вспомогательной библиотеки, которая была реализована в зависимостях.

Внутри файла build.gradle (Модуль: Приложение) (выделены только важные части)

...
dexOptions {
   jumboMode true
}
...
defaultConfig {
    minSdkVersion 19
    targetSdkVersion 28
    ...    
    multiDexEnabled true
    multiDexKeepProguard file('multidex-config.txt')
}
...
dependencies {
    ...
    implementation "com.android.support:multidex:1.0.3"
    ...
}

В файле заявки:

import androidx.multidex.MultiDexApplication;
...
public class MainApplication extends MultiDexApplication...

При сделанных попытках ожидалось, что методы поместятся в файлы dex. Тем не менее ошибка сохраняется при попытке построить APK:

Error: null, Cannot fit requested classes in the main-dex file (# methods: 66064 > 65536)
...