我们正在构建连接到云的 Xamarin.Android 应用程序。 对于不同的环境,即开发、登台和生产,我们有不同的云 URL。 每次为特定环境生成 APK 时,我都会手动更改 URL。 我遇到了改变“ flavor ”的 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。我知道这不是最佳解决方案,而且容易出错。
最佳答案
我可能会为开发、暂存和生产定义不同的构建配置(在项目选项中)。然后您可以定义符号(在选项的编译器页面中)并使用预处理器指令更改代码中 ApplicationUrl 的定义。然后,构建每一个都只是在下拉列表中选择适当的配置的问题。
我还会更改每个配置的输出路径,以便将 APK 写入不同的文件夹,以减少对每个 APK 构建时使用的配置可能产生的混淆。
缺点是,如果您更改任何其他项目选项,您需要确保对每个配置进行更改,但由于这种情况并不经常进行,因此这可能是一个合理的妥协。
关于android - 为不同的环境构建不同的 APK (Xamarin.Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29484061/