您的位置:首页 > 移动开发 > Android开发

Android Studio 查看Android内部隐藏源码

2018-06-26 17:32 1571 查看

问题的发现

今天查看AlertDialog源码的时候,看到AlertController,发现关于这部分的代码全都报红,原来AlertController类在com.android.internal.app这个包下,看这个包名internal(内部的),也就是说这部分代码是Google公司由于安全和稳定等因素考虑,是不对外开放的。

问题的解决

这个问题,其实一直都有,但是以前没仔细查看这些隐藏的源码,一带而过罢了!那有问题,总得解决啊,这个该怎么解决呢?其实解决办法还是有的:
第一种解决办法:
http://androidxref.com/ 这个网址下面有Android各个版本的源码(包括C层的),都是在线的,很方便查看:



随意点击一个版本就去,我们输入我们想要找的类:



我们找到这个类,点击进去就能查看这个类的源码了,还是比较方便的。

第二种解决办法:
GitHub已有人去除Android.jar中@hide注解,这里的源码算是比较全的(注意只能是比较全,对于C层的代码还是没有的,因为只是jar包)
地址: https://github.com/anggrayudi/android-hidden-api

关闭Android Studio

下载对应API版本的Android.jar

替换SDK/platforms/android-版本/Android.jar

重新打开Android Stuido就可以查看

这时候我们就可以在Android Studio中随意查看这些隐藏的Api了。

总结

两种方法其实都是可以的,两种方法都有自己的优缺点。第一种方法简单,包含C层源码,但是查看代码,跳转不是很方便;第二种方法比较适合查看Java源代码,跳转方便,但是没有C层源码。一般我用的时候,都是两者配合使用,效率会更好一点!

Android源码地址:https://www.androidos.net.cn/sourcecode
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android Studio Android