1. 当新建Android Library Project 工程或将已有工程转化为Android Library Project, 如果工程源代码中有如下语句:
int id = view.getId();
switch (id) {
case R.id.button1:
action1();
break;
case R.id.button2:
action2();
break;
case R.id.button3:
action3();
break;
}
会提示case expressions must be constant expressions 错误,原因是ADT14后Android库工程中R.class中的资源常量不在为final类型,原因
见http://tools.android.com/tips/non-constant-fields 官方解释。所以例子上面的R.id.button1不再问常量,就不能用在switch结构中,简单的解决
方法是将switch 转化成if-else语句,这在eclipse中非常容易实现,将光标置于switch关键字上,按ctrl+1,按下图进行装换
2. 如果Android Library Project中有Activity,可以不必再库工程的清单文件中声明,但一定要在使用该库的工程中进行声明,因为manifest 配置文件是独立给工程的,不能复用。
3. 如果Android Library Project中用到第三方jar包,也要讲其导入使用该库的工程中