"testBuildType"可以在Android项目的build.gradle文件中有条件吗?

Khu*_*hah 8 android gradle gradlew build.gradle android-gradle-plugin

我有两种构建类型的应用程序:调试和发布.

我想对两种构建类型执行测试.

但目前只测试了一种Build Type.默认情况下,它是调试构建类型,但可以使用以下命令重新配置:android {... testBuildType"release"}

我想逐个执行connectedDebugAndroidTestconnectedReleaseAndroidTest而不更改gradle文件.

是否有可能使"testBuildType"成为条件?因此,根据gradle任务中的构建变量(connectedDebugAndroidTest和connectedReleaseAndroidTest),它将对该构建执行测试.

Sha*_*esh 5

我不确定,但这对我有用。如果您想根据应用程序中的构建变量(调试和发布)执行代码,则可以使用以下代码。

这是用于活动 java 文件。

public void printMessage()
{
    if (BuildConfig.DEBUG)
    {
        //App is in debug mode
    }
    else
    {
        //App is released
    }
}
Run Code Online (Sandbox Code Playgroud)

如果要签入build.gradle文件,请按照以下代码进行操作。

第一种方式

buildTypes {
    debug {
      buildConfigField "String", "SERVER_URL", '"http://test.this-is-so-fake.com"'
    }

    release {
      buildConfigField "String", "SERVER_URL", '"http://prod.this-is-so-fake.com"'
    }

    mezzanine.initWith(buildTypes.release)

    mezzanine {
        buildConfigField "String", "SERVER_URL", '"http://stage.this-is-so-fake.com"'
    }
}
Run Code Online (Sandbox Code Playgroud)

第二种方式

android {
    testBuildType obtainTestBuildType()
}

def obtainTestBuildType() {
    def result = "debug";

    if (project.hasProperty("testBuildType")) {
        result = project.getProperties().get("testBuildType")
    }

    result
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请检查stackoverflow 答案。

我希望你能得到你的解决方案。


归档时间:

查看次数:

2973 次

最近记录:

8 年,9 月 前