我的Android应用程序如何知道我';我正在生产或测试中运行

我的Android应用程序如何知道我';我正在生产或测试中运行,android,mobile,Android,Mobile,在大多数情况下,我的应用程序是一个围绕浏览器的简单应用程序。我怀疑常规应用程序也有同样的问题,但当我部署应用程序进行测试时,我需要将其指向测试服务器,当我转到生产时,我希望它在生产中使用。目前我们部署一个版本进行测试,更改一些配置,然后部署一个新版本,基本上跳过测试状态。似乎应该有一个非常简单的方法来做到这一点 另外,您还知道iOS方法吗。您可以配置build.gradle自动解析生成类型: android { ... buildTypes { def BOOLE

在大多数情况下,我的应用程序是一个围绕浏览器的简单应用程序。我怀疑常规应用程序也有同样的问题,但当我部署应用程序进行测试时,我需要将其指向测试服务器,当我转到生产时,我希望它在生产中使用。目前我们部署一个版本进行测试,更改一些配置,然后部署一个新版本,基本上跳过测试状态。似乎应该有一个非常简单的方法来做到这一点


另外,您还知道iOS方法吗。

您可以配置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
        }
    }
}

还不是100%清楚你在问什么-听起来你已经在为你的开发/产品构建捆绑不同的配置,这是一个相当标准的方法。这里的问题是什么?我们要做的是在测试之后创建一个全新的应用程序构建。例如,我用测试配置完成了构建14,通过beta测试,然后我构建了构建15,指向生产服务器,然后跳过beta测试,因为我不想在生产上进行测试。你基本上不这样做吗,考虑到整个Android调试与发布构建机制?你有没有看过Gradle的“产品风格”?显然我是Android开发新手,我只是找不到任何人问这个问题。