INSTALL_FAILED_DUPLICATE_PERMISSION 使用三星盖乐世 S8

INSTALL_FAILED_DUPLICATE_PERMISSION with Samsung Galaxy S8

我第一次尝试通过 Android Studio 在我的新三星 Galaxy S8 上安装我的应用程序。当我这样做时,我收到以下错误消息:

Installation failed with message Failed to finalize session : INSTALL_FAILED_DUPLICATE_PERMISSION: Package bbct.android attempting to redeclare permission bbct.android.lite.permission.READ already owned by com.samsung.android.bixby.agent.

为什么 Bixby 拥有我的许可?更重要的是我该如何解决这个问题?

我启动了我的 Galaxy S8,安装了 the Applications Info app,然后找到了 com.samsung.android.bixby.agent — 它被列为 "Bixby Voice"。

无论出于何种原因,在他们的清单中,他们有 bbct.android.lite.permission.READ<permission> 元素。这是我为该应用程序看到的唯一非com.samsung权限

好的一面:三星知道你是谁!

不利的一面:你完全搞砸了。

除了切换到其他权限名称外,您的应用程序将永远无法安装在 Galaxy S8 或任何其他具有此 Bixby 应用程序的三星设备上(并且 运行 Android 5.0+,但我认为 Bixby 仅适用于较新的设备)。两个应用程序不能在 Android 5.0+ 的同一设备上声明相同的权限,除非它们使用相同的签名密钥签名,而你的可能不是。

(我很好奇这是怎么发生的——this 应用程序是开源的吗?)

三星的一位开发人员似乎从我多年前写的另一个 SO 问题中借用了一些代码:Requesting read permission from my own ContentProvider in another app。这个问题最初包含我在我的应用程序中使用的权限名称。我从其他 SO 成员那里得知,这将在下一次 Bixby 更新中得到解决。