以下仅作为公司项目下载过程记录,仅供参考。针对个人对AOSP源码下载过程,建议查看 https://source.android.google.cn/source/downloading
Gerrit环境搭建 1.生成SSH Key以及设置git用户名邮箱-
Linux/cgywin/Git Bash下输入ssh-keygen一路回车生成Key。
-
cat ~/.ssh/id_rsa.pub并把秘钥加入到gerrit的public keys中。
public keys的具体地址是在gerrit的settings/SSH Public Keys中 -
设置git用户名邮箱
$git config --global user.name "test" $git config --global user.email "test@chinatsp.com" $git config --global user.group media/system/bsp/hmi 是哪个组就配置哪个组,比如是HMI组,就设置hmi
可以通过git config --list查看是否设置正确
- 查看配置成功
$ssh -p 29418 test@10.100.193.154 - 成功则显示
**** Welcome to Gerrit Code Review **** Hi Jenkins, you have successfully connected over SSH. Unfortunately, interactive shells are disabled. To clone a hosted Git repository, use: git clone ssh://test@10.100.193.154:29418/REPOSITORY_NAME.git
- 如果不成功,报错incorrect signature
1.在git的安装目录下找到etcsshssh_config文件添加一行:HostKeyAlgorithms ssh-rsa
2.删除.sshknown_hosts这个hosts文件
- 安装repo
从10.100.193.29Public2_Software1_repo目录下拷贝repo文件到usrbin目录下
增加权限 chmod a+x repo
注: 安装repo可以参考安装 Repo - 安装Android编译环境
1、安装JDK,分别执行以下命令
$ sudo apt-get update $ sudo apt-get install openjdk-8-jdk
2、切换java版本
$ sudo update-alternatives --config java $ sudo update-alternatives --config javac
3、安装相关的依赖包
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib sudo apt-get install libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip
- 初始化及同步代码
repo init -P [项目] repo sync -c --no-tags -j2
- 安装所需的安装包
sudo apt-get install lib32stdc++6 sudo apt-get install bison sudo apt-get install m4 sudo apt-get install libxml2-utils sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential chrpath libsdl1.2-dev xterm subversion cvs dos2unix lzop gcc-multilib g++-multilib libglib2.0-dev ia32-libs lib32gcc1 libc6-i386 lib32z1 lib32stdc++6 lib32ncurses5 lib32gomp1 lib32z1-dev lib32bz2-dev sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig sudo apt-get install xutils-dev libtool texinfo chrpath libsdl1.2-dev automake flex libssl-dev texinfo chrpath python-dev sudo apt install curl编译Android
使用cd 命令,切换目录,最终切换到代码的项目lagvmlagvmLINUXandroid
使用 envsetup.sh 脚本初始化环境:
source build/envsetup.sh
执行完了之后在执行 lunch
然后让你输入 ,你就输入35—具体看lunch后的分支情况
然后在执行 make update-api -j2 && make -j2
执行上面那个 没有问题,也执行完成了就执行
mmm development/tools/idegen/ && ./development/tools/idegen/idegen.sh
其中mmm development/tools/idegen/执行完成后会生成idegen.jar,而sodo ./development/tools/idegen/idegen.sh则会在源码目录下生成IEDA工程配置文件:android.ipr,android.iml及android.iws.
简单的说明一下这三个文件的作用:
- **android.ipr:**通常是保存工程相关的设置,比如编译器配置,入口,相关的libraries等
- **android.iml:**则是主要是描述了modules,比如modules的路径,依赖关系等.
- **android.iws:**则主要是包含了一些个人工作区的设置.
看到以下类似信息则说明成功:
make completed successfully (7 seconds) Read excludes: 21ms Traversed tree: 194799ms
到目前为止,我们就完成了源码准备工作.
导入源代码编译成功后,现在我们就可以将源码导入Android Studio了.但是在导入之前,我们先修改一下Android studio的配置:32位系统下修改idea.vmoptions,64位下修改idea64.vmotions
调整其中的-Xms和-Xmx参数值,官方要求至少在748m以上,根据实际情况进行配置即可.
然后进入android-studio目录下的bin文件夹,执行如下命令启动Android Studio
./studio.sh
导入源码
File->New->Import project->进入对应的目录-->点击配置文件 android.ipr即可



