INSTALL_FAILED_DUPLICATE_PERMISSION 与三星 Galaxy S8
Posted
技术标签:
【中文标题】INSTALL_FAILED_DUPLICATE_PERMISSION 与三星 Galaxy S8【英文标题】:INSTALL_FAILED_DUPLICATE_PERMISSION with Samsung Galaxy S8 【发布时间】:2018-07-14 13:52:06 【问题描述】:我第一次尝试通过 android Studio 在我的新三星 Galaxy S8 上安装我的应用程序。当我这样做时,我收到以下错误消息:
安装失败并显示消息 Failed to finalize session : INSTALL_FAILED_DUPLICATE_PERMISSION: 包 bbct.android 试图重新声明权限 bbct.android.lite.permission.READ 已由 com.samsung.android.bixby.agent 拥有。
为什么 Bixby 拥有我的许可?更重要的是我该如何解决这个问题?
【问题讨论】:
"为什么 Bixby 拥有我的许可?" - 对于三星应用程序来说,这肯定看起来很奇怪。下载Applications Info 应用程序,看看是否可以找到com.samsung.android.bixby.agent
的清单。根据错误,它们应该有一个声明 bbct.android.lite.permission.READ
的 <permission>
元素。
@CommonsWare Bixby 代理是否有可能控制所有权限,而我必须在三星注册或以其他方式请求权限所有权?跨度>
@CommonsWare Applications Info 显示com.samsung.android.bixby.agent
实际上拥有bbct.android.lite.permission.READ
的权限,
Bixby 是否有可能从您的应用中“抓取”数据以向用户宣布?如果是这样,这很可能是他们应用的历史性解决方法。我曾经不得不用我的应用程序和 Tasker 来做这件事。请在此处查看我的问题以获取可能的解释-***.com/q/38234034/1256219 即使他们将其删除,对于那些不更新的人来说,这仍然是一个问题。您可能需要考虑重命名您的权限....
@brandall 那不是只需要请求权限而不是声明它吗?
【参考方案1】:
我启动了我的 Galaxy S8,安装了the Applications Info app,然后找到了com.samsung.android.bixby.agent
——它被列为“Bixby Voice”。
无论出于何种原因,在他们的清单中,他们有一个<permission>
元素用于bbct.android.lite.permission.READ
。这是我为该应用看到的唯一非com.samsung
权限
有利的一面:三星知道你是谁!
不利的一面:你被搞砸了。
除了切换到其他权限名称之外,您的应用程序将永远无法安装在 Galaxy S8 或任何其他具有此 Bixby 应用程序的三星设备上(并且运行 Android 5.0+,尽管我认为 Bixby 仅适用于较新的设备)。两个应用程序不能在 Android 5.0+ 上的同一设备上声明相同的权限,除非它们使用相同的签名密钥进行签名,而您的可能不是。
(我很好奇这是怎么发生的——this 是应用程序吗?它是开源的吗?)
【讨论】:
是的,那是我的应用程序。源代码在 GitHub 上github.com/BaseballCardTracker/bbct。 @Code-Apprentice:他们的权限不是signature
并且缺少描述或标签。我不知道它为什么在那里,而且他们似乎不太可能复制您的代码。同时,我无法解释为什么该应用程序需要该特定权限名称,以及为什么它不在标准的com.samsung
命名空间中。
我的权限名称显示在this SO question。也许三星有人在 Bixby 中实现权限时借用了代码 sn-p。【参考方案2】:
似乎三星的一位开发人员从我多年前写的另一个 SO 问题中借用了一些代码:Requesting read permission from my own ContentProvider in another app。这个问题最初包含我在我的应用程序中使用的权限名称。我从其他 SO 成员那里得到消息,这将在下一次 Bixby 更新中得到解决。
【讨论】:
以上是关于INSTALL_FAILED_DUPLICATE_PERMISSION 与三星 Galaxy S8的主要内容,如果未能解决你的问题,请参考以下文章