Реализация MultiDex приводит к компиляции так долго, и, наконец, ошибка кучи пространства
У меня есть большой проект Android, где я получилНевозможно выполнить dex: ID метода не в [0, 0xffff]: 65536 ошибка; Я полагаю, что некоторые из вас, ребята, определенно проходили эту проблему раньше Это ошибка из-за слишком большого количества методов, на которые ссылаются в приложении.
Я искал разные источники в Интернете и нашелэтот может быть лучшим решением.
И я сделал следующее:
добавленнойmultiDexEnabled = true
вdefaultConfig
блок изbuild.gradle.Добавлена следующая зависимость:
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
Переопределил следующий код внутри моего класса приложения.
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
Теперь ошибка исчезла, но у меня возникла новая проблема. Когда я запускаю приложение, компилятору требуется более 3 минут для компиляции и запуска приложения, что в итоге выдает мне эту ошибку:
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: Java heap space
Я понимаю, что эта ошибка возникает из-за интенсивного использования памяти, но я не знаю, как ее решить. Я использую Android Studio 1.0.2 и Android API 21.
Спасибо!
РЕДАКТИРОВАТЬ:
Я уже проверилКак исправить «OutOfMemoryError: пространство кучи Java» при компиляции приложения MonoDroid в MonoDevelop, но это не покрывает причину проблемы, и более того, я не использую Xamarin Studio.
EDIT2:
Точный симптом такой:
Когда я компилирую код, консоль gradle показывает мне сотни предупреждений, говорящих «Игнорирование атрибута InnerClasses для анонимного внутреннего класса» (что некоторые другие ответы в stackoverflow предполагают, что они не являются серьезными предупреждениями), а затем показывает только мигающий курсор на некоторое время и примерно через минуту, это дает мне ошибку.