我正在开发一款大量使用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/"
}
}
答案 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;