美文网首页经验总结Android 日常收录Android开发
Android Studio 查看Android内部隐藏源码

Android Studio 查看Android内部隐藏源码

作者: zhang_pan | 来源:发表于2018-04-10 21:27 被阅读593次

问题的发现

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

问题的解决

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

1.png

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

2.png

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

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

  1. 关闭Android Studio
  2. 下载对应API版本的Android.jar
  3. 替换SDK/platforms/android-版本/Android.jar
  4. 重新打开Android Stuido就可以查看

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

总结

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

喜欢本篇博客的简友们,就请来一波点赞,您的每一次关注,将成为我前进的动力,谢谢!

相关文章

网友评论

  • 北杨:第二条不推荐在工作环境使用,不然你的队友会各种文件爆红,自己回家玩儿吧
    北杨:@zhang_pan 我已经把备份还原了 回去家里电脑搞吧,工作环境需谨慎:joy:
    北杨:@zhang_pan 很多自动生成的代码会直接用hide内容,队友没换资源,当然就出错了
    zhang_pan:@木上贝 这个跟队友有什么关系,那是自己的环境,只会自己出问题
  • 海在路上:第二条简直神了,谢谢:smile:
    zhang_pan:@海在路上 哈哈,不客气,但也要注意公司开发的版本,可能会涉及到隐藏函数的调用,所以替换的还留着,方便以后替换回来
  • 有点健忘:第一个网站不错,我都是跑到sdk下找的,没这个搜索方便
    zhang_pan:@有点健忘 哈哈,能帮到你是我的荣幸:stuck_out_tongue_winking_eye:

本文标题:Android Studio 查看Android内部隐藏源码

本文链接:https://www.haomeiwen.com/subject/bwpnhftx.html