如何解决如何为Android建立不同的构建环境?
| 我有数十个用于Facebook和Twitter的api密钥以及许多其他服务,根据我是否进行开发构建,分阶段构建与生产构建,使密钥具有不同值的标准方法是什么?解决方法
您可以在开关块中使用静态标志来定义键。这适用于具有两个或三个备用键的简单项目。
如果确实有很多,要在多个项目中使用,建议您将它们添加到帮助器类中,这样可以最大程度地减少类中的代码更改。就像是:
public class BuildHelper {
public static final int DEBUG=0;
public static final int STAGING=1;
public static final int PRODUCTION=2;
public static int BUILD;
public static String getFbKey() {
switch(BUILD) {
case DEBUG: return \"xxx\";
case STAGING: return \"yyy\";
case PRODUCTION: return \"zzz\";
}
return null;
}
public static String getTwitterKey() {
switch(BUILD) {
case DEBUG: return \"xxx\";
case STAGING: return \"yyy\";
case PRODUCTION: return \"zzz\";
}
return null;
}
}
并将其用作:
public class YourClass extends Activity {
public static String FB_KEY;
public static String TWITTER_KEY;
//etc.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BuildHelper.BUILD=BuildHelper.DEBUG; // or STAGING or PRODUCTION
FB_KEY = BuildHelper.getFbKey();
TWITTER_KEY = BuildHelper.getTwitterKey();
//etc.
}
}
, 我会将它们保存在单独的属性文件中,并根据您的工作在构建脚本/ Eclipse类路径中引用适用的属性文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。