Как исключить модули из библиотеки сервисов 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, видя в своем файле