flutter:切换开发环境、正式环境
一,在android studio上做配置



说明:用 --dart-define来定义环境的参数
二,代码:
1,Config类
class Config {
static String env = "";
//接口的host
static String get apiHost {
switch (env) {
case "devel":
return "http://apidev.mysite.com";
case "prod":
return "http://apiprod.mysite.com";
default:
return "http://apiprod.mysite.com";
}
}
//访问api的本地key
static String get apiKey {
switch (env) {
case "devel":
return "api_devel_key";
case "prod":
return "api_prod_key";
default:
return "api_prod_key";
}
}
}
2,接收参数
import 'package:tangpoem/conf/Config.dart';
void main() {
//得到MYENV参数的值,没有值时默认为正式环境
String myVar = const String.fromEnvironment('MYENV');
print("myVar:"+myVar);
if (myVar == 'devel') {
Config.env = "devel";
} else {
Config.env = "prod";
}
print("Config.env:"+Config.env);
runApp(MyApp());
}
3,调用Config类
print("api的地址:"+Config.apiHost);
print("api的key:"+Config.apiKey);
三,测试效果:
1,测试环境时:
I/flutter (14070): api的地址:http://apidev.mysite.com
I/flutter (14070): api的key:api_devel_key
2,正式环境时:
I/flutter (14430): api的地址:http://apiprod.mysite.com
I/flutter (14430): api的key:api_prod_key
浙公网安备 33010602011771号