和前面編譯android源碼同樣,首先執行envsetup.sh,而後選擇SDK對應的產品。linux
這裏要強調一下,當咱們使用lunch 列舉android源碼支持的產品的時候,是看不到有SDK相關的信息的,至少個人是看不到。android
不過不要緊,直接執行命令便可git
lunch sdk-eng
會看到下面的信息ubuntu
接着執行命令windows
make sdk -j2
這裏必定要記住-j後面的數字不要太大了,最可能是幾G內存,後面設置的數字就爲幾,只能比這個數字小。spa
接着又是漫長的等待。3d
大約七八分鐘後,會出現一個錯誤code
make: *** [out/target/common/docs/online-gcm-ref-timestamp] 錯誤 45
以下圖所示blog
解決辦法是:內存
在android源碼目錄中/frameworks/base目錄下執行
git revert 5f9922d7c3bce158e4c7a58929d4075e7c91e32e
不一下子會出現
執行ctr+x離開,而後出現下圖所示,代表恢復成功。
而後返回android源碼根目錄,從新編譯SDK,執行命令
make sdk -j2
大約半個小時後,編譯結束,會在out\host\linux-x86中生成一個SDK文件夾,裏面包括了android APP開發所需的幫助文檔,模擬器等等
同時在out\target\product\generic也會生成一個壓縮包
接下來配置一些環境變量,將下面的內容添加到/etc/profille中,並執行source /etc/profile,使其生效
export PATH=/home/android/myandroid/out/host/linux-x86/bin:$PATH export PATH=/home/android/myandroid/out/host/linux-x86/sdk/android-sdk_eng.android_linux-x86/tools:$PATH
上面的環境變量生效後,咱們就能夠使用下面的命令建立模擬器了
首先查看咱們編譯出來的SDK版本
執行(必須在ubuntu系統中執行,不要遠程登陸執行)
android list targets
而後建立一個名爲myandroid的模擬器
android create avd -n myandroid -t 1
其中myandroid是模擬器的名字,1 是該源碼支持的第一個SDK版本
接着執行
emulator -avd myandroid &
就能夠看到咱們編譯的模擬器了,該模擬器使用的就是咱們前面編譯的android系統鏡像
首先執行envsetup.sh,而後選擇SDK對應的產品。
lunch sdk-eng
而後執行
make win_sdk -j2
這裏要注意必定要現編譯Linux版本的SDK,而後在編譯windows版,在虛擬機中大約是十分鐘。
生成的SDK路徑在out\host\windows\sdk中
將其複製到windows中,解壓
新建一個模擬器
而後啓動模擬器
邪門了,怎麼沒鍵盤了。。。。