2016-10-28 79 views
0

我想改用字符串值调试和发布建立在BuildConfig文件:如何从gradle确定调试版本?

def api= "\"api\""; 

     if (...){// What to set here to determine is build debug or not ? 
      api= "\"api-debug\""; 
     } 


defaultConfig { 
    ... 
    buildConfigField "String", "API", "${api}" 
... 
} 

回答

3

你应该在的buildTypes像这样的范围内设置多个buildConfigField S:

android { 
    // ... 
    buildTypes { 
     debug { 
      buildConfigField "String", "API", "api-debug" 
     } 
     // ... 
    }  
} 

对于一些更细节见例如this article

1

您也可以通过创建单独的资源文件夹来实现此目的。但是,如果你想实现它gradle这个文件,然后通过添加这些行创建独立的字符串都建立

android { 
    ... 
    buildTypes { 
     release { 
      ... 
      resValue "string", "api_string", "api-release\" 
     } 
     debug { 
      ... 
      resValue "string", "api_string", "api-debug\" 
     } 
    } 
} 

添加这些行后,生成项目更新build.gradle,并且可以使用获得的java字符串context.getString(R.string.api_string)但请注意,strings.xml的名称中不应有任何字符串,其名称为api_string