在应用程序开发期间,我希望应用程序能够连接回它所构建的计算机(通过Wifi)。
由于我们有多个开发人员,因此每个开发人员都会使用不同的IP地址。
我该怎么做?
(有些开发人员在Windows 7上使用AndroidStudio,在Ubuntu 14.04LTS上使用其他AndroidStudio。)
答案 0 :(得分:3)
我会考虑使用Gradle来自定义您的构建,例如将主机的IP添加为构建期间生成的BuildConfig.java文件中的常量。
此页面描述了您可以使用的非常类似的案例:Inject dynamic host IP address with Gradle
答案 1 :(得分:3)
这是我的解决方案。保持干净的git状态真的很有用。
/**
* Find the first LAN address of the development machine.
*/
def getDevHost = { ->
def defaultDevHost = InetAddress.getLocalHost()
.getCanonicalHostName()
return NetworkInterface.getNetworkInterfaces()
.findResult(defaultDevHost) {
def ifOk = it.isUp() &&
!it.isVirtual() &&
!it.isPointToPoint() &&
!it.isLoopback() &&
!it.getName().startsWith("br-") //
if (ifOk)
return it.getInetAddresses().find {
it instanceof Inet4Address &&
!it.isLoopbackAddress()
}
else
return null
}
}
我将它用于项目的单个buildType
:
android {
// ...
buildTypes {
// ...
dev {
// ...
buildConfigField "String", "BACKEND_URL", "\"http://${getDevHost()}:9000/\""
}
}
}
答案 2 :(得分:0)
我猜这些事情应该到位
应为您的工作站分配一个静态IP地址,以便应用程序连接到它。
可以在此处找到用于编写此类设置的代码。我很久以前就给出了这个答案。
适用于Ubuntu
我希望它有所帮助。