J'essaie d'installer mon application sur mon nouveau Samsung Galaxy S8 pour la première fois depuis Android Studio. Lorsque je le fais, j'obtiens le message d'erreur suivant:
L'installation a échoué avec le message Impossible de finaliser la session: INSTALL_FAILED_DUPLICATE_PERMISSION: le package bbct.Android tente de redéclarer l'autorisation bbct.Android.lite.permission.READ déjà détenue par com.samsung.Android.bixby.agent.
Pourquoi Bixby possède-t-il ma permission? Plus important encore, comment puis-je résoudre ce problème?
J'ai allumé mon Galaxy S8, installé l'application Applications Info et trouvé com.samsung.Android.bixby.agent
- il est répertorié comme "Bixby Voice".
Pour une raison quelconque, dans leur manifeste, ils ont un <permission>
élément pour bbct.Android.lite.permission.READ
. C'est le seul noncom.samsung
autorisation que je vois pour cette application
Du côté positif: Samsung sait qui vous êtes!
Du côté négatif: vous êtes assez bien foutu.
En plus de passer à un autre nom d'autorisation, votre application ne pourra jamais être installée sur le Galaxy S8 ou tout autre appareil Samsung qui a cette application Bixby (et qui exécute Android 5.0+, cependant Je pense que Bixby est uniquement pour les appareils plus récents.) Deux applications ne peuvent pas déclarer la même autorisation sur le même appareil sur Android 5.0+ sauf si elles sont signées avec la même clé de signature, et probablement la vôtre ne l'est pas.
(Je suis curieux de savoir comment cela s'est produit - est ce l'application? Est-ce open source?)
Il semble qu'un développeur de Samsung ait emprunté du code à une autre SO question que j'ai écrite il y a des années: Demande d'autorisation de lecture à mon propre ContentProvider dans une autre application . Cette question contenait à l'origine le nom de l'autorisation que j'ai utilisé dans mon application. J'ai des mots d'autres membres SO que cela sera corrigé dans la prochaine mise à jour de Bixby.