2014-09-11 83 views
0

有一個應用程序的android,這是一個網絡服務的客戶端在一些網址。使用CI服務器(TeamCity)上的gradle構建項目。我需要構建一個Web服務地址的應用程序,並且樂於這麼做=)構建gradle時如何傳輸這個設置?我希望你可以在控制檯的程序集或gradle配置文件中指定一個參數,這個參數將在應用程序中使用。我很滿意,如果這個設置是硬編碼(它沒有提供它在應用程序中的更改)或者需要用gradle創建一個文件並使用apk安裝到設備上?在這種情況下我應該把它放在哪裏?對不起我的英語不好。不是我的本地人。我希望我的問題很清楚。什麼是最好的方法?我如何從應用程序內的代碼中獲取它?Gradle集Android項目配置

我有什麼:TeamCity的,gradle這個,Android的項目

我想要什麼:建立與無代碼的一些設置(服務器API的地址),Android項目改變

回答

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"; 
} 

而且在我的代碼finaly使用(我用RoboSpice):

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