简介
从事Android已经有5年之久,虽然对Android源代码的研究断断续续,但是好在还一直都在做,所以想要记录下一些东西,以备不时之需。
Android源码文件很多,想要记住所有源代码的路径,是基本不可能的,所以一般都会借用IDE来操作,使用过source insight,intellij idea来分析Android源码,感觉还是intelij好用,最近手头只有Android studio,所以想看看能不能在win7环境下,直接访问ubuntu虚拟机中的Android源码,搜索了一下相关的内容,还真有这种可能,就试了一下,还真成功了。在这里将详细步骤记录下。
共享目录
android.ipr
执行指令如下:
$ source build/envsetup.sh
$ lunch aosp_x86-eng #(or pick your favorite lunch target)
$ make
$ mmm development/tools/idegen/
$ development/tools/idegen/idegen.sh
指令执行完毕以后,会在Android源码根目录下生成以下文件:
.classpath (Eclipse)
android.ipr (IntelliJ / Android Studio)
android.iml (IntelliJ / Android Studio)
android.ipr就是android studio需要导入的文件了,现在要做的就是在将此目录映射到win7系统上去,那我们就需要在ubuntu系统下安装samba,将此目录共享到win7下,
1、在终端下执行以下命令进行安装:
$ sudo apt-get install samba samba-common
2、创建一个share目录,将Android源码文件夹cp到此目录下,win7想要读取该目录,至少需要读的权限,所以需要用命令行修改下此目录文件的权限
$ sudo chmod 777 -R android-4.3_r1
3、修改samba的配置文件,修改之前先备份
# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
# sudo vi /etc/samba/smb.con
path=/home/share
available=yes
public=yes
browseable=yes
writeable=yes
# sudo /etc/init.d/smbd restart
以上操作完成Samba的配置工作,配置过程中可能出现因为自己的虚拟机没有安装相关库文件导致其它以上过程不能顺利进行的情况,此时需要根据实际情况解决,对于提示“
error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file”,的此种错误可参照“Samba安装问题:error while loading shared libraries: libXXX.so.X: cannot open shared object file”该篇文章进行解决。
Android Studio设置
想要使用android studio导入android的源码,还需要以下步骤,这样android studio才能导入android源码。
1、找到Android Studio的安装路径中的vmoptions文件并打开:”Android Studio Path”/bin/studio.exe.vmoptions或者studio64.exe.vmoptions
添加
-Xms748m
-Xmx748m
2、打开Android Studio,选择File->Open
弹出路径选择框,输入相应的源码根路径,然后选择android.ipr文件,就开始导入源码啦。在导入过程中,需要等待索引的建立相关的关联,大概需要花10~20分钟,完成导入以后,我现在就可以大快朵颐的阅读Android源码了。
本文主要参考以下博客: