要想进阶?先导源码

关于阅读源码,本号之前推送过一篇非常详尽的文章教大家如何方便的阅读framework源码:

大致为在线查看:

http://androidxref.com/

https://www.androidos.net.cn/sourcecode

替换adk中android.jar直接在as中查看:

https://github.com/anggrayudi/android-hidden-api

直接下载framework代码,配合一些工具查看

https://github.com/aosp-mirror/platform_frameworks_base

不过总是有偶尔缺少一些类,该来的总是要来的。

下载完整源码

大家应该都有过这样的想法:

我一定要抽时间下载一个android源码自己编一下

然后都遇上以下几种情况:

情况一:

开启百度

搜索:“如何编译android源码”

打开,兴致满满…

这么麻烦…下次吧。

情况二:

开启百度

搜索:“如何编译android源码”

打开,兴致满满…

需要存储空间几十G

我电脑好像没有这么多空间,再见。

不瞒各位,我也是上述的情况,一直拖延很久很久才第一次下载完整源码,还是一位刚入行不久的同事push了我一把,感谢!

所以…

我来push一下大家吧。

希望这一次不要给自己找借口拖延,找个时间就导入吧。

目标

下载完整源码,可以在Android Studio中自由查看。

就像这样:

《要想进阶?先导源码》 image

随手搜一个我们原生系统,运行时权限弹框的Activity吧:

<pre style=”margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; color: rgb(51, 51, 51); font-size: 17px;公众-style: normal; font-variant: normal; font-weight: normal; letter-spacing: 0.544000029563904px; line-height: 27.2000007629395px; orphans: auto; text-align: justify; text-indent: 0px; text-transform: none; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);”>

GrantPermissionsActivity

</pre>

这个类因为在独立的模块,所以常规的导入framework代码是看不到的。

《要想进阶?先导源码》 image

步骤

本文无限感谢:

https://juejin.im/post/5bd5c42ce51d457a9b6c8387

整体下载也是按照这篇文章来的,所以这里我简单讲一下核心步骤,这篇文章应该更详细一些。

1. 下载源码

2. 下载repo工具,检出源码

3. 很多时候编译是个非常让人头大的问题,但是总有一些可爱的人帮我们完成了这些步骤

https://github.com/difcareer/AndroidSourceReader

给我们提供了各个版本导入as所需的编译产物。

于是我们clone,下来copy进去就行了。

4. 导入Android Studio

5. over…

总结下,就是下载源码,repo导出,放入编译所需产物文件,导入AS即可。

具体参考上述的文章即可,我就不重复出现太多内容了。

基本上没有特别复杂的操作,如果你还没有导入过源码,给自己设立个TODO吧,这算是一件非常有意义的事情,对你之后源码阅读有些无限的帮助。

好了,本文结束,准备在未来的文章中会出现很多类似的任务,大多数都是对大家实实在在非常有益的事情,如果愿意,不防践行下。

转微信公众号:鸿洋

    原文作者:Android开发架构
    原文地址: https://www.jianshu.com/p/91a550813186
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