我正在尝试实现一个带有一个核心和多个插件的模块化Android应用程序。
这个想法是你下载主核心APK,如果你需要一个功能,应用程序将从远程服务器(可能是Android市场)下载它,并将其安装为第二个不可启动的应用程序(没有启动器)然后从该新插件中激活一个意图。
应用程序是否可以下载并安装APK 而无需用户启动 - 如果它们都使用相同的密钥签名?
理由是,可能有两个(或更多)团队为陆上和海上的同一应用程序开发代码,并且不会在它们之间共享代码,只有接口。
我们的容量已经达到最大值,但业务需要更多工作,我们不会交出源代码。
谢谢,
约翰
答案 0 :(得分:1)
如果用户使用相同的密钥签名,应用程序是否可以下载并安装该APK而无需用户启动它?
这取决于“发起”的含义。你可以自己下载APK。您可以使用正确的MIME类型触发ACTION_VIEW
Intent
以启动安装程序。然后,用户必须单步执行安装程序以确认安装,批准所请求的权限等。
将其安装为第二个不可启动的应用程序(无启动器)
这可能不起作用。在Android 3.1+上,应用程序最初安装在“已停止”状态。值得注意的是,在用户手动启动新安装的应用程序的活动之前,BroadcastReceviers
才会生效。如果用户没有从该应用程序手动启动某些内容,我不知道您的应用是否能够启动其他应用的活动(或服务)。我没有尝试过这种情况。
恕我直言,您的“离岸”人应该编写Android库项目,然后将其集成到您的应用中。