为不同的环境构建不同的APK(Xamarin.Android)

时间:2015-04-07 04:57:55

标签: android xamarin xamarin.android xamarin-studio

我们正在构建连接到云的Xamarin.Android应用程序。 我们针对不同的环境提供不同的云URL,即开发,分段和生产。 每当我为特定环境生成APK时,我发现自己手动更改了URL。 我遇到了Gradle / ANT的改变方式"味道"但由于Xamarin无法使用,我该怎么做呢?如何在Xamarin中管理不同的环境?它是否使用MSBuild配置文件?任何帮助将不胜感激!

编辑: 我目前有什么:

 /// <summary>
///     The application URL for PROD
/// </summary>
//private const string ApplicationUrl = "https://prod.azure-mobile.net/";

/// <summary>
///     The application URL for DEV
/// </summary>
private const string ApplicationUrl = "https://dev.azure-mobile.net/";

在这种情况下,我们手动评论/取消注释不同版本(Dev / Staging / Prod)的URL并生成APK。我知道它不是最佳解决方案,容易出错。

1 个答案:

答案 0 :(得分:1)

我可能会为开发,分期和生产定义不同的构建配置(在项目选项中)。然后,您可以定义符号(在选项的“编译器”页面中),并使用预处理程序指令在代码中更改ApplicationUrl的定义。建立每一个只需在下拉列表中选择适当的配置即可。

我还会更改每个配置的输出路径,以便将APK写入不同的文件夹,以减少可能混淆每个APK构建的配置。

缺点是,如果您更改任何其他项目选项,则需要确保对每个配置进行更改,但由于这种情况不常发生,因此可能是合理的妥协。