Android如何处理多个APK使用的公共库安装?

时间:2012-10-01 22:03:37

标签: android

假设我在android包com.mycompany.Client1和com.mycompany.Client2中有代码,并且这两个客户端都使用com.mycompany.CommonService中定义的服务

我有一个选项,我们可以分发我们的Android应用程序,使apk只包含Client1,仅包含client2或Client1和Client2

那么应该创建com.mycompany.CommonService作为库并将client1和client2链接到该库吗?或者我应该创建三个apk并将它们提交到市场?

但是我不会在设备上造成存储膨胀,因为现在如果有人购买了Client1(或Client2),那么该库会被安装两次。然后购买Client1 + Client2无论如何都可以解决这个问题?

我不知道有关apk如何在设备上构建和解压缩的详细信息,并且不知道Android安装程序是否足够聪明,不能安装CommonService库两次?

-Subodh

1 个答案:

答案 0 :(得分:1)

Android安装不够智能(也不应该)不安装每个应用程序的全部内容。每个apk / app都是它自己的进程,两者中相同的“库”模块将占用每个应用程序中的空间,除非开发人员使用公共服务apk。开发人员可以使用PackageManager之类的东西找出设备上的其他应用程序,然后提示用户安装它们。