android 清华镜像,清华镜像网站下载android源码并编译
8種機(jī)械鍵盤軸體對(duì)比
本人程序員,要買一個(gè)寫代碼的鍵盤,請(qǐng)問(wèn)紅軸和茶軸怎么選?
下載android源碼方法:
我的系統(tǒng)是ubuntu 18.04,主要參考了blog通過(guò)清華大學(xué)鏡像下載Android源碼并編譯源碼,通過(guò)國(guó)內(nèi)鏡像網(wǎng)站下載要比從google下載快的多
按照一下步驟操作即可:終端輸入一下命令:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo #使用tuna的git-repo鏡像
chmod a+x ~/bin/repo
打開bin文檔夾下的repo文檔,將
REPO_URL = 'https://gerrit.googlesource.com/git-repo'
改為
REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
使用每月更新的初始化包,使用方法如下(repo sync的時(shí)候使用-j進(jìn)行多線程下載時(shí)參考下清華鏡像的說(shuō)明,不要太高,我用的是加j4):
wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下載初始化包
tar xvf aosp-latest.tar
cd aosp# 解壓得到的 aosp工程目錄
# 這時(shí) ls 的話什么也看不到,因?yàn)橹挥幸粋€(gè)隱藏的 .repo 目錄
repo sync # 正常同步一遍即可得到完整目錄
# 或 repo sync -l 僅checkout代碼
我下載到的是此時(shí)最新的android P的源碼。
參考blog中提到的清華大學(xué)開源軟件鏡像站的確是個(gè)好地方。我同時(shí)也在該網(wǎng)站中找到了ubuntu的軟件源,并按提示修改了我ubuntu的軟件源。
ubuntu18.04編譯android9.0
ubuntu18.04編譯環(huán)境配置:
按照android官網(wǎng)要求:
安裝openjdk:
sudo apt-get install openjdk-8-jdk
安裝所需的軟件包:
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
編譯命令:
source build/envsetup.sh
lunch aosp_arm-eng(也可以不帶這個(gè)參數(shù),在lunch執(zhí)行后進(jìn)行選擇)
make -jn (n根據(jù)電腦配置選擇,我用的是j4)
如果想刪除之前的編譯,可以:
make clobber
整個(gè)編譯流程就是上面這樣。但是在編譯時(shí)報(bào)錯(cuò)了。
第一個(gè)問(wèn)題是內(nèi)存不足。
我用的虛擬機(jī),配置是4G內(nèi)存+2G的SWAP分區(qū)。從ubuntu自帶的系統(tǒng)監(jiān)視器可以看到在編譯時(shí),內(nèi)存和SWAP滿了,不夠用。
解決方法就是擴(kuò)展SWAP分區(qū)。ubuntu18.04的交換分區(qū)是用文檔做的,默認(rèn)是/swapfile。我們可以自己創(chuàng)建。如下:創(chuàng)建交換文檔(在當(dāng)前目錄創(chuàng)建16G的swap文檔)
sudo fallocate -l 16G swap
設(shè)置swap為swap文檔系統(tǒng)
sudo mkswap -f swap
開啟swap
sudo swapon swap
關(guān)閉和刪除原來(lái)的swapfile(也可以只關(guān)閉不刪除)
sudo swapoff /swapfile
sudo rm /swapfile
設(shè)置開機(jī)啟動(dòng)
sudo vim /etc/fstab
將里面的swapfile改為swap
第二個(gè)問(wèn)題是存儲(chǔ)空間不足。
我用的虛擬機(jī)一開始分配的是150G,裝完系統(tǒng)和一些軟件,拉完android9.0代碼,最后可用空間剩余50G。但是依然不夠阿。只能進(jìn)行分區(qū)擴(kuò)展。(這個(gè)網(wǎng)上詳細(xì)教程一堆)先設(shè)置虛擬機(jī),對(duì)虛擬機(jī)進(jìn)行硬盤擴(kuò)展。
啟動(dòng)ubuntu,對(duì)ubuntu進(jìn)行分區(qū)擴(kuò)展,這里使用ubuntu18.04自帶的磁盤工具即可,操作方便。直接選擇磁盤,選擇調(diào)整大小,進(jìn)行擴(kuò)展(這里會(huì)清除磁盤,可能造成數(shù)據(jù)丟失,沒有關(guān)系,虛擬機(jī)沒有影響,盡管擴(kuò)展。)瞬間完成。
第三個(gè)問(wèn)題是OutOfMemoryError
編譯到“//frameworks/base:api-stubs-docs Metalava”時(shí)報(bào)Exception in thread “main” java.lang.OutOfMemoryError: Java heap space
這個(gè)問(wèn)題我暫時(shí)沒解決掉,網(wǎng)上有設(shè)置jack-server的,但是android9.0代碼里沒看到j(luò)ack-server。
總結(jié)
以上是生活随笔為你收集整理的android 清华镜像,清华镜像网站下载android源码并编译的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 绘图板_非常值得学习的java
- 下一篇: 上海居住证办理 续办上海居住证全攻略