1

我曾尝试对此主题进行研究,但没有找到我认为“正确”的答案。SO上有几个类似的帖子,但像大多数人一样,我认为我的问题是不同的...... :-)。提前感谢您的任何帮助。

我正在开发一个内置培训模块的应用程序。并非所有用户都需要始终在其设备上提供所有培训模块。此外,这些模块将占用大量资源,这就是我不想将它们全部包含在基础应用程序中的原因。我的想法是提供额外的 APK 包(具有相同的签名),以便这些模块可以自由交互。问题是:

  1. 我在某处读过(但无法再次找到链接),如果不同的 APK 使用相同的签名,它们可以相互通信。如果这不是真的,请告诉我。
  2. 我如何能够在这些 APK 之间共享代码?我已阅读有关共享资源的信息,但现在确定代码共享将如何工作。
  3. 如果这不是解决这个问题的最佳方法,我欢迎任何不同方法的方向。

我对我的应用程序的这个特定部分仍处于研究模式,因此,我可以采用的设计方法非常灵活。

谢谢...

4

1 回答 1

0

我在某处读过(但无法再次找到链接),如果不同的 APK 使用相同的签名,它们可以相互通信。如果这不是真的,请告诉我。

任何应用程序都可以“相互交谈”。使用相同的签名密钥对两个或多个签名允许您定义自定义签名级别的权限,这意味着只有您的应用程序可以“相互通信”,而其他开发人员的应用程序不能通过相同的方式与您通信。

我如何能够在这些 APK 之间共享代码?

理想情况下,你不会。当然欢迎您让一个应用调用由另一个应用公开的 API:

  • 开始活动
  • 启动或绑定到服务
  • 发送广播
  • 访问内容提供者

并且这些 API 可以通过上面提到的自定义签名级别权​​限来保护,因此它们是仅适用于您的应用系列的 API,而不是供任意应用使用的 API。

于 2012-09-18T11:40:19.927 回答