如何从单个代码库(每个客户一个)部署多个移动应用程序?

时间:2014-10-21 12:03:45

标签: visual-studio-2012 mobile xamarin app-store

我们有一个多租户网络应用程序,我们正在扩展到移动领域。我们已经构建了我们应用的原生移动版本,我们希望将其部署为每个客户/租户的应用程序"这样我们的每个客户都可以在应用商店中拥有自己的应用。每个部署都将进行简单的自定义,但代码库将是相同的。

如何使用Visual Studio实现这一目标?这种方法有参考资料吗?这种方法是否有一个共同的定义(例如,多帐户 - 单代码库 - 移动)。 :)

我们正在使用Xamarin进行跨平台支持(只是一个fyi)。

1 个答案:

答案 0 :(得分:0)

这可以通过将所有共享代码放在Android Library Project中,然后为引用库项目的每个应用程序包创建Android Application Project来实现。

教程

转到Xamarin Studio并创建一个新项目。在 Android 下,有一个名为 Android Library Project 的项目类型;此项目可以包含将链接到最终应用程序的所有共享共享代码和资源。

enter image description here

对于此示例,我正在调用我的共享项目SharedCode.Core

创建此项目后,创建另一个项目,这次使用 Android应用程序项目类型:

enter image description here

Android应用程序项目(SharedCode.ClientOne)可以使用Xamarin中的常规引用系统引用此共享项目。双击references文件夹打开对话框,您将看到SharedCode.Core可用作参考。勾选复选框以将其包含在SharedCode.ClientOne

enter image description here

从这里,您可以访问SharedCode.Core项目结构中的任何内容,就像它位于SharedCode.ClientOne中一样,但AndroidManifest.xml文件是基于Android应用程序项目(SharedCode.ClientOne)生成的。这意味着不同的Android应用程序,使用相同的代码库具有不同的包名称!

就个人而言,我在Android应用程序项目中只有一个活动作为库项目的入口点(例如启动画面)。

祝你好运!