最近在做软件的换肤,将图片等资源信息打入一个apk,然后在主程序中通过指定统一的android:sharedUserId,来获取皮肤资源apk中的数据资源从而达到换肤。
但是发现如果先卸载主程序后再安装主程序,会出现安装失败的问题。感觉和这个皮肤有关系,理论上假如皮肤资源在被使用的时候,那这样主程序有可能安装不上,但是已经卸载了主程序,应该不会有安装失败的问题,所以觉得可能和这个android:sharedUserId有关系,不知道有没有朋友做过换肤之类的工作,分享一下解决问题。

解决方案 »

  1.   

    我正在学习session and permission 里面的sharedUserId:因为安全执行发生在进程级,所以一些不同包中的代码在相同进程中不能正常的运行,自从他们需要以不同Linux用户身份运行时。你可以使用每一个包中的AndroidManifest.xml文件中的manifest 标签属性sharedUserId 拥有它们分配的相同用户ID。通过这样做,两个包被视为相同的应用程序的安全问题被解决了