Интеграция Google Analytics с Android-приложением

Я настраиваю существующее приложение с некоторыми событиями отслеживания активности, предлагаемыми через Google Analytics. Я добавил все изменения градиента, а что нет, но я продолжаю получать сообщение об ошибке, связанное с наличием дубликатов google_app_ids. Я знаю, что один из идентификаторов исходит из использования Google Maps в моем приложении. Я полагаю, что мне, возможно, дали новый google_app_id из того, который автоматически сгенерирован из файла google-services.json, который вы должны добавить для Google Analytics. Я не знаю, как это исправить.

Вот ошибка, которую я получаю при попытке построить:

Error:Execution failed for task ':app:mergeDebugResources'.
> [string/google_app_id] C:\Users\smithm24\AndroidStudioProjects\NOAAHSO\app\src\main\res\values\strings.xml    [string/google_app_id] 
C:\Users\smithm24\AndroidStudioProjects\NOAAHSO\app\build\generated\res\google-services\debug\values\values.xml: Error: Duplicate resources

Вот мой файл values.xml, сгенерированный автоматически:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="ga_trackingId" translatable="false">UA-76597942-1</string>
    <string name="gcm_defaultSenderId" translatable="false">287841560662</string>
    <string name="google_app_id" translatable="false">1:287841560662:android:18d8b4b538346094</string>
</resources>

Вот мой файл strings.xml с идентификатором моего приложения, который я давно добавил для Google Maps:

<resources>
    <string name="app_name">Weather AND Haul Route</string>
    <string name="action_settings">Settings</string>
    <string name="button_text">Get Weather</string>
    <string name="title_activity_maps">Map</string>
    <string name="google_app_id">380060644351</string>
</resources>

comment
У вас есть ‹string name=google_app_id› в обоих файлах. Попробуйте удалить ‹string name=google_app_id›380060644351‹/string› или переименовать его из strings.xml.   -  person Slobodan Antonijević    schedule 20.04.2016
comment
Не испортит ли это мои карты Google Maps? Я посмотрел на портале разработчиков Google, и похоже, что мне дали новый идентификатор для нового проекта, когда я подписался на аналитику Google. Есть ли способ интегрировать два?   -  person M. Smith    schedule 20.04.2016
comment
Вы подписались на аналитику из того же аккаунта API карт?   -  person Slobodan Antonijević    schedule 21.04.2016
comment
Попробуйте перейти в Project-›Clean Project...   -  person Isaac Urbina    schedule 21.04.2016
comment
@SlobodanAntonijević Да, на моем портале для разработчиков это выглядит как два отдельных проекта. Когда я подписался на Analytics, я не верил, что это дало мне возможность интегрировать его с моим уже существующим проектом.   -  person M. Smith    schedule 21.04.2016
comment
Я не думаю, что это должно что-то испортить, ваш strings.xml был создан вами, а не сгенерирован. Не могли бы вы попробовать удалить запись из строк и посмотреть результат?   -  person Slobodan Antonijević    schedule 21.04.2016
comment
@SlobodanAntonijević да, удаление строки сработало, и моя карта все еще работала. Все еще не понимаю, как работала моя карта, если я удалил свой app_id... ну ладно, лол   -  person M. Smith    schedule 22.04.2016


Ответы (2)


У вас есть один и тот же дескриптор как в вашем собственном strings.xml, так и в предоставленном Google values.xml, что сбивает Gradle с толку, какой дескриптор использовать. Просто переименуйте свой собственный ресурс google_app_id в другое имя.

person Marc Bacvanski    schedule 26.07.2016

У меня такая же проблема. Просто удалите сгенерированный файл analytics.xml, очистите свой проект. После этого заработало

person Javier Hinmel    schedule 06.05.2016