如何下载并导入Android系统源代码到Android Studio
下载源代码对于下载源代码这种操作,官方给的说明确实也是很详细。但是奈何GFW。所以用国内的源跑得比什么都快。网上也有很多教程,但是这些感觉是copy——因为它们都比不上国内源的网站上给的操作说明。国内有哪些Android的镜像源1. 中国科技大学2. 清华大学从上面的两个链接直接点进去便是帮助文档,
下载源代码
对于下载源代码这种操作,官方给的说明确实也是很详细。但是奈何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 ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
如果上述 URL 不可访问,可以用下面的: curl https://storage-googleapis.proxy.ustclug.org/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo2. 然后建立一个工作目录(名字任意)
mkdir WORKING_DIRECTORYcd 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文件,修改成如下数值:
-Xms1024m
-Xmx1024m
大一些应该也没关系。
生成AS项目配置文件
1、首先全局编译一次。 2、查看out/host/linux-x86/framework/idegen.jar是否存在; 若已不存在,先执行下面命令以生成它:
source build/envsetup.sh
lunch [选择刚全局编译时的参数]
mmm development/tools/idegen/
3、执行以下命令以生成所需配置文件。
development/tools/idegen/idegen.sh
导入系统源代码至AS
1、此时在根目录下,就已经生成了android.ipr、android.iml,可以将整个源代码导入AS。 2、(可选)设置模块过滤 有些不想导入AS的模块,可以通过在android.iml中加入excludeFolder,达到过滤效果。
<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$/out"/>
<excludeFolder url="file://$MODULE_DIR$/pdk"/>
<excludeFolder url="file://$MODULE_DIR$/prebuilts"/>
<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"/>
...
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/62236001http://blog.csdn.net/aaa111/article/details/43227367http://blog.csdn.net/murphykwu/article/details/52117907https://www.cnblogs.com/qianxudetianxia/p/3721202.html导入Eclipse可以参考罗升阳的PPT简略文档: https://wenku.baidu.com/view/2d820c973b3567ec112d8a91.html