Как исключить модули из библиотеки сервисов Google Play?

Я работаю с приложением Android и пытаюсь исключить модули из gms, потому что я превысил предел методов, на которые можно ссылаться:

com.android.dex.DexIndexOverflowException: идентификатор метода отсутствует в [0, 0xffff]: 65536

В документации показан пример использования gradle, но проект, над которым я работаю, не использует gradle. Есть ли другой способ сделать это? Я использую intellij idea 14, и зависимости настраиваются вручную с помощью окна Project Structure.

Я пытаюсь с Project Structure -> Libraries -> Exclude, а затем я выбираю библиотечные модули, которые мне не нужны, но это, очевидно, не работает. Я не уверен, что это правильный путь

Также пробовал Файл -> Настройки -> Сборка, Выполнение, Развертывание -> Компилятор -> Исключает. Но, похоже, я могу исключить только всю библиотеку.

1 ответ

Вы должны включить только необходимые вещи для своего приложения из библиотеки Play Services, как показано ниже,

dependencies {
  compile "com.google.android.gms:play-services-gcm:8.4.0"
}

Здесь я добавил только gcm из всего набора сервисов воспроизведения, использующих только то, что требуется.

Так как сервисы play включают в себя все, от кошелька, рекламы, местоположения и т. Д., Он легко нарушает лимит декс, даже после этого, если вы получили ошибку, попробуйте выполнить mutidex=true, видя в своем файле

Другие вопросы по тегам