在看listview源码时发现有些方法报红,但是编译能通过,clean rebuild都没用
这是因为这些方法或者类是被androidSDK隐藏的,出于安全或者某些原因,这些API不能暴露给应用层的开发者,所以编译完成的android.jar包里会把这些API隐藏掉,而我们的Android项目是依赖android.jar的,查看源码的时候,IDE会自动去android.jar找对应的API,自然会找不到。当然,这些API在ROM中是实际存在的,有些开发者发现了一些可以修改系统行为的隐藏API,在应用层通过反射的方式强行调用这些API执行系统功能,这种手段也是一种HACK。
这是官方出于安全方面的原因,没有将全部的API都暴露给开发者,所以报红其实是正常的。并不会影响项目的运行,假如想看源码的话,可以去android开发者网站看。
网友评论