AndroidStudio导⼊Android源码
Android 的源码代码量是⾮常⼤的,也有多种代码编辑器来供我们选择来去阅读Android源码,虽然在 Eclipse 和 SourceInsight 上阅读Android 源码也能带来很好的体验,但习惯于⽤ Android Studio 来作为应⽤开发⼯具的⼤家肯定也希望⽤它来阅读源代码。本⽂将介绍如何将 Android 源码导⼊到 Android Studio 中来的技巧。
导⼊源码
修改Android Studio的配置⽂件
由于导⼊源码时需要消耗⼤量内存,所以建议修改studio64.vmoptions⽂件:
-Xms1024m
-Xmx1024m
⽣成导⼊到Android Studio所需的配置⽂件
⾸先要编译⼀次源码,然后看有没有out/host/linux-x86/framework/idegen.jar
如果没有的话就执⾏⼀下下⾯的命令,⽣成out/host/linux-x86/framework/idegen.jar:
source build/envsetup.sh
mmm development/tools/idegen/
然后执⾏⼀下下⾯的命令:
development/tools/idegen/idegen.sh
会在根⽬录下⾯⽣成android.ipr和android.iml。
android.ipr ⼀般保存了⼯程相关的设置,⽐如modules和modules libraries的路径,编译器配置,⼊⼝点等。
android.iml ⽤来描述modules。它包括modules路径、 依赖关系,顺序设置等。⼀个项⽬可以包含多个 *.iml ⽂件。eclipse android
到这⼀步我们其实就可以导⼊到Android Studio⾥⾯去了。
过滤⼀些模块
如果把Android所有的源码全部导⼊到Android Studio⾥⾯去,⼯程将会⾮常⼤,⽽且会很耗时间,那么我们就可以把不需要的模块给过滤掉。
打开android.iml⽂件,加⼊以下代码,修改excludeFolder的配置:
这样我们就只导⼊了frameworks 和packages 的代码。
导⼊
File -> Open 选择源码⽬录就可以导⼊了,整个导⼊过程需要3分钟左右,然后就可以去阅读源码了。
⼀些配置
设置SDK 和
JDK
解决源码中跳转错误问题<excludeFolder url="file://$MODULE_DIR$/.repo"/>
<excludeFolder url="file://$MODULE_DIR$/abi"/>
<excludeFolder url="file://$MODULE_DIR$/frameworks/base/docs"/>
<excludeFolder url="file://$MODULE_DIR$/art"/>
<excludeFolder url="file://$MODULE_DIR$/bionic"/>
<excludeFolder url="file://$MODULE_DIR$/bootable"/>
<excludeFolder url="file://$MODULE_DIR$/build"/>
<excludeFolder url="file://$MODULE_DIR$/cts"/>
<excludeFolder url="file://$MODULE_DIR$/dalvik"/>
<excludeFolder url="file://$MODULE_DIR$/developers"/>
<excludeFolder url="file://$MODULE_DIR$/development"/>
<excludeFolder url="file://$MODULE_DIR$/device"/>
<excludeFolder url="file://$MODULE_DIR$/docs"/>
<excludeFolder url="file://$MODULE_DIR$/external"/>
<excludeFolder url="file://$MODULE_DIR$/hardware"/>
<excludeFolder url="file://$MODULE_DIR$/kernel-3.18"/>
<excludeFolder url="file://$MODULE_DIR$/libcore"/>
<excludeFolder url="file://$MODULE_DIR$/libnativehelper"/>
<excludeFolder url="file://$MODULE_DIR$/ndk"/>
<excludeFolder url="file://$MODULE_DIR$/out"/>
<excludeFolder url="file://$MODULE_DIR$/pdk"/>
<excludeFolder url="file://$MODULE_DIR$/platform_testing"/>
<excludeFolder url="file://$MODULE_DIR$/prebuilts"/>
<excludeFolder url="file://$MODULE_DIR$/rc_projects"/>
<excludeFolder url="file://$MODULE_DIR$/sdk"/>
<excludeFolder url="file://$MODULE_DIR$/system"/>
<excludeFolder url="file://$MODULE_DIR$/tools"/>
<excludeFolder url="file://$MODULE_DIR$/trusty"/>
<excludeFolder url="file://$MODULE_DIR$/vendor"/>
设置Modules的依赖:
先将所有依赖删掉,只留下图中的两个(注意:这⾥删除全部只是为了⽅便。如果确实⽤到了.jar,再将它们的路径添加进来就可以了)。
点击上图中的’+’并选择上图中的Jars or directories选项,依次将frameworks和external⽂件夹添加进来。如图:
推荐把frameworks和external这两个移到最上⾯,这样在代码跳转时会优先从这两个⽂件夹下查,⽽不是在Android.jar中查。Debug源码
我们可以通过给刚导⼊的⼯程在Modules中添加Android Framework来让AS将它作为⼀个Android⼯程,从⽽⽅便我们调试代码。
可以按照上图中来添加Android Framework⽀持。
然后我们就可以发现,调试按钮已经可以点击了。
⼀些问题
Choose Process -> Nothing to show
有时候遇到过点击调试按钮没有调试进程可以选择,打开Project Structure->Project,重新选择⼀下Projct SDK就可以了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论