2017-06-13 46 views
0

大多數情況下,我的應用程序是一個包裹在瀏覽器中的簡單應用程序。我懷疑常規應用程序有同樣的問題,但是當我部署我的應用程序進行測試時,我需要將其指向測試服務器,當我轉向生產時我希望在生產中使用它。目前,我們部署一個版本進行測試,更改一些配置,然後部署一個新版本,並基本上跳過測試狀態。似乎應該有一個非常簡單的方法來做到這一點。我的Android應用程序如何知道我是否正在生產或測試中運行

作爲獎勵,你是否也知道iOS方法。

+0

這不是100%清楚你的要求 - 這聽起來像你已經捆綁了你的開發/生產建立不同的配置,這是一個非常標準的方法。這裏有什麼問題? –

+0

那麼,我們所做的是在測試完成後創建一個全新的應用程序。因此,我已經構建了14例如,通過測試配置完成的測試配置,然後使構建15指向生產服務器,然後我跳過beta測試,因爲我不想測試生產。 – Brent

+0

難道你基本上沒有嗎,考慮到整個Android調試與發佈構建機制? –

回答

1

您可以配置的build.gradle自動解析生成類型:

android { 
    ... 
    buildTypes { 
     def BOOLEAN = "boolean" 
     def TRUE = "true" 
     def FALSE = "false" 
     def LOG_HTTP_REQUESTS = "LOG_HTTP_REQUESTS" 
     def REPORT_CRASHES = "REPORT_CRASHES" 
     def ENABLE_VIEW_SERVER = "ENABLE_VIEW_SERVER" 
     def ENABLE_SHARING = "ENABLE_SHARING" 
     def DEBUG_IMAGES = "DEBUG_IMAGES" 

     debug { 
      ... 
      buildConfigField BOOLEAN, LOG_HTTP_REQUESTS, TRUE 
      buildConfigField BOOLEAN, REPORT_CRASHES, FALSE 
      buildConfigField BOOLEAN, ENABLE_VIEW_SERVER, TRUE 
      buildConfigField BOOLEAN, ENABLE_SHARING, TRUE 
      buildConfigField BOOLEAN, DEBUG_IMAGES, TRUE 
     } 

     client { 
      ... 
      buildConfigField BOOLEAN, LOG_HTTP_REQUESTS, TRUE 
      buildConfigField BOOLEAN, REPORT_CRASHES, TRUE 
      buildConfigField BOOLEAN, ENABLE_VIEW_SERVER, FALSE 
      buildConfigField BOOLEAN, ENABLE_SHARING, FALSE 
      buildConfigField BOOLEAN, DEBUG_IMAGES, FALSE 
     } 

     release { 
      ... 
      buildConfigField BOOLEAN, LOG_HTTP_REQUESTS, FALSE 
      buildConfigField BOOLEAN, REPORT_CRASHES, TRUE 
      buildConfigField BOOLEAN, ENABLE_VIEW_SERVER, FALSE 
      buildConfigField BOOLEAN, ENABLE_SHARING, FALSE 
      buildConfigField BOOLEAN, DEBUG_IMAGES, FALSE 
     } 
    } 
} 
相關問題