Android权限之shareUserId
项目中看到过shareUserId,了解了这个配置特性
1.关于shareUserId
每一个APK在安装到设备上的时候,设备都会为其分配一个单独的空间,mainfest中的userid就是对应一个Linux用户都会被分配到一个属于自己的统一的Linux用户ID,并且为他创建一个沙箱,以防止影响其他程序。用户ID在应用程序安装到设备中时被分配。
通过在AndroidMainfest.xml设置android:shareUserId
可以让拥有同一个Userid的多个应用运行在统一进程,或者不同进程。多个相同UserId的应用可以互相随意访问数据。
2.共享UID步骤
1.在AndroidMainfest.xml设置相同的
android:shareUserId
2.在Android.mk中增加LOCAL_CERTIFICATE的定义。
如果增加了上面的属性但没有定义与之对应的LOCAL_CERTIFICATE的话,APK是安装不上去的。提示错误是:Package com.test.MyTest has no signatures that match those in shared user android.uid.system; ignoring!也就是说,仅有相同签名和相同sharedUserID标签的两个应用程序签名都会被分配相同的用户ID。例如所有和media/download相关的APK都使用android.media作为sharedUserId的话,那么它们必须有相同的签名media。
3.把apk的源码放到package/apps/目录下,用mm进行编译
3.使用shareUserId=”android.uid.system“的好处
提升app的优先级,内存不足少被杀