2

Мне нужно создать библиотеку Android, в которой используются службы gcm и местоположения google. Первоначально я сделал это внутри модуля приложения, и все прошло хорошо.Создайте Android-библиотеку, в которой используются сервисы google play.

Теперь мне нужно создать библиотеку для Android, который будет использоваться более одного приложения, и у меня много проблем:

Первая в том, что мой Lib не Google-сервисы .json, так как он должен использовать модуль приложения для настройки. Поэтому плагин google play services не работает с файлом build.gradle от libs.

Второе, что мне кажется, что сервисы Google Play плагин обнаруживает, что я не называю apply plugin внутри build.gradle Либерал и использует по умолчанию версию 9.0.0 библиотеки, даже когда я его настройки использовать 10.0.1. Так что у меня также есть странная проблема для запуска моего приложения, Unable to execute dex: Multiple dex files define ...

Каков правильный способ создания библиотеки Android, которая использует сервисы google-play, которые также могут сосуществовать с Android-приложением, которое также использует google-play- Сервисы?

ответ

0

Прежде всего в вашей библиотеке, в build.gradle вы должны удалить линию

//apply plugin: 'com.google.gms.google-services' 

Поскольку вы не можете иметь google-services.json файл, вы не можете использовать плагин.
Вы должны добавить зависимости, и этого достаточно, чтобы скомпилировать в библиотеку.

Вместо проектов, которые будут использовать библиотеку, вы должны добавить плагин и файл google-services.json.

0

Я сталкивался с подобной ситуацией и пришел к выводу, что:

1- Android библиотека должна иметь его

Google-services.json

файл, а также должны объявить зависимостей и Google сервисный плагин.

2- приложение с использованием библиотеки может иметь свой собственный

Google-services.json

файл и зависимости заявленные.

Следует отметить, что мы должны использовать те же версии зависимостей и плагин сервисов google.

Кроме того, при добавлении библиотеки зависимости,

транзитивных = TRUE

добавляется.

+0

Но почему у меня должен быть этот файл? Если вы посмотрите на Intercom Android Sdk install, они не будут использовать новый googleservices.json. переходный имеет смысл, попробует это! –

0

Я нашел в Интернете, что эта ваша ошибка обычно вызвана несколькими копиями библиотеки (дубликатов), которые вы используете в своем проекте. Перейдите в структуру Project -> modules, затем проверьте целевую папку или папку apk-libs, если имеется более одной копии. После этого выполните очистку и постройте проект.

Для получения дополнительных сведений об этой проблеме, проверьте этот раздел SO question.

Теперь, если у вас возник вопрос о создании библиотеки Android, в которой используются сервисы google-play, попробуйте проверить это tutorial, если это может вам помочь. Он обеспечивает скриншот, за которым вы можете следовать.

Для получения дополнительной информации, проверьте эти темы:

0

Даже после аннулирования кэшей и перезапуска Android Studio. Единственное, что разрешило мою проблему, это перезагрузить компьютер. Не знаю, как, но вдруг все снова стало правильно.

Смежные вопросы