{ "code": -112, "message": "Package is attempting to define a permission that is...
错误信息
{
"code": -112,
"message": "Package is attempting to define a permission that is already defined by another installed package",
"fullMessage": "INSTALL_FAILED_DUPLICATE_PERMISSION: Package com.android.thememanager attempting to redeclare permission miui.permission.DUMP_CACHED_LOG already owned by com.miui.core",
"location": "",
"INSTALLING_PKG": "com.android.thememanager",
"MANUFACTURER": "XIAOMI",
"DEVICE_MODEL": "23043RP34C",
"DEVICE_ABIS": "arm64-v8a,armeabi-v7a,armeabi",
"OS_VERSION_CODE": 34,
"APP_VERSION_NAME": "26.6.0",
"VERSION": "APKZ.20260701.01.zh_cn",
"SPI_READY": null,
"MIUI_READY": false,
"SZK_READY": true,
"SOLUTION": "szk",
"TRICHROME": [
672308633,
787112833
],
"SPIV": 0,
"GPS": 85233230,
"GMS": 262662022,
"UA": "Mozilla/5.0 (Linux; Android 14; 23043RP34C Build/UKQ1.240624.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/150.0.7871.124 Safari/537.36 Apkz/26.6.0"
}
AI 解决方案
1. 🌐 错误翻译
原文:Package is attempting to define a permission that is already defined by another installed package
译文:软件包正试图定义一个权限,而该权限已被其他已安装软件包定义
原文:INSTALL_FAILED_DUPLICATE_PERMISSION: Package com.android.thememanager attempting to redeclare permission miui.permission.DUMP_CACHED_LOG already owned by com.miui.core
译文:INSTALL_FAILED_DUPLICATE_PERMISSION:软件包 com.android.thememanager 试图重新声明权限 miui.permission.DUMP_CACHED_LOG,该权限已被 com.miui.core 所有
2. 🎯 原因分析
- 根本原因:Android系统权限重复定义冲突。应用
com.android.thememanager在安装时尝试声明miui.permission.DUMP_CACHED_LOG权限,但该权限已被系统级应用com.miui.core提前声明并占用。 - 具体位置:问题发生在APK安装阶段,系统检测到权限重复声明,阻止安装。
- 上下文:在小米设备上,系统级权限由
com.miui.core等核心应用独占,第三方应用不能重复定义同名权限,否则会导致安装失败。
3. 💡 解决方案
移除重复的权限声明:在 com.android.thememanager 的 AndroidManifest.xml 文件中删除重复的权限定义。
<!-- 错误示例:在Manifest中声明了重复权限 -->
<permission
android:name="miui.permission.DUMP_CACHED_LOG"
android:protectionLevel="signature"/>
<!-- 正确做法:直接删除上述重复的权限声明节点 -->
如果确实需要使用该权限,应改为申请使用权限而非定义权限,确保与系统权限声明不冲突:
<!-- 正确示例:只申请使用该权限,不重复定义 -->
<uses-permission android:name="miui.permission.DUMP_CACHED_LOG"/>
4. 🛡️ 预防措施
- 权限定义规范:自定义权限时,先全局检索确认权限名称未被系统或其他已安装应用使用,避免命名重复;优先采用应用专属前缀命名(如
com.yourpackage.xxx)。 - 系统权限核查:集成系统级权限前,查阅目标设备的官方权限清单,明确系统独占权限,切勿擅自重复定义;使用
adb shell pm list permissions命令检查系统中已存在的权限定义。 - 开发阶段检查:借助Android Studio的Manifest检查工具,自动扫描权限冲突,提前发现重复定义问题,避免进入安装阶段才发现报错。