`
JasonShieh
  • 浏览: 528670 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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
分享到:
评论
1 楼 c7887qin 2018-04-24  
貌似还要使用相同的证书进行签名。。。

相关推荐

    新版Android开发教程.rar

    Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...

    Android通过共享用户ID来实现多Activity进程共享

    然而,当两个或多个应用在AndroidManifest.xml文件中设置相同的sharedUserId时,它们会被赋予相同的UID,这使得它们可以像同一个应用一样运行在同一个进程中,或者互相访问彼此的数据。 要设置共享用户ID,你需要在...

    Android应用源码之aidl跨进程调用-IT计算机-毕业设计.zip

    本资源“Android应用源码之aidl跨进程调用”是一个针对Android应用的毕业设计示例,旨在帮助开发者深入理解并实践这一关键功能。下面将详细介绍Android中的aidl(Android Interface Definition Language)及其在跨...

    同一个任务中的活动(Activity),分别隶属于两个进程

    总的来说,将同一个任务中的Activity分别隶属于两个进程是一种高级的Android编程技术,它涉及到进程通信、资源管理和安全性等多个方面。理解并熟练运用这一技巧,有助于开发者构建更健壮、高效和安全的应用程序。

    android-framework-hal

    - **Activity和ApplicationContext的作用**:这两个类在Android应用程序中扮演重要角色。 #### 7.4 ServiceManager - **ServiceManager的功能**:用于管理和控制服务的启动和生命周期。 #### 7.5 专题讨论:Led...

    Eclipse关联源码—android-19.zip

    Eclipse关联源码—android-19.zip是一个包含Android 19版本源代码的压缩文件,主要用于开发者在Eclipse环境中进行Android应用开发时,能够深入理解Android系统的内部工作原理,进行调试和定制。这个源码库是Android...

    Android学习笔记--Binder

    总结来说,Binder机制是Android系统中实现进程间通信的关键,它使得Android能够有效地管理多个应用程序和服务之间的交互,保证了系统的稳定性和效率。理解和掌握Binder的工作原理对于深入学习Android开发至关重要。...

    安卓后台服务相关-android双进程监控保证服务杀死后重启.rar

    双进程监控的核心思想是将服务放在两个不同的进程中,一个主进程负责启动服务,另一个辅助进程则持续监控主进程的状态。如果主进程中的服务被意外终止,辅助进程可以检测到这一情况并重新启动服务,从而实现服务的...

    Android跨进程通信demo

    8. **MP3Demo**和**RHello**:这两个工程可能分别展示了多媒体处理(如播放MP3文件)和资源操作(如加载资源文件)的示例,它们在Android应用开发中也是非常常见的需求。 通过这些项目,开发者不仅可以学习到...

    Android杀不死的进程ForkNDK示例,双进程守护

    在Android系统中,一个应用程序通常由一个主进程运行,该进程包含了应用的所有组件,如Activity、Service等。然而,为了实现更高的稳定性和抗干扰能力,开发者有时需要创建一个"杀不死"的进程,以确保即使在主进程被...

    Android跨进程渲染demo

    在Android系统中,进程是应用程序的基本执行单元,每个应用程序通常默认在一个单独的进程中运行。然而,在某些场景下,为了提高应用性能或者实现特定功能,如后台服务、多媒体处理等,我们可能需要进行跨进程通信...

    Android多媒体开发04-框架.ppt

    如果两个应用共享相同的Linux用户ID,它们将共用一个Linux进程和虚拟机,以提高系统效率。 2. 系统启动流程: - Linux内核加载:引导加载器启动Linux内核进入内存。 - 初始化进程:执行`init.rc`脚本,创建系统...

    安卓双进程守护

    在安卓系统中,一个应用程序通常运行在一个单独的进程中,但有时候开发者可能需要创建一个双进程应用,以确保即使主进程被系统或者其他原因杀死,服务或关键功能仍然能够继续运行。这种技术被称为“双进程守护”,它...

    Android-Surface-.rar_android surface_surface

    首先,Surface是Android系统中的一个抽象接口,它提供了一个安全的多线程环境,使得多个进程可以在同一时间更新屏幕内容而不会产生冲突。在Android应用中,尤其是涉及到动画和多媒体播放时,Surface扮演了关键角色。...

    操作系统复习题

    - **进程死锁定义**:死锁是指两个或多个进程因争夺资源而无限期地等待对方释放已占有的资源的现象。 #### 29. 产生死锁的原因和必要条件是什么? - **死锁原因**:资源竞争和不合理的资源分配策略。 - **必要条件...

    Android-fmpeg和ffprobeandroid命令行工具

    在本文中,我们将深入探讨Android上的FFmpeg和ffprobe以及如何在Android应用中集成和使用这两个工具。 **1. FFmpeg** FFmpeg是一个跨平台的开源项目,包含了多个库和工具,如libavcodec(编码库)、libavformat...

    AIDL跨进程学习代码

    描述中提到“客户端和服务端相当于两个进程,同时开启,然后客户端去调用服务端”,这正是AIDL的主要应用场景。客户端作为调用方,启动服务端进程并与其交互,服务端则提供可被远程调用的方法。 以下是AIDL的基本...

    Socket-android.zip_Android Socket_android_android socket_andr

    在这个"Socket-android.zip"压缩包中,包含了一个完整的Android Socket通信聊天应用示例,包括客户端(Client)和服务器端(Server)的实现。下面我们将深入探讨Android中的Socket编程及其在聊天应用中的应用。 1. ...

    Android高级编程--源代码

    由于现有的手机应用程序的开发是构建在各手机厂家的私有操作系统之上的,所以它限制了第三方应用程序的开发,而Android为我们提供了一个开放和通用的选择。因为没有了人为制造的障碍,所以Android开发人员可以自由地...

    安卓Widget小组件相关-AppWidge不用通过点击直接添加到应用程序中.rar

    - **构成**:一个AppWidget通常由一个或多个布局文件(XML)、一个AppWidgetProvider(扩展自BroadcastReceiver的类)和一个配置活动(可选)组成。 2. **添加Widget到应用**: - 用户通常通过长按主屏幕,选择...

Global site tag (gtag.js) - Google Analytics