![3513995-300e22b7e6a90b4b.png](https://i-blog.csdnimg.cn/blog_migrate/d955db0b4200fea9d9e3642ba5ccbe13.png)
在我们Android 开发中,适配一直都是一个老大难的问题,因为手机系统版本的不同,可能你的APP 在这个手机上运行良好,到其他手机上就直接崩溃,或者出错了。这个时候,我们就需要对各个版本进行适配了。比如说Android 6.0 以上需要动态申请权限的适配,Android 7.0需要文件访问FileProvider的适配等等。
Google 在版本升级的时候,会更改某些类的源码,那么在适配版本的时候,我们要知道在这个版本中,这个类改了哪些东西。因此我们就需要看源码了,当然,我们的开发工具Android Studio 是直接可以关联源码查看的,很方便。但是有一个问题,他只能看你当前版本的源码。而不能同时看比如:Android 5.0,6.0,7.0的源码。 这个时候,我们就需要一个可以方便查看各版本源码的工具了。本篇文章就给大家推荐两个可以在线查看源码的工具。前面写过PopupWindow
适配的文章,没看过的可以看看:
从源码剖析PopupWindow 兼容Android 6.0以上版本点击外部不消失
1. GrepCode
工具1:grepCode
网址:http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/
打开网址,首页是这样
![3513995-5ce9f2b9ba5ee234.jpg](https://i-blog.csdnimg.cn/blog_migrate/9041307e31ab53280731c3aeb2a77a3c.jpeg)
在输入框输入你想要搜索的类(比如前面适配PopupWindow),如PopupWindow,来到下面的界面
![3513995-5393dbc56445a156.jpg](https://i-blog.csdnimg.cn/blog_migrate/5d232e2a792fb3f4a2f12123fc346d3c.jpeg)
查找到了很多关于PopupWindow的类,我们关心的当然只有android.widget
下面的PopupWindow
。选择一个版本进去,就可以看看这个版本下这个类的源码了
![3513995-462fa85cf60b4729.jpg](https://i-blog.csdnimg.cn/blog_migrate/0475f32f8784d45eceb374aef89d6e05.jpeg)
左边列出了类的所有方法和属性,点击就能跳转到对应的方法,非常方便,并且代码中也支持方法的关联跳转。
优点:
- 1 . 能够方法属性关联跳转(点击调到对应方法),找某一个方法很方便。
- 2 . 还有一些其他的功能,如diff(直接版本对比,和git的一样)
-
3 . 关联了Stack Overflow, 直接可以查看关于你查找的类在Stack overflow上面的一些问题和答案
image
缺点:
- 只更新到了Android 5.1.1 版本。不知道后面会不会更新到最新版本...
2. 安装 chrome 插件:(Android SDK Search)
工具2:Android SDK Search
安装方法:
![3513995-1a0ca381ba5be8be.jpg](https://i-blog.csdnimg.cn/blog_migrate/0d9379515f0b63be5b16393e287a8007.jpeg)
然后搜索:Android SDK Search 插件安装
![3513995-6896f2e8800b8102.jpg](https://i-blog.csdnimg.cn/blog_migrate/cfafe70bd665eeb14f6605623448e601.jpeg)
使用方法:
安装成功之后就可以在Android develop 官网网查找对应的类,地址:https://developer.android.com/reference/packages.html ,还是以PopupWindow
为例,搜索PopupWindow,界面如下:
![3513995-b5aadd644d3a14dd.jpg](https://i-blog.csdnimg.cn/blog_migrate/6058c9c954a8a63c3641fb62bf67b2e3.jpeg)
注意左上角的蓝色标签view source ,安装了这个插件才会出现的,没有安装插件的时候是没有的。当然了,左边的菜单栏还可以选择对应的版本,如下:
![3513995-f975823318e2e77f.jpg](https://i-blog.csdnimg.cn/blog_migrate/217e7f0cb1a7a20ffa8854a6477ca79c.jpeg)
看到没?这个终于是到最新版本的(毕竟是官网),选择你需要的版本,然后点击view source 标签,就可以查看源码了。
![3513995-8825fea032172766.jpg](https://i-blog.csdnimg.cn/blog_migrate/a1777bf370c07ea2710ee18e4c271be3.jpeg)
但是这个方式就没有 GrepCode 那么爽了,左边没有列出全部方法,查看的时候也不能关联跳转,要看哪个方法,就只有慢慢找了。
优点:
- 可以查看最新版本的源码。
缺点:
- 不支持关联跳转,查找代码费劲。
- 需要科学上网。
3 . 总结
两个工具各有各的优缺点,可以配合使用,如果需要查看最新版本的源码,就用第二种方法,如果你想看看源码,又不能科学上网,可以用GrepCode。如果你还有其他方法,欢迎补充。