HarmonyOS 鸿蒙Next应用真机安装Failure[INSTALL_EXTRA_FAILED_DUPLICATE_PERMISSION]问题处理
HarmonyOS 鸿蒙Next应用真机安装Failure[INSTALL_EXTRA_FAILED_DUPLICATE_PERMISSION]问题处理 【问题描述】
最近在开发一个新的元服务的时候,在真机上安装时遇到了INSTALL_EXTRA_FAILED_DUPLICATE_PERMISSION
的报错,之前使用DevEco Studio
的远程模拟器调试都没有这个问题,使用远程真机也不存在这个问题,就感到很疑惑。
【调试步骤和原因】
在真机上运行的步骤如下:将打包后的hap
文件,通过"hdc app install XXXX.hap"
的方式安装。
同样的hap
通过远程真机安装是可以正常安装,并没有发生这个问题。
所以这个问题还是要通过日志来判断,获取应用安装时候的hilog
,可以发现以下关键的日志信息:
Package com.xxx.hmservice attempting to redeclare permission com.huawei.agconnect.core.DataAbilityShellProvider.PROVIDER already owned by com.yyy.hmservice
根据这个日志就很明确了是com.huawei.agconnect.core.DataAbilityShellProvider.PROVIDER
这个权限被手机上的另一个应用注册了。检查工程中的config.json
部分的权限,可以发现在defPermissions
中自定义了这个权限:
查阅HarmonyOS
官网发现对于自定义权限有以下要求:
日志中xxx
和yyy
这两个应用都是公司的应用,这两个应用申请了相同的自定义权限所以在真机上就无法安装,远程模拟器和远程真机中只有其中一个应用因此无法复现这个问题。
那这个权限是怎么引入的呢?
我们的应用集成了HMS
的分析服务,开发的时候参考了官方的demo
,
在abilities
添加permissions
的时候,看到ide
这边显示是红的,就自行添加了这个自定义权限。实际上这个自定义权限在官网的demo
中是没有添加的,因此造成了这个问题。
【解决步骤】
在xxx
和yyy
应用中去掉自定义的com.huawei.agconnect.core.DataAbilityShellProvider.PROVIDER
就可以正常安装了。
在HarmonyOS
应用的开发过程中还是要严谨一些,遇到问题首先从日志切入找出根因,一定可以迎刃而解。
更多关于HarmonyOS 鸿蒙Next应用真机安装Failure[INSTALL_EXTRA_FAILED_DUPLICATE_PERMISSION]问题处理的实战教程也可以访问 https://www.itying.com/category-93-b0.html
刚遇到这个问题,分析的很准确~
更多关于HarmonyOS 鸿蒙Next应用真机安装Failure[INSTALL_EXTRA_FAILED_DUPLICATE_PERMISSION]问题处理的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
把自定义权限去掉后,能够正常安装。 那为啥会飘红呀
针对HarmonyOS(鸿蒙)Next应用真机安装时遇到的INSTALL_EXTRA_FAILED_DUPLICATE_PERMISSION
问题,这通常表明你的应用尝试声明一个已经在系统中或另一个已安装应用中声明的权限,且该权限不允许被重复声明。
处理此问题的步骤如下:
-
检查权限声明:首先,检查你的
AndroidManifest.xml
文件中声明的权限。确认是否有权限被重复声明,或者是否不小心包含了系统保留的权限。 -
权限冲突检查:如果你的应用依赖于其他库或框架,确保它们没有引入与你声明的相同权限。这可能需要查看这些库或框架的文档或源代码。
-
清理和重建:清理项目并重新构建,有时IDE或构建工具的缓存可能导致此类问题。
-
真机测试:确保在真机上测试,因为模拟器可能不完全反映真实设备的行为。
-
检查系统权限:某些权限可能是系统级别的,不允许应用重复声明。确认你的应用是否确实需要这些权限,或者是否可以寻找替代方案。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,