之前一直在windows下用source insight阅读android源码,效果非常好。
后来远程异地服务器,网络限制,一直用ssh + vim,现在主要还是以这种方式。
最近发现一个不错的东西(早就有了),在android源码中有这么一个目录development/tools/idegen。
顾名思义,是生成ide的project文件,主要是生成intellij的project文件,当然也可用于android studio。
使用之后,发现效果超棒,所以这里专门撰文推荐。

1、效果图

2、编译idegen模块
源码要编过,不然idegen没法生成。
提示:

1
        <div class="line number2 index1 alt1">
          2
        </div>
        
        <div class="line number3 index2 alt2">
          3
        </div>
        
        <div class="line number4 index3 alt1">
          4
        </div>
        
        <div class="line number5 index4 alt2">
          5
        </div>
      </td>
      
      <td class="code">
        <div class="container">
          <div class="line number1 index0 alt2">
            `// 找不到idegen,需要全局编译一下`
          </div>
          
          <div class="line number2 index1 alt1">
            `/*`
          </div>
          
          <div class="line number3 index2 alt2">
            `ubuntu:~/Data/cyanogenmod$ . development/tools/idegen/idegen.sh`
          </div>
          
          <div class="line number4 index3 alt1">
            `Couldn't find idegen.jar. Please run make first.`
          </div>
          
          <div class="line number5 index4 alt2">
            `*/`
          </div>
        </div>
      </td>
    </tr>
  </table>
</div>

但是我相信很多看源码的人是不需要编译的,所以只要我上传一个idegen.jar:
http://jayfeng-files.stor.sinaapp.com/idegen.jar
把这个文件copy到out/host/linux-x86/framework/目录下:

      <td class="code">
        <div class="container">
          <div class="line number1 index0 alt2">
            `$ cp idegen.jar ../cyanogenmod/out/host/linux-x86/framework/idegen.jar`
          </div>
        </div>
      </td>
    </tr>
  </table>
</div>

然后在cyanogenmod目录下执行:

1
1
        <div class="line number2 index1 alt1">
          2
        </div>
        
        <div class="line number3 index2 alt2">
          3
        </div>
        
        <div class="line number4 index3 alt1">
          4
        </div>
        
        <div class="line number5 index4 alt2">
          5
        </div>
      </td>
      
      <td class="code">
        <div class="container">
          <div class="line number1 index0 alt2">
            `/*`
          </div>
          
          <div class="line number2 index1 alt1">
            `$ . development/tools/idegen/idegen.sh`
          </div>
          
          <div class="line number3 index2 alt2">
            `Read excludes: 21ms`
          </div>
          
          <div class="line number4 index3 alt1">
            `Traversed tree: 54700ms`
          </div>
          
          <div class="line number5 index4 alt2">
            `*/`
          </div>
        </div>
      </td>
    </tr>
  </table>
</div>

在我的电脑上花了54s多生成完毕,查看目录,多了2个文件:android.ipr和android.iml。

3、导入到android studio
打开Android studio,点击File > Open,选择刚刚生成的android.ipr就好了。
过一会儿可以在android studio完美打开了,如前面的截图

4、小结
可以结合android studio,界面,智能提示都比source insight要好,超赞!

 

转自:http://www.cnblogs.com/qianxudetianxia/p/3721202.html

 

整个源码肯定分模块的,默认使用framework.jar没有源码,但是可以通过相应的模块attach source到当前源码的方式现实源码,比如阅读framework源码:

这样再在framework中就可以再源码中跳转了

💬 评论