2016-01-21 71 views
1

我正在使用大量使用Rest服務的Android應用。
爲了開發和調試,我在本地運行Rest服務器(在我的筆記本上)。在家裏,我有靜態IP地址,因此,我可以把 一個靜態字符串放在我的build.gradle中。
但是,如果我從其他地方工作,我總是必須檢查筆記本的IP地址並編輯我的build.gradle。在build.gradle中自動設置本地IP地址

現在我很好奇:有沒有辦法將當前本地IP地址自動插入到我的build.gradle中?

android { 
    ... 

    buildTypes { 
     debug { 
      ... 
      resValue "string", "host_name", "192.168.0.102" // <--- should be set automatically 
     } 
     release { 
      ... 
      resValue "string", "host_name", "example.com/rest/" 
     } 
} 
+0

不,這是不可能的 –

+1

由於Gradle是Groovy,如果您可以找出Groovy代碼來查找您的本地IP地址,那麼您可以在'resValue'語句中使用該值:http://blog.digital-morphosis.com /2010/06/getting-ip-addresses-of-local-machine.html – CommonsWare

回答

4

您可以使用Groovy的方法來查找本地IP地址:

resValue "string", "host_name", InetAddress.localHost.canonicalHostName 

另外,您也可以使用hostAddress代替canonicalHostName