Ubuntu20.04.06/Deepin2.09系統(tǒng)版本配置Android R源碼下載方式

Ubuntu20.04.06/Deepin2.09系統(tǒng)版本配置Android R源碼下載方式

針對Deepin系統(tǒng),有些環(huán)境配置是存在的,在安裝系統(tǒng)的時候,就已經(jīng)安裝好了,例如git,但是針對Ubuntu系統(tǒng),基本上還是零狀態(tài),所以我們以Ubuntu系統(tǒng)為例,如遇到Deepin系統(tǒng)需要特別注意的,再進行標(biāo)注;

AOSP 源碼下載環(huán)境配置

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設(shè)置用戶名和郵箱,用戶名和郵箱隨意設(shè)置

dupz@dupz-pc:~$ git config --global user.email "you@example.com"

dupz@dupz-pc:~$ git config --global user.name "Your Name"

查看設(shè)置的用戶名和郵箱是否生效

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默認(rèn)軟連接著python2,即使已經(jīng)安裝了python3,但是也無法使用,而在后續(xù)使用repo init和sync代碼的時候,會提示repo指令錯誤,其實就是因為引用的python版本不正確導(dǎo)致的;

需要手動的配置一下python的軟連接

# 進入python指令存放路徑

dupz@dupz-pc:~$ cd /usr/bin/

# 查看和python相關(guān)的文件

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 ~

# 創(chuàng)建bin文件夾

dupz@dupz-pc:~$ mkdir bin

# 將bin文件夾加入系統(tǒng)路徑中

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,一般的工作環(huán)境無法連接google,使用google的repo可能后續(xù)會有一些問題;

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文件中加入以下一行,最后保存;

# 這一句的做用是為了去除全部本地化的設(shè)置,讓命令能正確執(zhí)行

export LC_ALL=C

最后還需要source命令使其生效;

dupz@dupz-pc:~$ source .bashrc

上述下載aosp R的環(huán)境配置就完成了;

AOSP 源碼編譯環(huán)境配置

1.創(chuàng)建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編譯環(huán)境

這里面也是參考別人書寫的博客,我將其中的apt-get項都取過來了,后續(xù)在配置的時候,最好兩組都執(zhí)行一次,保證環(huán)境的完整性;

第一組

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

上述的兩組,絕大部分都是重復(fù)的,所以看情況而定吧。

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 導(dǎo)入 AOSP源碼

這個過程,需要保證處于可編譯狀態(tài),即:

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.執(zhí)行idegen.sh

執(zhí)行idegen.sh,生成 android.ipr 和 android.iml

development/tools/idegen/idegen.sh

3.AS 導(dǎo)入 source code

File -> Open,選擇源碼目錄剛剛生成的android.ipr就可以導(dǎo)入了,這個過程第一次是比較慢的,大家需要耐心等待;

Ubuntu 模擬器

在ubuntu中,Android的模擬器有可能會出現(xiàn)閃退情況,這個大概是因為ubuntu安裝的顯卡驅(qū)動和設(shè)備主機的顯卡驅(qū)動不匹配導(dǎo)致的,這個需要自己根據(jù)實際的情況處理,更新一下驅(qū)動即可;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容