Gradle设置Android项目配置

时间:2014-09-11 07:40:54

标签: android gradle settings

这是一款适用于Android的应用程序,它是某个网址上的网络服务的客户端。在CI服务器(Teamcity)上使用gradle进行项目构建。我需要构建一个Web服务地址的应用程序,并希望快乐地做到这一点=)如何在构建gradle时传输此设置?我希望您可以在控制台或gradle配置文件中的程序集中指定一个参数,该文件将在应用程序中使用。我很满意这个设置是硬编码(它没有提供应用程序中的更改)还是需要用gradle创建一个文件并将其安装到带有apk的设备?在这种情况下我应该把它放在哪里?对不起我的英语不好。不是我的原生。我希望我的问题很明确。什么是最好的方法?如何从应用程序内部的代码中获取它?

我拥有:teamcity,gradle,android-project

我想要的是:使用一些设置(服务器API的地址)构建android项目而无需更改代码

1 个答案:

答案 0 :(得分:1)

就我而言,这已经足够了:

在build.gradle中,在defaultConfig块内:

defaultConfig
    {
        ...
        buildConfigField 'String', 'ServerAddress', '"http://example.com"'
        ...
    }

它在BuildConfig.java中生成:

public final class BuildConfig 
{
    ...
    public static final String ServerAddress = "http://example.com";
}

最终用在我的代码中(我使用RoboSpice):

@Rest(rootUrl = BuildConfig.ServerAddress, converters = { MappingJackson2HttpMessageConverter.class })
public interface IRestClient
{
...