Я разрабатываю приложение с (по крайней мере) двумя вариантами, имеющими разные имена пакетов, поэтому на самом деле два разных приложения для системы Android. Приложение использует обмен Facebook, поэтому я объявляю провайдера в манифесте:
<provider android:authorities="com.facebook.app.FacebookContentProvider{app id here}"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
Это делается в соответствии с инструкциями Facebook: https://developers.facebook.com/docs/sharing/android
Это отлично работает с одним приложением, но при попытке установить второе приложение на том же устройстве происходит сбой INSTALL_FAILED_CONFLICTING_PROVIDER. Это единственный провайдер, определенный в манифесте, поэтому я уверен, что это проблема. Если я изменяю строку поставщика, чтобы быть чем-то другим, он падает при попытке открыть диалог общего доступа Facebook.
Я видел утверждения о том, что можно использовать одно приложение Facebook в нескольких приложениях для Android, но не может найти что-либо в документации по этому поводу в Facebook. Кто-нибудь это сделал, и как вы столкнулись с проблемой полномочий поставщика? Спасибо.