Ubuntu20.04.06/Deepin2.09系统版本配置Android R源码下载方式

本文详细指导了在Ubuntu20.04.06和Deepin20.9系统上配置AOSP源码下载、环境搭建(包括jdk8、git、Python、curl和repo)、模拟器使用以及解决显卡驱动问题的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu20.04.06/Deepin20.9系统版本配置Android R源码下载方式

针对Deepin系统,有些环境配置是存在的,在安装系统的时候,就已经安装好了,例如git,但是针对Ubuntu系统,基本上还是零状态,所以我们以Ubuntu系统为例,如遇到Deepin系统需要特别注意的,再进行标注;。

AOSP 源码下载环境配置

1.jdk配置(使用的是jdk 8)

  • 安装 jdk
dupz@dupz-pc:~$ sudo apt-get install openjdk-8-jdk
  • 查看jdk版本信息
dupz@dupz-pc:~$ java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)

2.git配置

  • 如果没有安装git,则通过apt命令安装git
dupz@dupz-pc:~$ sudo apt install git
  • 查看Ubuntu有没有安装git
dupz@dupz-pc:~$ git --version
  • 给git设置用户名和邮箱,用户名和邮箱随意设置
dupz@dupz-pc:~$ git config --global user.email "you@example.com"
dupz@dupz-pc:~$ git config --global user.name "Your Name"
  • 查看设置的用户名和邮箱是否生效
dupz@dupz-pc:~$ git config --global user.name
dupz@dupz-pc:~$ git config --global user.email

3.Python配置

  • 安装python
dupz@dupz-pc:~$ sudo apt-get install python

这里需要注意一下,从ubuntu 18之后(同样也包括deepin20.9),python默认软连接着python2,即使已经安装了python3,但是也无法使用,而在后续使用repo init和sync代码的时候,会提示repo指令错误,其实就是因为引用的python版本不正确导致的;

  • 需要手动的配置一下python的软连接
# 进入python指令存放路径
dupz@dupz-pc:~$ cd /usr/bin/
# 查看和python相关的文件
dupz@dupz-pc:/usr/bin$ ls -l | grep python
-rwxr-xr-x 1 root root         1056 Mar  4  2019 dh_python2
lrwxrwxrwx 1 root root           23 Oct  9  2022 pdb2.7 -> ../lib/python2.7/pdb.py
lrwxrwxrwx 1 root root           23 Nov  1  2022 pdb3.7 -> ../lib/python3.7/pdb.py
lrwxrwxrwx 1 root root           31 Mar 26  2019 py3versions -> ../share/python3/py3versions.py
lrwxrwxrwx 1 root root           16 Sep  9 12:42 python -> python2
lrwxrwxrwx 1 root root            9 Mar  4  2019 python2 -> python2.7
-rwxr-xr-x 1 root root      3423088 Oct  9  2022 python2.7
lrwxrwxrwx 1 root root            9 Mar 26  2019 python3 -> python3.7
-rwxr-xr-x 2 root root      4877856 Nov  1  2022 python3.7
-rwxr-xr-x 2 root root      4877856 Nov  1  2022 python3.7m
lrwxrwxrwx 1 root root           10 Mar 26  2019 python3m -> python3.7m
lrwxrwxrwx 1 root root           29 Mar  4  2019 pyversions -> ../share/python/pyversions.py
  • 手动更改python的软连接
# 将python软连接的绑定修改为python3
dupz@dupz-pc:/usr/bin$ sudo ln -s python3 python
-rwxr-xr-x 1 root root         1056 Mar  4  2019 dh_python2
lrwxrwxrwx 1 root root           23 Oct  9  2022 pdb2.7 -> ../lib/python2.7/pdb.py
lrwxrwxrwx 1 root root           23 Nov  1  2022 pdb3.7 -> ../lib/python3.7/pdb.py
lrwxrwxrwx 1 root root           31 Mar 26  2019 py3versions -> ../share/python3/py3versions.py
lrwxrwxrwx 1 root root           16 Sep  9 12:42 python -> /usr/bin/python3
lrwxrwxrwx 1 root root            9 Mar  4  2019 python2 -> python2.7
-rwxr-xr-x 1 root root      3423088 Oct  9  2022 python2.7
lrwxrwxrwx 1 root root            9 Mar 26  2019 python3 -> python3.7
-rwxr-xr-x 2 root root      4877856 Nov  1  2022 python3.7
-rwxr-xr-x 2 root root      4877856 Nov  1  2022 python3.7m
lrwxrwxrwx 1 root root           10 Mar 26  2019 python3m -> python3.7m
lrwxrwxrwx 1 root root            7 Mar  4  2019 python_bat -> python2
lrwxrwxrwx 1 root root           29 Mar  4  2019 pyversions -> ../share/python/pyversions.py

