INSTALL_FAILED_DUPLICATE_PERMISSION с Samsung Galaxy S8

Я пытаюсь установить мое приложение на своем новом Samsung Galaxy S8 в первый раз из Android Studio. Когда я это сделаю, появляется следующее сообщение об ошибке:

Ошибка установки с сообщением Не удалось завершить сеанс: INSTALL_FAILED_DUPLICATE_PERMISSION: пакет bbct.android пытается повторно разрешить разрешение bbct.android.lite.permission.READ уже принадлежит com.samsung.android.bixby.agent.

Почему Биксби владеет моим разрешением? Что еще более важно, как я могу это исправить?

Ответ 1

Я com.samsung.android.bixby.agent свою Galaxy S8, установил приложение "Информация о приложениях" и нашел com.samsung.android.bixby.agent - он был указан как "Bixby Voice".

По какой-либо причине в своем манифесте они имеют элемент <permission> для bbct.android.lite.permission.READ. Это единственное разрешение non- com.samsung которое я вижу для этого приложения.

С плюсом: Samsung знает, кто вы!

На минусовой стороне: вы довольно хорошо ввернуты.

Помимо переключения на другое имя разрешения, ваше приложение никогда не сможет быть установлено на Galaxy S8 или на любом другом устройстве Samsung, имеющем это приложение Bixby (и работает под управлением Android 5. 0+, хотя я думаю, что Bixby предназначен только для более новые устройства). Два приложения не могут объявлять одно и то же разрешение на том же устройстве на Android 5. 0+, если они не подписаны с тем же ключом подписки, и, предположительно, ваш нет.

(Мне любопытно, как это произошло - это приложение? Это открытый источник?)

Ответ 2

Похоже, что разработчик Samsung заимствовал какой-то код из другого вопроса SO, который я написал несколько лет назад: запрос разрешения на чтение от моего собственного ContentProvider в другом приложении. Первоначально этот вопрос содержал имя разрешения, которое я использовал в своем приложении. У меня есть слово от других членов SO, что это будет исправлено в следующем обновлении Bixby.