栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

AndroidStudio 加载系统源码流程(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AndroidStudio 加载系统源码流程(一)

1.Android Studio 开启前配置:

**调整内存大小: ** Android Studio需要大量的内存来加载Android源码,所以经常会遇到内存不足的问题, 需要加大内存.

1.点击Help-> Edit Custom VM Options, 比如 “-Xms4096m -Xmx4096m”

2. 修改android-studio/bin/studio.vmoptions studio64.vmoptions 两个文件的以下属性就可以了

-Xms2048m
-Xmx2048m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m

1.2 下载Android系统源码

1.2.1 安装repo

mkdir ~/bin PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

1.2.2 初始化repo

mkdir ~/aosp //创建目录,可自己定义
cd ~/aosp
git config --global user.name "Gityuan" //配置git的用户名
git config --global user.email "gityuan@google.com" //配置git的邮箱

1.2.3 下载原生Android源码

如下第一条是下载master分支代码;如果需要下载某条指定分支,可通过第二条命令,比如指定分支android-7.0.0_r1, 其他分支信息可查看https://source.android.com/source/build-numbers.html#source-code-tags-and-builds.

repo init -u https://android.googlesource.com/platform/manifest
repo init -u https://android.googlesource.com/platform/manifest -b android-7.0.0_r1

初始完成后,可以开始同步代码,其中如下第一条是同步所有可用的project,第二条只同步当前初始化的分支,第三条是只同步frameworks/base库。

repo sync
repo sync -c -j4
repo sync platform/frameworks/base -c -j4

1.2.4 编译Android源码

以build aosp的eng版本为例:(当然build前需要先配置jdk环境)

make clobber    //删除所有先去build所产生的output文件
source build/envsetup.sh    //创建环境变量
lunch aosp_arm-eng          //选择build target
make -j4                    //build源码

二. 搭建源码环境

2.1 生成IDE相关文件

idegen专门为IDE环境调试源码而设计的工具, 依次执行如下命令:

soruce build/envsetup.sh  
mmm development/tools/idegen/  
development/tools/idegen/idegen.sh

以上3个步骤的含义依次如下:

Step 1: 用于初始化环境变量
Step 2: 生成文件out/host/linux-x86/framework/idegen.jar
Step 3: 源码根目录生成文件android.ipr(工程相关设置), android.iml(模块相关配置)

2.2 源码导入Android Studio

打开Android Studio, 点击File -> Open,选中前面生成的android.ipr文件即可, 该过程较耗时

(a) 加载前配置文件提速:

排除不必要的模块,提高加载速度
打开android.iml, 找到excludeFolder属性,我们可以看到默认有14个模块是被排除了,不会被导入的。整个AOSP代码中,一般情况下,我们只是关心framework模块,因此可以根据自己的需求多去掉一些模块。
比如把下面这些加到上面那14行之下:






















转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/632452.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号