在build.gradle中自动设置本地IP地址

时间:2016-01-21 14:09:00

标签: android gradle build.gradle

我正在开发一款大量使用Rest服务的Android应用程序 对于开发和调试,我在本地运行Rest服务器(在我的笔记本上)。在家里,我有静态IP地址,因此,我可以把 build.gradle中的静态字符串。
但如果我在其他地方工作,我总是要检查笔记本的IP地址并编辑我的build.gradle。

现在我很好奇:有没有办法将当前的本地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/"
        }
}

2 个答案:

答案 0 :(得分:4)

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

hostAddress

或者,您也可以使用canonicalHostName代替MailItem.PropertyAccessor

答案 1 :(得分:1)

我添加了awser,因为将来可能会需要它

在项目的build.graddle中,将buildConfigField行添加到默认配置中:

defaultConfig {
    applicationId "com.foo.bar"
    minSdkVersion 25
    targetSdkVersion 25
    buildConfigField 'String', 'IP_LOCAL_SERVER', "\"${InetAddress.localHost.hostAddress}\""
}

然后在您的代码中可以调用

localIP = BuildConfig.IP_LOCAL_SERVER;