现在android的开发平台基本都是4.0版本了,但是GreenDroid的源码好像还是一直存在这个问题。
直接下载DreenDroid的源码,然后导入GreenDroid包到eclipse,编译的时候遇到activity中定义的getActionBar()方法会出现错误:
Multiple markers at this line
- The return type is incompatible with Activity.getActionBar()
- overrides android.app.Activity.getActionBar
原因是GreenDroid的activity继承自android.app.Activity,在android 3.0之后这个Activity类中就包含了getActionBar方法,所以DreenDroid的getActionBar方法在编译的时候就会作为重载方法,但是返回的类型却与父类Activity不一致,就导致了这个编译错误。
目前我的解决方法是直接把GreenDroid的方法名称改为getGDActionBar(),然后将其他地方对此方法的调用做相应的修改。
因为Activity必须实现父类的抽象getActionBar方法,所以还要新增一个getActionBar方法,返回null即可:
public android.app.ActionBar getActionBar() {
return null;
}
PS:在GreenDroid中还有一个问题就是默认的开发包会依赖google的jar包,但是很多时候我们开发应用根本不会用到google map之类的功能,编译的时候也没有使用google api,这种情况直接将google相关的类文件删除即可。
转载请注明出处:一介码农