Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
1nt3g3r
0 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 5
#1

Ошибка при установке APK - INSTALL_FAILED_CONFLICTING_PROVIDER - Программирование Android

13.11.2015, 13:34. Просмотров 419. Ответов 0

Создал APK, пытаюсь установить на телефон через adb install - получаю ошибку INSTALL_FAILED_CONFLICTING_PROVIDER. На эмулятор устанавливается нормально.

Почитал в интернете, что проблема может быть связана с ContentProvider. Но у меня нет ни одного ContentProvider-а в AndroidManifest.

Ошибка начала проявляться недавно, до этого приложение ставилось и запускалось нормально. Из недавних изменений - добавил Google Play Services.

Приложение multidex, собирается Gradle. Проверил - старых версий программы на телефоне не осталось.

В чем может быть дело? Может, Android как-то кеширует данные про приложения?

Добавлено через 57 минут
Разобрался в проблеме (точнее, нашел ошибку и решение, но так и не понял корней).

В общем, одно приложение (назвем его приложение A) устанавливается, и добавляет следующий ContentProvider - com.google.android.gms.measurement.AppMeasurementContentProvider. Если я пытаюсь установить другое приложение, оно добавляет такой же ContentProvider.

Как я узнал это - создал чистый эмулятор, выполнил команду adb shell dumpsys | grep Provider{ > list1.txt . Потом установил приложение на эмулятор, и выполнил команду adb shell dumpsys | grep Provider{ > list2.txt. Потом сделал diff list1.txt list2.txt. Получил следующее - com.google.android.gms.measurement.AppMeasurementContentProvider.

У меня закрались подозрения, и я сделал такую же операцию adb shell dumpsys > raw.txt. И выявил интересную штуку:

[имя пакета] com.google.android.gms.measurement.AppMeasurementContentProvider:
Provider{4267af40 com.google.android.gms.measurement.AppMeasurementContentProvider}

[com.google.android.gms.measurement.google_measurement_service]:
Provider{4267af40 com.google.android.gms.measurement.AppMeasurementContentProvider}

Я удалил приложение, которое я обозначил как [имя пакета], попробовал поставить изначальное - успешно.

Оба приложения собираются через Gradle, оба приложения используют Google Play services. Проблема начала проявляться после того, как я во второе приложение добавил Google Play Services. Поэтому проблема определенно связана с Google Play Services - только, к сожалению, я не могу понять ее корни.

Надеюсь, это маленькое расследование будет полезно, кто в будущем столкнется с похожим.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2015, 13:34     Ошибка при установке APK - INSTALL_FAILED_CONFLICTING_PROVIDER
Посмотрите здесь:
Android Как сохранить определённые файлы при установке APK в некий каталог?
Android Ошибка INSTALL_FAILED_CONFLICTING_PROVIDER
Android Ошибка при установке приложения Андроид
ошибка при установке Android SDk на eclipse Android
Android Ошибка в генерации файла APK
При Make project ошибок нет, но при build apk: Error:Execution failed for task ':app:validateConfigSigning'. > Android
Ошибка "unknown android-api-level-9" при установке admob в eclipse Basic4Android
Eclipse. Не появляется иконка при инсталляции apk Android
Android Почему выскакивает уведомление при попытке запустить apk ?
Android Различный вывод на виртуальной машине в eclipse и при запуске файла, с расширением apk
Android Загрузка статической БД при установке приложения
Как добавить действие (удаление файла) при установке приложения Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru