Android 打包与其他应用共享的多个组件
我计划部署几个应用程序,这些应用程序将共享一个“核心功能助手”组件,并希望避免要求用户安装两个“应用程序”(例如“核心”+“插件组件X”)来开始。我还希望在安装两个或更多组件时,避免在用户设备上重复“帮助器”组件代码 因此,将有许多有效的安装。例如,设备上的一些有效安装可能是——Android 打包与其他应用共享的多个组件,android,Android,我计划部署几个应用程序,这些应用程序将共享一个“核心功能助手”组件,并希望避免要求用户安装两个“应用程序”(例如“核心”+“插件组件X”)来开始。我还希望在安装两个或更多组件时,避免在用户设备上重复“帮助器”组件代码 因此,将有许多有效的安装。例如,设备上的一些有效安装可能是—— 磁芯+插头A 核心+插件B 铁芯+插头A+插头B 磁芯+插头A+插头B+插头C 所有组件都有用户界面,核心将包括至少一个小部件,其他组件将从用户的角度“插入”到其中 在市场上,我想单独提供“插件A”、“插件B”等,而不
编辑:我对上面的问题进行了广泛的编辑,以使其更加清晰。我最初使用的术语“组件”是不幸的,因为它们不一定是Android代码组件(即活动、提供商、服务等)。我在上面的编辑中使用了术语“插件”,以明确这是为了方便用户在安装时使用,并避免在用户设备上重复代码 经过进一步的研究,我得出结论,从用户的角度来看,这是不可能优雅地完成的 实现这一目标最合适的方法是单独打包核心应用程序,当用户安装其中一个插件时,使用意图测试核心是否存在。如果没有,则将用户引导到市场,在那里他们可以安装核心应用程序。
将此标记为已关闭,但如果出现更好的答案,我将更新。经过进一步研究,我得出结论,从用户的角度来看,这无法优雅地完成 实现这一目标最合适的方法是单独打包核心应用程序,当用户安装其中一个插件时,使用意图测试核心是否存在。如果没有,则将用户引导到市场,在那里他们可以安装核心应用程序。
将此标记为关闭,但如果出现更好的答案,我将更新。这是我自己处理的问题。Android并不是为了在应用程序之间实现这种共享而设计的——出于安全考虑,这实际上是Android的设计原则。尽管您可能很难“删除”已安装应用程序的一部分,但您可能希望了解:a)服务、b)内容提供商,以及c)自定义类加载器。相反,Android非常适合这种共享。整个意图体系结构就是为此而设计的。问题是如何以一种降低复杂性和用户困惑的方式打包组件以供分发。。。。以及应用程序如何管理其他应用程序已安装的组件、取消发布有利于其自身的“国外”服务、验证其他应用程序组件的真实性等-这与Android的安全架构没有太大关系。-也许还可以看看,例如,并注意Android的sharedUserId。谢谢Hanno。我认为,您关于使用sharedUserId的建议,与ICS中添加的ACTION_UNINSTALL_软件包相结合,确实让我达到了我的目的。你能发布一个答案让我检查一下吗?还是我应该?这是我自己处理过的问题。Android并不是为了在应用程序之间实现这种共享而设计的——出于安全考虑,这实际上是Android的设计原则。尽管您可能很难“删除”已安装应用程序的一部分,但您可能希望了解:a)服务、b)内容提供商,以及c)自定义类加载器。相反,Android非常适合这种共享。整个意图体系结构就是为此而设计的。问题是如何以一种降低复杂性和用户困惑的方式打包组件以供分发。。。。以及应用程序如何管理其他应用程序已安装的组件、取消发布有利于其自身的“国外”服务、验证其他应用程序组件的真实性等-这与Android的安全架构没有太大关系。-也许还可以看看,例如,并注意Android的sharedUserId。谢谢Hanno。我认为,您关于使用sharedUserId的建议,与ICS中添加的ACTION_UNINSTALL_软件包相结合,确实让我达到了我的目的。你能发布一个答案让我检查一下吗,还是我应该?