2015-04-07 106 views
0

我們正在構建一個連接到雲的Xamarin.Android應用程序。 我們針對不同的環境有不同的雲URL,即開發,分期和生產。 每當我爲特定環境生成APK時,都會發現自己手動更改網址。 我遇到了Gradle/ANT改變「口味」的方法,但由於它在Xamarin中不可用,我該如何去做呢?如何管理Xamarin中的不同環境?它使用MSBuild配置文件嗎?任何幫助,將不勝感激!針對不同環境構建不同的APK(Xamarin.Android)

編輯: 我目前有:

/// <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/"; 

在這種情況下,我們手動註釋/取消註釋的URL的不同構建(開發/分期/生產)和產生的APK。我知道這不是一個最佳的解決方案,並且容易出錯。

+0

這聽起來像是使用[T4文本轉換](https://msdn.microsoft.com/en-us/library/bb126445.aspx)的候選人。你可以包含一些你想要實現的樣本/僞代碼嗎?這會給我一些工作來爲你建立一個樣本。 – matthewrdev

+0

另外,您如何區分開發/分期/生產版本?這是一個手動過程還是由像Bamboo或Jenkins這樣的自動構建系統標記? – matthewrdev

+0

@MattR這是一個手動過程(不涉及竹子/詹金斯)。添加了僞代碼。 –

回答

1

我可能會在Development,Staging和Production中定義不同的構建配置(在Project Options中)。然後,您可以定義符號(在選項的Compiler頁面中)並使用預處理器指令來更改代碼中ApplicationUrl的定義。構建每一個只是在下拉菜單中選擇適當的配置。

我還會更改每個配置的輸出路徑,以便將APK寫入不同的文件夾,以減少有關構建每個APK的配置的任何可能混淆。

缺點是,如果您更改任何其他項目選項,您需要確保您對每個配置都進行更改,但由於此操作不經常進行,因此可能是一個合理的折中方案。

相關問題