以下仅作为公司项目下载过程记录,仅供参考。针对个人对AOSP源码下载过程,建议查看 https://source.android.google.cn/source/downloading
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 "[email protected]"
$git config --global user.group media/system/bsp/hmi 是哪个组就配置哪个组,比如是HMI组,就设置hmi
可以通过git config --list
查看是否设置正确
$ssh -p 29418 [email protected]
**** 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://[email protected]:29418/REPOSITORY_NAME.git
安装repo
从\10.100.193.29\Public\2_Software\1_repo目录下拷贝repo文件到usr\bin目录下
增加权限 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
/usr/bin/env: “python”: 没有那个文件或目录
File “.repo/repo/main.py”, line 79
file=sys.stderr)
^
SyntaxError: invalid syntax
第一个问题可能是没有安装Python,安装Python2.7
第二个问题可能是同一个系统存在多个python版本,比如python2.7 和 python3.8,因为repo对应的是python2.7版本的,但是系统默认是用python3.8版本的去运行的,因此需要指定一下默认执行的python版本,通过配置软链接
sudo apt-get install python2.7
### 找Python2.7位置
whereis python2.7
#配置软连接
ln -s /usr/bin/python2.7 /usr/bin/python
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
使用cd 命令,切换目录,最终切换到代码的\项目\lagvm\lagvm\LINUX\android
使用 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.
简单的说明一下这三个文件的作用:
看到以下类似信息则说明成功:
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即可