天天看點

Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機

最近比較忙,而且又要維護自己的部落格,視訊和公衆号,也就沒仔細的梳理源碼的入門邏輯,今天也就來講一個源碼的玩法,各位看官,一起學習學習! 看本篇部落格之前,先看下我的前面兩篇

<a href="http://blog.csdn.net/qq_26787115/article/details/51253325">Android源碼淺析(一)——VMware Workstation Pro和Ubuntu Kylin 16.04 LTS安裝配置</a>

<a href="http://blog.csdn.net/qq_26787115/article/details/51339403">Android源碼淺析(二)——Ubuntu Root,Git,VMware Tools,安裝輸入法,主題美化,Dock,安裝JDK和配置環境</a>

參考資料
android源碼的同步,也就是下載下傳,其實不難,我們先把虛拟機打開了,緊接着,我們需要做一些準備的東西,下載下傳的東西比較多哦,這裡要注意一下

sudo apt-get install git

android的源碼是托管在github上的,是以安裝git來管理,使用git version可以檢視版本
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機

sudo apt-get install phablet-tools

git工具包

sudo apt-get install curl

這是上傳和下載下傳資料的工具

sudo apt-get install build-essential

提供編譯程式必須軟體包的清單資訊

sudo apt-get install make

源碼編譯工具

sudo apt-get install gcc

GNU編譯器套件

sudo apt-get install g++

同上,最新版本為4.8,但是有些系統指定了版本,并不是越高越好

sudo apt-get install libc6-dev

共享庫

sudo apt-get install patch

更新檔工具

sudo apt-get install texinfo

文檔系統

sudo apt-get install libncurses-dev

系統的必備庫

sudo apt-get install git-core gnupg

git的工具包,雖然有git了,但是有備無患

sudo apt-get install ncurses-dev

編譯核心的時候需要

sudo apt-get install zlib1g-dev

編譯的時候需要

sudo apt-get install valgrind

記憶體檢查器
以上的都是一些基本使用的,我羅列出來,但是中途如果還提示要安裝的什麼工具的話也可以直接sudo apt-get install 軟體名進行安裝即可
這個也是一個工具,但是這裡就提出來講,因為這個是比較重要的

一個基于git的版本庫管理工具, 這裡用于自動批量下載下傳android整個項目

我們首先建立一個目錄
下載下傳repo腳本到本地bin檔案夾下
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
給所有使用者追加可執行的權限
到這裡我們前期的準備工作就差不多了,我們建立一個檔案夾來存放源碼
linux的權限很重要,也是最麻煩的東西,我們可以來給這個檔案夾配置權限
好的,我們進入這個目錄,什麼,怎麼進入?直接cd啊
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
這裡我要強調一下,我們既然要編譯源碼,乃至後期的源碼編譯修改等,都是要在linux下進行的,是以一些基本的常識和指令我希望大家去複習一下,我也是摸索出來的,大家可以去搜尋一下指令大全,簡單易懂,到這裡,我們就可以開始同步代碼了,其實就是下載下傳,我們隻是說的專業一點,但是再同步之前,還需要做一點點事情
這裡的初始化,主要是針對兩個,一個是repo,還有一個是android的源碼版本,我們一個個來,首先初始化的是我們的git,你總要配賬戶之内的

配置郵箱

配置使用者

接着初始化repo,指明下載下傳的android源碼,這裡我就旋轉android5.0
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
這裡順便教一下大家怎麼修改host
在hosts檔案結尾加入源,源從哪裡來?這裡有個網址

<a href="http://laod.cn/hosts/2016-google-hosts.html">http://laod.cn/hosts/2016-google-hosts.html</a>

可以去下載下傳host,然後複制到最後面,接着,我們去讓他生效
當然,還有一種選擇,就是下載下傳AOSP,這裡有三個版本

AOSP 5.1.1

AOSP 6.0.1

AOSP 7.0 perview-1

顯示是這樣的
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
好了,現在都OK了,我們隻要輸入
就開始同步了
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
就這樣讓他一直接收吧! 注意: 下載下傳過程中, 因為網絡問題, 可能會中斷下載下傳. 當中斷下載下傳時, 繼續使用repo sync指令繼續下載下傳.
下載下傳好了以後,我們可以看一下,挺大的,我們開始編譯了 首先初始化編譯環境
然後選擇編譯的目标包
當我們不知道目标包的時候可以輸入lunch,就可以檢視目标了 然後就可以開始編譯了,編譯指令是
為了提高效率,我們一般會多開線程去編譯的,隻要輸入
然後我們就可以靜靜的等待他編譯成功了,當然,這是最理想的狀态,一般虛拟機不會讓你有好日子過的,他會報各種錯誤,我這裡列舉幾個比較明顯的錯誤

1.gcc/g++ error

這個提示應該會提示gcc+版本号,找不到指令行,是什麼原因呢?剛開始我也找了挺久的了,但是後來才發現,是版本的問題,我直接apt-get install gcc所安裝的版本太高了,他需要指定的版本

2.檔案夾權限

這個錯誤會報各種權限問題的,你隻要輸入
就可以看到檔案夾的歸屬了,一般下載下傳下來是歸root使用者的,你需要改成你的歸屬,更改的方法網上也能搜到

3.xxx找不到指令

這個是你缺少了什麼工具,比如他提示repo找不到或者找不到指令行,你切記不要用apt-get install repo這個指令,因為有些軟體可能隻是集合包裡的一個罷了,你要直接輸入repo,然後他會提示你怎麼安裝,你再進行安裝 make失敗或停止後,可以使用make -k 繼續編譯 目前我這也還在編譯,就不發截圖了,當然,也會碰到各種各樣的問題,如果你不知道,可以加入QQ群:555974449,我們一起來分析一下
源碼還在編譯,老司機催着開車,也就不等了,有遺漏的話,歡迎評論,這裡再分享一個新技能,也就是配置samba伺服器,這個在linux行業裡可以必備的技能,而像我們工作需要改源碼,然後重新燒錄,用的虛拟機,讓windows就直接通路我們的ubuntu,來進行燒錄刷機,好的,我們來學習下samba的配置
ubuntu預設是安裝了samba的,但是以防萬一,我們還是走一下安裝步驟,分三次輸入安裝
如果提示安裝,你就安裝吧! 緊接着,我們打開samba的配置檔案,輸入指令打開
我們直接在最下面增加一個使用者組
其他的都是一些設定相關的資料,然後,我們重新開機一下samba伺服器
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
我們現在要做什麼?需要檢視一下ubuntu的IP位址,在windows上檢視的IP位址的方式是在cmd中輸入ipconfig,在ubuntu上是輸入
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
然後我們在運作裡面輸入IP位址
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
你稍微等待一下就就可以看到分享目錄了
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
但是當你點進去的時候,你會發現,他需要輸入賬号密碼
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
那我們還需要去建立使用者組的賬号密碼了,我們輸入
最後跟的是你想建立的samba使用者名,然後他會提示你建立密碼,你照着填就行了
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
然後你會驚訝的發現,可以通路了,當然,samba伺服器遠不止如此
Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機Android源碼淺析(三)——Android AOSP 5.1.1源碼的同步sync和編譯make,搭建Samba伺服器進行更便捷的燒錄刷機
你們可以慢慢去體驗 當然,我在剛搭建的時候,遇到了很多坑,基本上都是權限的問題,也是蛋疼,我隻能說,隻能耐心去搜尋排查問題了,不過你按照我這樣子來,成功率還是很高的,好的,本篇博文就閑到這裡了,如果有興趣的話,可以加群聊聊!