这是一篇我个人在EOE发的blog《多个Apk共享在一个进程中》,由于eoe的blog系统实在是无言以对,我就把eoe上面的帖子以及blog是都转到csdn上来,原帖地址:http://www.eoeandroid.com/blog-781265-50165.html
在做rom里的项目,做联系人,关联的有NumberLoaction和临时联系人的项目(这两个里面各自只有一个service),本来是各自跑在各自的进程中,因为要做performance优化,节省内存什么的,要求这三个跑在一个进程中,各种搜索和实验,研究了一下,解决方法如如下:
1、配置这三个项目的AndroidManifest.xml的根节点<manifest 中android:sharedUserId,比如android:sharedUserId="android.uid.shared"
2、配置这三个项目的
AndroidManifest.xml中<application节点 android:process为一致,一般情况为主app的包名,比如:android:process="com.suning.ucomm.contacts"
3、修改这三个项目的Android.mk中的
LOCAL_CERTIFICATE
为
LOCAL_CERTIFICATE := shared (这一点在网上搜索的时候看解释好像说不影响,但是我测试的时候,不设置就不生效)
2个进程,4个服务,TmpContactService和CallListeningService就是另外的两个,看图标也和联系人的图标不一致
另外相关参考在 http://www.eoeandroid.com/blog-781265-50034.html
2个进程,4个服务,TmpContactService和CallListeningService就是另外的两个,看图标也和联系人的图标不一致
另外相关参考在 http://www.eoeandroid.com/blog-781265-50034.html