zoukankan      html  css  js  c++  java
  • Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]

    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

    应用安装涉及到如下几个目录:

    system/app               系统自带的应用程序,无法删除

    data/app                   用户程序安装的目录,有删除权限。安装时把apk文件复制到此目录

    data/data                   存放应用程序的数据

    Data/dalvik-cache   将apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一)

    安装过程:

    复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录。

    卸载过程:

    删除安装过程中在上述三个目录下创建的文件及目录。

  • 相关阅读:
    jQueryEasyUi行编辑打造增删改查
    css样式DEMO
    jqueryEasyui常用代码
    Jquery easyui tree 一些常见操作
    EasyUI项目中的自定义JS
    easyui里弹窗的两种表现形式
    EasyUI扩展方法
    JS-easyui 扩展easyui.datagrid,添加数据loading遮罩效果代码
    Being a Hero (hdu 3251 最小割 好题)
    AWS携手上海嘉定政府推出首个联合孵化器 为创业公司拓展AWS云服务可用资源
  • 原文地址:https://www.cnblogs.com/exmyth/p/5527561.html
Copyright © 2011-2022 走看看