《LINUX學(xué)習(xí):Ubuntu 16.04下編譯Android 7.1.1》要點(diǎn):
本文介紹了LINUX學(xué)習(xí):Ubuntu 16.04下編譯Android 7.1.1,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
首先先要了解在Android 7.0新增了哪些功效?
2016年3月9日,Google發(fā)布android N的開(kāi)發(fā)者預(yù)覽版本,并開(kāi)放下載. 主要更新如下:
? ? 》支持多視窗模式
? ? 》參加應(yīng)用在 Android Wear 上的 RemoteInput notification API
? ? 》強(qiáng)化Doze 的省電功能
? ? 》參加暗色主題
? ? 》強(qiáng)化Smart Lock 功能
? ? 》參加 Tile API ,允許應(yīng)用程序開(kāi)發(fā)者在“快速設(shè)置”中添加瓷塊
在Android 7.1.1中有新增了幾個(gè)酷炫的功效
從最新的宣布中我看到了 A sweet update to Nougat : Android 7.1.1中提到了
》?更多的交流方式:給出了Gifs,如圖:
經(jīng)由過(guò)程鍵盤發(fā)送GIFs
?》 app shortcuts 類似于 iOS 的 3D Touch 功效,看圖吧.
Launch actions on your favorite apps by simply long pressing the app icon,說(shuō)的便是長(zhǎng)按會(huì)出來(lái)這些工作,類似于之前的彈窗,但這實(shí)在桌面就可喔,酷炫吧,再也不要說(shuō)Ios有的Android沒(méi)有了.
?接下來(lái)就不說(shuō)廢話了,開(kāi)端吧.
獲取Android 7.1.1 源代碼
1.下載repo對(duì)象 建立一個(gè)PATH路徑
> mkdir bin->cd bin
將bin添加到PATH中
> PATH=~/bin:$PATH
獲取repo
> curl https://storage.googleapis.com/git-repo-downloads/repo
> ~/bin/repo
> vim ~/bin/repo
將google地址修改為https://aosp.tuna.tsinghua.edu.cn/
修改repo文件權(quán)限
> chmod a+x ~/bin/repo
在bin中建立一個(gè)source文件夾,并下載
> wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar #
下載初始化包解壓
> tar vxf aosp-last.tar -> cd aosp
> repo sync #
正常同步一遍即可獲得完整目錄 或 repo sync -l 僅checkout代碼
?進(jìn)入aosp可能會(huì)遇到的環(huán)境
如果呈現(xiàn)error 可以多試幾次.如果還不行就中斷吧 Ctrl + c
辦理:cd ~/bin/source/aosp/.repo/manifest.xml中打開(kāi)xml文件修改
fetch="https://android.googlesource.com"改動(dòng)成fetch="https://aosp.tuna.tsinghua.edu.cn"
進(jìn)入:cd ~/bin/source/aosp/.repo/manifests.git/config, 將
url = https://android.googlesource.com/platform/manifest,
改動(dòng)成
url = https://aosp.tuna.tsinghua.edu.cn/platform/manifest
在使用repo sync 的時(shí)候可能會(huì)呈現(xiàn)
error: .repo/manifests/: contains uncommitted changes
辦理方案:
> cd .repo manifests,
> Git stash,
> git clean -f -d,
之后重新
> repo sync -j4(并發(fā)數(shù)4)
如果出現(xiàn)正在檢出文件,就證明成功了,repo sync命令中途會(huì)常常中斷可能由于網(wǎng)絡(luò)或者其他原因,建議是在凌晨的時(shí)候進(jìn)行同步操作.
開(kāi)始編譯之前可能必要一些準(zhǔn)備工作,安裝openJdk8?
$ sudo apt-get install openjdk-8-jre
$ sudo apt-get install openjdk-7-jre(7安裝)
安裝Python
$ apt-get install python
-------------------------------------編譯-----------------------------------------
?2.開(kāi)始編譯Android 7.1.1,情況Ubuntu 16.04 LTS
為了進(jìn)步效率,設(shè)置編譯器高速緩存
> echo export USE_CCACHE=1 >> ~/.bashrc
設(shè)置緩存
> prebuilts/misc/Linux-x86/ccache/ccache -M 50G,記住這里不是x64.
導(dǎo)入編譯源代碼
> source build/envsetup.sh 或者 . build/envsetup.sh 之后直接敲回車
可能呈現(xiàn)找不到vendor,這個(gè)文件夾存放的是廠商一些驅(qū)動(dòng)和核心內(nèi)容
> lunch or lunch aosp_arm-eng
選擇1 回車
> make -j4(后面的數(shù)字是cpu焦點(diǎn)數(shù)的兩倍)
編譯完成啟動(dòng)模擬器
> emulator?
可能會(huì)遇到的問(wèn)題,常常會(huì)中斷,導(dǎo)致終端的原因有很多,中間可能爆出一下error,不要驚慌.我是用一臺(tái)電腦通過(guò)xShell控制老電腦.速度有點(diǎn)慢.
官方說(shuō)可能會(huì)出現(xiàn)的錯(cuò)誤會(huì)后Java version錯(cuò)誤,可能必要7或者8,我用的是8,目前沒(méi)有報(bào)這個(gè)錯(cuò)?,還有python 版本也會(huì)引起錯(cuò)誤?,repo工具必要的python2,如果系統(tǒng)沒(méi)有安裝就會(huì)報(bào)錯(cuò),很幸運(yùn)我目前沒(méi)有遇到這些情況,所以前期工作必要準(zhǔn)備好.
?最后我想表達(dá),其實(shí)互聯(lián)網(wǎng)必要的是分享和感謝.
清華開(kāi)源鏡像站-速率真的很快:https://mirrors.tuna.tsinghua.edu.cn/
更多Android相關(guān)信息見(jiàn)Android 專題頁(yè)面 /topicnews.aspx?tid=11
本文永遠(yuǎn)更新鏈接地址:
歡迎參與《LINUX學(xué)習(xí):Ubuntu 16.04下編譯Android 7.1.1》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/10561.html