使用eclipse导入/framework/app目录下的部分应用的时候,会出现错误。
以AlarmClock代码为例,出现的错误提示有:Intent.ACTION_ALARM_CHANGED无法访问等。查看源码Intent.java文件发现public static final String ACTION_ALARM_CHANGED = "android.intent.action.ALARM_CHANGED";这句是@hide的。
解决办法:
1)在linux系统下,解压源码后,输入make命令,即可生成class.jar。文件路径一般是:out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.jar
2)把该jar,引入到APP工程里面
3)把改jar包的位置调整到默认jar的上面即可。选择项目属性->Java Build Path->Order and Export,class.jar移到Android SDK的上面
4)clean下工程即可