vmware-ubuntu1604編譯android6.0

 

1,下載安裝vmware

2,下載ubuntu1604鏡像文件

3,安裝ubuntu1604

——會出現分辨率問題,導致安裝界面顯示不全,這時按下alt鍵,拖動鼠標可以移動界面。

 

4 ,更換軟件源爲阿里雲

爲了更快的安裝軟件,使用Ubuntu官方指定的國內軟件源阿里雲

4.1備份sources.list

cp /etc/apt/sources.list /etc/apt/sources.list.ubuntun

4.2刪除sources.list, 新建sources.list, 並粘貼阿里源配置

rm /etc/apt/sources.list

vim /etc/apt/sources.list

-------------------------------------------------

如果是圖形界面,可以直接用gedit /etc/apt/sources.list編輯

deb http://mirrors.aliyun.com/ubuntu/ xenial main    
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main 
 
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main 
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main 
 
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
 
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
 
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
 
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
 
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

5, 安裝依賴

sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib

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 lib32z-dev ccache

sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4

6,安裝open-jdk-7

由於Ubuntu 16.04沒有OpenJDK7的源,因此在16.04上安裝OpenJDK7需要執行下面的命令:

sudo add-apt-repository ppa:openjdk-r/ppa

sudo apt-get update

sudo apt-get install openjdk-7-jdk

 

配置OpenJDK.打開/etc/profile文件:

sudo gedit /etc/profile

 

末尾追加下面代碼:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

 

修改了/etc/profile文件需要重啓才能生效,但使用下面命令可以在不重啓的情況下在當前bash環境生效:

source /etc/profile

 

檢查OpenJDK配置是否正確:

java -version

 

7,安裝repo, 配置git, 拉取Android源碼

git config --global user.name "用戶名"

git config --global user.email "用戶郵箱"

 

注意git config命令的–global參數,用了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以

對某個倉庫指定不同的用戶名和Email地址。

配置好之後,查看配置命令:

git config -l

 

8,編譯Android源碼,處理報錯問題。

——8.1,ubuntu1604編譯android6.0要修改clang配置。

(art/build/Android.common_build.mk )

——8.2,內存不足問題。

參考https://www.cnblogs.com/wanyuanchun/p/5126099.html

給ubuntu1604新增swap大小後,編譯通過。

——8.3,交叉編譯報錯(make -j4)

scripts/Makefile.build:455: recipe for target 'drivers/comip' failed

--------------------------------

ubuntu1604 自帶make版本過高(make4.1)

參考https://www.jianshu.com/p/e42746bd0bac

安裝低版本make3.8.1

參考https://blog.csdn.net/sjzzdf123/article/details/79863548

----------------------------------

不用交叉編譯(不用參數-j), 直接用make不會報錯,但編譯速度慢。

 

9, 安裝ssh

10,安裝samba, 配置共享文件。

================================================================

 

ubuntu1604編譯android6.0art\build\Android.common_build.mk中的配置。

# Clang build support.

# Host.

ART_HOST_CLANG := false

ifneq ($(WITHOUT_HOST_CLANG),true)

# By default, host builds use clang for better warnings.

### ##修改開始## ###

HOST_OS_TYPE = Ubuntu-16.04

ifneq ($(findstring $(HOST_OS_TYPE),$(HOST_OS_EXTRA)),)

ART_HOST_CLANG := false

$(shell echo > $(OUT_DIR)/MakeMonitor.log)

$(shell echo 1.HOST OS is Ubuntu-16.04 ART_HOST_CLANG set to

$(ART_HOST_CLANG) >> $(OUT_DIR)/MakeMonitor.log)

else

HOST_OS_TYPE = Ubuntu-14.04

ifneq ($(findstring $(HOST_OS_TYPE),$(HOST_OS_EXTRA)),)

ART_HOST_CLANG := true

$(shell echo > $(OUT_DIR)/MakeMonitor.log)

$(shell echo 2.HOST OS is Ubuntu-14.04 ART_HOST_CLANG set to

$(ART_HOST_CLANG) >> $(OUT_DIR)/MakeMonitor.log)

endif

endif

### ##修改開結束## ###

#ART_HOST_CLANG := true

endif

------------------------------------------------------------------------------------------------------------

--------

沒有增加ubuntu1604判斷的配置如下:

# Clang build support.

# Host.

ART_HOST_CLANG := false

ifneq ($(WITHOUT_HOST_CLANG),true)

# By default, host builds use clang for better warnings.

ART_HOST_CLANG := true

endif

================================================================

###清華源, 參考 https://www.cnblogs.com/mmdln/p/9071699.html.

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章