Android - 如何将两个/多个应用放到一个进程中去?


在<manifest>里面添加: android:sharedUserId,注意这个属性的取值必须包含点(dot),也就是诸如java packae的形式。比如com.aaa.bbb。没有dot的话,将来adb install xxx.apk就会出错:Failure [INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID]。最晕死的就是这一点在Android文档中没有提到,感谢万能的google赐予了我答案。所有application都要填写的一样。
在<manifest>里面添加:android:sharedUserLabel="@string/shared_user_label",这个label必须是一个string资源,不能是raw string。所有application都要填写的一样。
在<application>里面添加:android:process="xxx.xxx.xxx",这里所有的application都要填写的一样,内容就是process的名字,一般来说Android中process的名字就是manifest中的package的取值。
所有的application用同样的一个key来sign。如果用Eclipse ADT plugin开发,由于所有的application都使用同一个debug key来sign,所以这一步没有什么额外的工作。更具体的有关sign apk的细节,参考Android文档:http://androidappdocs.appspot.com/guide/publishing/app-signing.html

猜你喜欢

转载自jasonshieh.iteye.com/blog/2396933