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