AndroidStudio导入源码并优化

0. 序言

Android源码非常大,如果不加处理导入AS,会很卡...

1. 修改AndroidStudio虚拟机内存大小

进入AndroidStudio的bin目录

vi studio64.vmoptions
-Xms2048m
-Xmx2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djna.nosys=true
-Djna.boot.library.path=

-da
-Dawt.useSystemAAFontSettings=lcd
-Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine

虚拟机内存大小根据自己的计算机配置适度改变。

2. 生成导入AS所需配置文件(*.ipr)

切换到源码根目录,执行以下代码:

source build/envsetup.sh
lunch

选择你要编译的版本,编译userdebug的,然后执行下面这一行代码:

make idegen && development/tools/idegen/idegen.sh

3. 导入源码到AS

打开AS,点击open an existing project, 选取源码的根目录,选择android.ipr文件,点击完成。

4. 设置SDKS

  • 创建一个空的JDK,把Classpath下的内容都删除掉,效果如下。


    AndroidStudio导入源码并优化_第1张图片
    创建一个空的JDK
  • 选中一个Android API,然后把空的JDK配置给它


    AndroidStudio导入源码并优化_第2张图片
    配置空的JDK给API

5. 加快AS读取源码速度

源码导入后,会一直indexing,等它结束。点击File-Project Structure-选择Modules,把除了frameworks和packages之外的目录设置为Excluded,意思是让AS不再扫描这些目录下的代码。


AndroidStudio导入源码并优化_第3张图片

AS会短暂的卡住,稍等片刻即可。

6. 设置Modules的依赖

  • 选择刚才配置好的SDK API作为Module SDK


    AndroidStudio导入源码并优化_第4张图片
    Android API 29 作为 Module SDK
  • 把frameworks和external目录添加进来,记得把Export下的其他jar都删除。


    AndroidStudio导入源码并优化_第5张图片
    添加 frameworks和external目录

7. 后续

如果大家喜欢这篇文章,欢迎点赞!
如果想看更多 framework 方面的文章,欢迎关注!
你的点赞和关注,是对我莫大的支持和鼓励,我将会花更多的时间和精力在分享技术上!

你可能感兴趣的:(AndroidStudio导入源码并优化)