Я разработчик 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)