如何下载并导入Android系统源代码到Android Studio
下载源代码
对于下载源代码这种操作,官方给的说明确实也是很详细。但是奈何GFW。所以用国内的源跑得比什么都快。网上也有很多教程,但是这些感觉是copy——因为它们都比不上国内源的网站上给的操作说明。
国内有哪些Android的镜像源
1. 中国科技大学
2. 清华大学
从上面的两个链接直接点进去便是帮助文档,跟着帮助文档一步一步走就OK了。但是我还是想偷一下懒。。。也许有一天我并不想点这两个链接,那就看下面吧。
下载步骤(同AOSP(Android) 镜像使用帮助)
按照 Google 官方教程 https://source.android.com/source/downloading.html,
将 https://android.googlesource.com/platform/manifest
替换为 git://mirrors.ustc.edu.cn/aosp/platform/manifest
。
具体做法摘录如下(以防墙抽风):
1. 首先下载 repo 工具。
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
如果上述 URL 不可访问,可以用下面的:
curl https://storage-googleapis.proxy.ustclug.org/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
2. 然后建立一个工作目录(名字任意)
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
3. 初始化仓库:
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
如果提示无法连接到
gerrit.googlesource.com
,可以编辑~/bin/repo
,把 REPO_URL 一行替换成下面的:REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
如果需要某个特定的 Android 版本(Android 版本列表):repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-4.0.1_r1
4. 同步源码树(以后只需执行这条命令来同步):
repo sync
5. 已有仓库如何改用科大源
如果您已经从官方同步了 AOSP 仓库,现在希望使用科大的 AOSP 仓库,请修改.repo/manifests.git/config
,将url = https://android.googlesource.com/platform/manifest
修改成url = git://mirrors.ustc.edu.cn/aosp/platform/manifest
即可。
导入到 Android Studio
之前弄过一次,过了这么久再弄时就已经忘记得差不多了,特地记下来。经过这样的配置之后,可以实现点击一些类时进行跳转。R文件还是没有搞定,其中的资源还是无法进行跳转,不过这样基本上已满足工作上的需求。
修改AS配置文件
在AS的bin目录下,打开studio64.vmoptions文件,修改成如下数值:
1 | -Xms1024m |
大一些应该也没关系。
生成AS项目配置文件
1、首先全局编译一次。
2、查看out/host/linux-x86/framework/idegen.jar
是否存在;
若已不存在,先执行下面命令以生成它:
1 | source build/envsetup.sh |
3、执行以下命令以生成所需配置文件。
1 | development/tools/idegen/idegen.sh |
导入系统源代码至AS
1、此时在根目录下,就已经生成了android.ipr、android.iml,可以将整个源代码导入AS。
2、(可选)设置模块过滤
有些不想导入AS的模块,可以通过在android.iml中加入excludeFolder,达到过滤效果。
1 | <excludeFolder url="file://$MODULE_DIR$/.repo"/> |
3、第一次导入时间有点长,耐心等待
配置AS的JDK、SDK
下面的这些操作,是为了让在看代码的时候,能够自由、正确地显示、跳转到相应的地方。
在上一步操作之后的等待期间刚好让我们来配置一下JDK和SDK。
在AS中参照下图Project Structure设置,在SDKs设置中加入必须的JDK,SDK。
创建一个新的JDK,可以取名为1.7(No Libraries),然后删除classpath标签页下面的jar文件。 这样可以确保使用Android源码里的库文件。
之后将1.7(No Libraries)作为Android SDK要使用的Java SDK。如下图
之后在Project标签中的Project SDK中选择对应的Android API版本。
结果
还没弄得太好,R文件还没导入,不过感觉这个不是很重要。
参考:
http://blog.csdn.net/heqiangflytosky/article/details/62236001
http://blog.csdn.net/aaa111/article/details/43227367
http://blog.csdn.net/murphykwu/article/details/52117907
https://www.cnblogs.com/qianxudetianxia/p/3721202.html
导入Eclipse可以参考罗升阳的PPT简略文档:
https://wenku.baidu.com/view/2d820c973b3567ec112d8a91.html
如何下载并导入Android系统源代码到Android Studio