4.安装curl

  • 通过apt命令安装curl
dupz@dupz-pc:~$ sudo apt install curl

5.搭建repo

# 进入主目录
dupz@dupz-pc:~$ cd ~
# 创建bin文件夹
dupz@dupz-pc:~$ mkdir bin
# 将bin文件夹加入系统路径中
dupz@dupz-pc:~$ PATH=~/bin:$PATH
# 清华aosp
dupz@dupz-pc:~$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
dupz@dupz-pc:~$ chmod a+x ~/bin/repo

这里推荐直接使用清华源的repo,一般的工作环境无法连接google,使用google的repo可能后续会有一些问题;

6.修改repo的源链接

  • 打开bin文件夹下的repo文件
dupz@dupz-pc:~$ gedit bin/repo
  • 更换清华镜像站下载链接
# 原先的镜像地址
REPO_URL = 'https://gerrit.googlesource.com/git-repo'
# 更换为清华源
REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

7.更新.bashrc文件

dupz@dupz-pc:~$ gedit .bashrc
  • 同时还需要在用户目录下的 .bashrc文件中加入以下一行,最后保存;
# 这一句的做用是为了去除全部本地化的设置,让命令能正确执行
export LC_ALL=C
  • 最后还需要source命令使其生效;
dupz@dupz-pc:~$ source .bashrc

上述下载aosp R的环境配置就完成了;

AOSP 源码编译环境配置

1.创建AOSP源码目录

dupz@dupz-pc:~$ mkdir code_r
dupz@dupz-pc:~$ cd code_r
# 初始化仓库
dupz@dupz-pc:~/code_r$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-11.0.0_r36
# 同步源码树
dupz@dupz-pc:~/code_r$ repo sync

android-11.0.0_r36这个是需要用户自己去配置,配置自己需要的分支;
在这里插入图片描述

2.配置AOSP编译环境

这里面也是参考别人书写的博客,我将其中的apt-get项都取过来了,后续在配置的时候,最好两组都执行一次,保证环境的完整性;

第一组
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib 
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential  
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib 
sudo apt-get install libc6-dev-i386 
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev 
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache libncurses5
第二组

一般情况下,ubuntu 16版本需要配置的:

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

针对ubuntu 20版本还需要新增两项配置:

sudo apt-get install python libncurses5

上述的两组,绝大部分都是重复的,所以看情况而定吧。

3.AOSP 源码编译

dupz@dupz-pc:~/code_r$ source build/envsetup.sh
# 一般通过emulator指令启动Android模拟器,选择的都是这个lunch = aosp_x86_64-eng
dupz@dupz-pc:~/code_r$ lunch aosp_x86_64-eng
dupz@dupz-pc:~/code_r$ make -j8

Android Studio 导入 AOSP源码

这个过程,需要保证处于可编译状态,即:

dupz@dupz-pc:~/code_r$ source build/envsetup.sh
# 一般通过emulator指令启动Android模拟器,选择的都是这个lunch = aosp_x86_64-eng
dupz@dupz-pc:~/code_r$ lunch aosp_x86_64-eng

1.编译idegen

  • 编译idegen,生成idegen.jar
mmm development/tools/idegen/

2.执行idegen.sh

  • 执行idegen.sh,生成 android.ipr 和 android.iml
development/tools/idegen/idegen.sh

3.AS 导入 source code

  • File -> Open,选择源码目录刚刚生成的android.ipr就可以导入了,这个过程第一次是比较慢的,大家需要耐心等待;

Ubuntu 模拟器

在ubuntu中,Android的模拟器有可能会出现闪退情况,这个大概是因为ubuntu安装的显卡驱动和设备主机的显卡驱动不匹配导致的,这个需要自己根据实际的情况处理,更新一下驱动即可;
在这里插入图片描述
不是所有的都是470型号的显卡,需要先查询一下自己的显卡型号,然后再选择对应的显卡驱动,切记,显卡驱动要选择Server Driver版本;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值