【问题标题】:How can I deploy multiple mobile apps from a single code base (one per customer)?如何从单个代码库(每个客户一个)部署多个移动应用程序?
【发布时间】:2014-10-21 12:03:45
【问题描述】:
我们有一个多租户网络应用程序,并且正在扩展到移动领域。我们已经构建了我们的应用程序的原生移动版本,我们希望将其部署为“每个客户/租户的应用程序”,以便我们的每个客户在应用商店中都有自己的应用程序。每个部署都会有微不足道的定制,但代码库是相同的。
如何使用 Visual Studio 实现这一点?是否有关于这种方法的参考资料?这种方法是否有通用定义(例如多租户单代码库移动)。 :)
我们将 Xamarin 用于跨平台支持(仅供参考)。
【问题讨论】:
标签:
visual-studio-2012
mobile
xamarin
app-store
【解决方案1】:
这可以通过将所有共享代码放在Android Library Project 中,然后为每个引用库项目的应用程序包创建一个Android Application Project 来实现。
教程
转到 Xamarin Studio 并创建一个新项目。在 Android 下有一个名为 Android Library Project 的项目类型;此项目可以包含您所有共享的共享代码和资源,这些共享代码和资源将链接到最终应用程序中。
对于这个示例,我将我的共享项目称为SharedCode.Core。
创建此项目后,创建另一个项目,这次使用 Android Application Project 类型:
Android 应用程序项目 (SharedCode.ClientOne) 可以使用 Xamarin 中的常规引用系统引用此共享项目。双击引用文件夹打开对话框,您将看到SharedCode.Core 可作为参考。勾选复选框以将其包含到SharedCode.ClientOne。
从这里您可以访问 SharedCode.Coreproject 结构中的任何内容,就像它在 SharedCode.ClientOne 中一样,但是 AndroidManifest.xml 文件是基于 Android 应用程序项目 (SharedCode.ClientOne) 生成的。这意味着不同的 Android 应用程序使用相同的代码库具有不同的包名称!
就我个人而言,我在 Android 应用程序项目中只有一个活动作为库项目的入口点(例如启动屏幕)。
祝你好运!