вівторок, 27 вересня 2016 р.

Android Studio: Error:The number of method references in a .dex file cannot exceed 64K.

Error:The number of method references in a .dex file cannot exceed 64K.

Доволі часто помилка, якщо судити з обговорень.

Способів вирішення три:

1. Почистити код, позбутися лишніх інструкцій та відповідно лишніх імпортів

2. Прописати у скрипті gradle

// Enabling multidex support.
multiDexEnabled true


Ще можна додатково відвести пам'ять для java:

dexOptions {
        javaMaxHeapSize "2g" //specify the heap size for the dex process
    }

У мене даний спосіб допоміг сформувати апк, але є один мінус. Apk не буде запускатися на Android 4.4 (API level 20) та нижче.
Тож кращим є третій спосіб.

3. Компілювати лише те що потрібно. Наприклад, замість:

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

пишемо у build.gradle для app:

compile 'com.google.android.gms:play-services-maps:9.2.0'

заодно це зменшує об'єм apk.

Думаю, що підключення старішої бібліотеки також може вирішити дану проблему. Проте дане припущення я не перевіряв.


Додатково можна почитати тут:

* developer.android.com
* stackoverflow.com