我的应用程序有2种构建类型:debug和release。
我想对两种构建类型执行测试。
但目前只测试了一种Build Type。默认情况下,它是调试构建类型,但可以使用以下命令重新配置: android { ... testBuildType"发布" }
我想逐个执行 connectedDebugAndroidTest 和 connectedReleaseAndroidTest 而不更改gradle文件。
是否可以使" testBuildType" 有条件? 因此,根据gradle任务中的构建变量(connectedDebugAndroidTest和connectedReleaseAndroidTest),它将对该构建执行测试。
答案 0 :(得分:2)
我不确定,但这对我有用。如果你想在应用程序中根据构建变量(调试和发布)执行代码,那么你可以使用以下代码。
这适用于活动java文件。
public void printMessage()
{
if (BuildConfig.DEBUG)
{
//App is in debug mode
}
else
{
//App is released
}
}
如果您想签入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"'
}
}
第二种方式
android {
testBuildType obtainTestBuildType()
}
def obtainTestBuildType() {
def result = "debug";
if (project.hasProperty("testBuildType")) {
result = project.getProperties().get("testBuildType")
}
result
}
有关详细信息,请查看this,this和this stackoverflow应答。
我希望你能得到解决方案。