2016-01-21 58 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