我有一个Android项目,其中包含多个不同服务器的配置。在代码中,有一个switch语句,用于确定应用程序使用的服务器,具体取决于config中变量的值。它看起来像这样:
switch (TARGET_DOMAIN) {
case PRODUCTION:
api = "http://app.api.{omitted domain}.com/api/";
break;
case STAGING:
api = "http://staging.{omitted domain}.com/api/";
break;
case LOCAL:
api = "http://192.168.1.4:8000/api/";
break;
case EMULATOR:
api = "http://10.0.2.2:8000/api/";
break;
default:
throw new IllegalStateException("TARGET_DOMAIN is unset");
}
我有兴趣知道是否有某种方法可以在编译期间以编程方式用本地IP编程替换LOCAL下的IP(进行编译的机器的本地IP)。我正在使用Eclipse,如果这有所作为。这是可能的还是我只是一个疯狂的人?
如果您知道我可以消除EMULATOR案例并且如果应用程序在Android模拟器上运行,则智能地确定为10.0.2.2,那么
奖励积分。