You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

三星Galaxy S8安装APP遇INSTALL_FAILED_DUPLICATE_PERMISSION错误求助

解决INSTALL_FAILED_DUPLICATE_PERMISSION与Bixby权限冲突问题

嘿,这个问题我太熟了!先给你拆解下为什么会出现这个情况:

三星在预装的Bixby应用(包名com.samsung.android.bixby.agent)里,已经提前声明了bbct.android.lite.permission.READ这个自定义权限。而你的应用(包名bbct.android)也试图声明完全同名的权限——Android系统有个硬性规则:不同包名的应用不能使用完全相同的自定义权限名称,所以安装直接失败,抛出了INSTALL_FAILED_DUPLICATE_PERMISSION错误。

至于解决办法,按优先级给你列几个靠谱的方案:

  • 重命名自定义权限(首选方案)
    直接修改你项目AndroidManifest.xml里的权限声明,把bbct.android.lite.permission.READ改成一个独一无二的名字,最好以你自己应用的包名为前缀,比如改成bbct.android.permission.READ(去掉lite标识),或者更规范点用bbct.android.permission.APP_READ。这样彻底避免和Bixby的权限重名,是最稳妥的解决方式。

  • 检查权限是否真的需要声明
    如果这个权限只是你应用内部组件之间使用,根本不需要声明成自定义权限!直接去掉<permission>标签,改用应用内部的逻辑控制(比如用签名验证、组件可见性设置)就行,省得给自己找麻烦。

  • 临时调试方案(仅用于测试,不推荐正式版)
    要是你只是想快速跑通测试,可以尝试禁用Bixby的相关组件,但这个操作在三星设备上可能需要特殊设置甚至root,而且绝对不能要求正式版用户这么做,所以只适合临时调试用。

最后提醒一句:自定义权限命名一定要遵循规范,尽量用[你的包名].permission.[权限用途]的格式,比如com.yourcompany.yourapp.permission.ACCESS_DATA,这样能最大程度避免和其他应用(尤其是系统预装应用)撞权限名。

内容的提问来源于stack exchange,提问作者Code-Apprentice

火山引擎 最新活动