正文  基础知识 > 程序示例 >

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

将两个或者多个应用放到一个进程的方法如下:在<manifest>里面添加: android:sharedUserId,注意这个属性的取值必须包含点(dot),也就是诸如java packae的形式。比如com.aaa.bbb。没有dot的话,将来adb in......

将两个或者多个应用放到一个进程的方法如下:

 

  1. 在<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都要填写的一样。
     
  2. 在<manifest>里面添 加:android:sharedUserLabel="@string/shared_user_label",这个label必须是一个string 资源,不能是raw string。所有application都要填写的一样。
     
  3. 在<application>里面添 加:android:process="xxx.xxx.xxx",这里所有的application都要填写的一样,内容就是process的名字,一 般来说Android中process的名字就是manifest中的package的取值。
     
  4. 所有的application用同样的一 个key来sign。如果用Eclipse ADT plugin开发,由于所有的application都使用同一个debug key来sign,所以这一步没有什么额外的工作。更具体的有关sign apk的细节,参考Android文档:http://androidappdocs.appspot.com/guide/publishing /app-signing.html