Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]
2016-05-25 16:34
316 查看
在Android studio中想要运行程序,点击运行后程序安装失败,报出如下异常:
原因:在manifest中设置了 .android:sharedUserId="android.uid.system" 属性,但是没有相应的系统签名。
在apk安装时,系统默认会给每个app分配一个uid,在/data/system/packages.xml文件中可以查看到所有安装的app的uid。在默认情况下每个app有自己的uid,只能够访问自己的数据,如果多个app设置了相同的uid,他们就能运行在同一个进程中,就能够实现数据的共享。
当程序想要获取系统权限时,将android:SharedUserId 属性设置为”android.uid.system",可以让程序运行在系统进程中,能够实现系统时间的修改。 但是只是设置sharedUserId并不能够实现去获取系统权限,想要获取系统权限还必须要有相应的签名。
关于程序安装:
http://www.miui.com/thread-759958-1-1.html
应用安装涉及到如下几个目录:
[align=left]system/app 系统自带的应用程序,无法删除[/align]
data/app 用户程序安装的目录,有删除权限。安装时把apk文件复制到此目录
[align=left]data/data 存放应用程序的数据[/align]
Data/dalvik-cache 将apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一)
[align=left]安装过程:[/align]
复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录。
[align=left]卸载过程:[/align]
删除安装过程中在上述三个目录下创建的文件及目录。
原因:在manifest中设置了 .android:sharedUserId="android.uid.system" 属性,但是没有相应的系统签名。
在apk安装时,系统默认会给每个app分配一个uid,在/data/system/packages.xml文件中可以查看到所有安装的app的uid。在默认情况下每个app有自己的uid,只能够访问自己的数据,如果多个app设置了相同的uid,他们就能运行在同一个进程中,就能够实现数据的共享。
当程序想要获取系统权限时,将android:SharedUserId 属性设置为”android.uid.system",可以让程序运行在系统进程中,能够实现系统时间的修改。 但是只是设置sharedUserId并不能够实现去获取系统权限,想要获取系统权限还必须要有相应的签名。
关于程序安装:
http://www.miui.com/thread-759958-1-1.html
应用安装涉及到如下几个目录:
[align=left]system/app 系统自带的应用程序,无法删除[/align]
data/app 用户程序安装的目录,有删除权限。安装时把apk文件复制到此目录
[align=left]data/data 存放应用程序的数据[/align]
Data/dalvik-cache 将apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一)
[align=left]安装过程:[/align]
复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录。
[align=left]卸载过程:[/align]
删除安装过程中在上述三个目录下创建的文件及目录。
相关文章推荐
- xilinx sdk debug 无法进入main函数解决方法
- 免费超大量邮件发送服务Amazon SES和Mailgun提供SMTP和API支持
- mailx for smtps over qqexmail
- 关于上gmail 出现需要验证链接
- 以form表单上传文件,接口不响应,后台显示"file" does not contain '/'
- jenkins-info-Mail-configure
- [leetcode] 【数组】70. Climbing Stairs
- async/await Task Timeout
- Mail::Sender
- SendEmail使用TLS发送邮件
- 飛飛(四十七)定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和。
- software security training 的一些总结
- MyDetailedOS
- 3D打印技术冲突传统制造业,将导致更多工人下岗?
- PyCharm: Simplify chained comparison
- failed to load the jni shared library:“……jre\bin\client\jvm.dll”
- 高级IO中socketpair实现进程间通信以及重定向
- 【转】foxmail突然打不开了,双击没反应,怎么回事呀
- AIX sshd提示fatal: mm_memvalid: address too large: ffff0000
- 3dsMax之CoCreateInstence() failed报错