车载开发之AOSP环境搭建

一.前言

  • 注意:在正式开始AOSP的环境搭建前,需要确定好硬件环境是否支持及下载好相关软件。

  • 我们先看一下两张效果图,再回到硬软件的问题;

  • 环境搭建好之后,最终用AS打开的源码项目效果
    在这里插入图片描述

  • 启动后的车载模拟器
    在这里插入图片描述

二.准备工作

  • 个人准备了350G的可用空间给虚拟机(建议不少于这个大小);
  • 软件使用的是VMware-workstation(这个需要秘钥,自行解决了哈)和ubuntu-16.04.7-desktop-amd64.iso;
  • 新建虚拟机这里就省略掉了,步骤很简单,自己查一下;
  • 虚拟机创建好之后,在虚拟机未开启的情况下,设置虚拟化(虚拟机名-设置-处理器-勾选虚拟化Intel),另外个人设置(仅供参考)虚拟机的运行内存是16G,处理器数量4,如下:
    在这里插入图片描述

三.虚拟机的设置及软件安装

3.1.Linux交换分区的设置

  • 如果之前设置过交换分区,就将交换分区停用和删除
#停用交换文件
sudo swapoff /swapfile
#删除文件
sudo rm /swapfile
  • 继续操作
#新建swap空间,个人设置的是20G
sudo fallocate -l 20G /swapfile
#设置文件权限 
sudo chmod 600 /swapfile
#挂载
sudo mkswap /swapfile
#激活启用
sudo swapon /swapfile
#安装vim
sudo apt-get install vim
#接下来,需要将交换信息写入系统配置
#打开配置文件
sudo vim /etc/fstab
#在最末尾处插入(输入i进行插入,ctrl + shift + v是粘贴,如果不能实现粘贴,自行搜索处理一下,esc退出编辑,输入wq进行保存)
/swapfile  swap  swap  defaults  0  0
#更改交换空间大小
sudo vim /etc/sysctl.conf
#在最末尾处插入
vm.min_free_kbytes=1500000

3.2.工具安装

3.2.1.安装git

  • sudo apt install git

3.2.2.安装依赖工具

sudo apt install git-core libssl-dev  libffi-dev gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libz-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip

3.2.3.安装Python3

  • 个人安装的是3.7.1版本
  • 编译、安装Python3
#指定路径
./configure --prefix=/usr/local/python3.7
#编译
sudo make install

四.源码下载

#依次执行下面命令
mkdir ~/bin

PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

#创建并进入文件夹
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY

#下载
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b  android-12.1.0_r27

#设置权限(上面一步执行后会出现报错)
chmod 755 /home/jack/bin/repo

  • 继续设置相关配置
#处理连接问题
sudo vim ~/bin/repo
#把REPO_URL一行替换成: 
REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
#SSL证书校验
git config --global http.sslverify false
git config --global https.sslverify false
#git配置
git config --global user.email "xxx"
git config --global user.name xxx
  • 开始下载,执行命令:repo sync
    在这里插入图片描述

  • 经过一个晚上(十几个小时),出现报错
    在这里插入图片描述

  • 继续执行命令(不要一开始就执行这个去替代repo sync,个人实践没有起到作用,先repo sync,出现报错再执行这个命令):repo sync -j1 --fail-fast,最后的下载效果
    在这里插入图片描述

五.编译

  • 在源码目录下执行
#build前面有一个空格
. build/envsetup.sh
#启动车载模拟器
lunch sdk_car_x86_64-userdebug

在这里插入图片描述

  • 执行命令:make,又经过了一个晚上,效果如下
    在这里插入图片描述

  • 查看内存占用情况
    在这里插入图片描述

  • 打开模拟器(界面什么也没看到,不确定是否是正常的,后续再研究):emulator
    在这里插入图片描述

六.使用AS打开源码项目

  • AS的安装就省略了

  • 修改AS安装目录中bin目录的studio64.vmoptions文件,增加内存:
    在这里插入图片描述

  • 回到源码下载目录,生成idegen.jar文件
    在这里插入图片描述

  • 生成idegen.jar
    在这里插入图片描述

  • 生成文件android.iml和android.ipr,执行命令:sudo development/tools/idegen/idegen.sh
    在这里插入图片描述

  • 使用AS导入源码:导入生成的android.ipr文件即可,又是漫长的等待,最终效果
    在这里插入图片描述

  • 在导入源码之前,还是碰到了问题,当时没有做笔记(及时做笔记还是很重要),短短几天的时间,不太记得当时出现的问题是什么了,只截取了当时的处理方案相关的命令,然后再次导入
    在这里插入图片描述

七.最后

  • 到此,环境搭建部分已实现,对源码修改再编译这里就不做展开,后续在写车载的应用时单独做总结。

猜你喜欢

转载自blog.csdn.net/itTalmud/article/details/129894569
今日推荐