Android安装apk应用的时候出现INSTALL_FAILED_SHARED_USER_INCOMPATIBLE如何解决
前言
如果你安装app时出现INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
的错误
那么你大概率在manifest
文件中增加了android:sharedUserId="android.uid.system"
,此属性的作用是将普通app提升为系统app(这样就能使用一些系统权限,例如在应用外显示弹窗)
针对此问题,网上大部分讨论的是去除android:sharedUserId
这个属性,但是如果你的目的就是想使用此属性,并且能安装上去,那么请尝试下面的解决方法。
注意:使用android:sharedUserId
的同时,还需要android系统的key
,不同的系统的key
都是不一样的,一般只提供给专门的开发人员,即使你能百度到一个,也无法在其他android设备上使用。所以如果你想在Android Studio自带的模拟器或者自己手机上使用此属性,请放弃。
1. 对android设备进行root
首先考虑app是否有root权限,运行adb root
和adb remount
命令,某些情况下运行adb remount
后还要重启android系统root才能生效。
2. 卸载旧app再运行
尝试卸载旧的app,然后重新运行程序,大概率就能正常运行。如果定制的android系统上卸载功能找不到,可以使用adb uninstall <apk的包名>
的形式来卸载。
3. 手动放置apk
如果你的app已经是系统应用,且无法直接卸载,考虑去系统路径下(例如:system/app/
)找到自己的应用,然后通过替换安装包的形式来完成安装(替换完成后需要重新系统才能生效)。
注意:有些系统应用被错误删除后可能会影响正常使用,例如:Launcher
或SystemUI
,所以更改系统apk时建议先对旧的安装包进行备份,使用adb pull <手机文件路径> <本机路径>
的命令可以将android中的文件保存到电脑上。
相关文章
- 一个Java程序员对2011年的回顾
- 大数据发展历程
- Android高级进阶之路【一】Android中View绘制流程浅析
- 可信服务管理(Trusted Service Manager)介绍
- GIS应用|快速开发REST空间分析服务
- 未来十年微软长盛不衰的两项战略
- 领域驱动设计模式的收益与挑战
- cocos 3.0 一键打包android平台应该注意的细节
- 数智化时代,驱动企业转型升级的“三驾马车”是什么?
- 基于MINA构建高性能的NIO应用
- 使用Rainbond实现离线环境软件交付
- 工作流引擎 jBPM 5.2 发布
- 微信小程序Minium自动化测试(三)
- 桌面应用抢先体验,这次有点料!
- 甲骨文Java专利遭拒 起诉Android侵权受挫
- 云计算的应用领域及发展前景
- Java效率真的很低吗?Android为何要采用?
- Android高级进阶之路【二】十分钟彻底弄明白 View 事件分发机制
- 庖丁解牛之-Android平台RTSP|RTMP播放器设计
- 手机直付,超级方便