android 原始编译过程,Android编译系统环境初始化过程分析.doc
Android編譯系統環境初始化過程分析要點
Android編譯系統環境初始化過程分析
Android源代碼在編譯之前,要先對編譯環境進行初始化,其中最主要就是指定編譯的類型和目標設備的型號。Android的編譯類型主要有eng、userdebug和user三種,而支持的目標設備型號則是不確定的,它們由當前的源碼配置情況所決定。為了確定源碼支持的所有目標設備型號,Android編譯系統在初始化的過程中,需要在特定的目錄中加載特定的配置文件。接下來本文就對上述的初始化過程進行詳細分析。
對Android編譯環境進行初始化很簡單,分為兩步。第一步是打開一個終端,并且將build/envsetup.sh加載到該終端中:
[html] view plain copy 在CODE上查看代碼片派生到我的代碼片
$ . ./build/envsetup.sh
including device/asus/grouper/vendorsetup.sh
including device/asus/tilapia/vendorsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including device/lge/mako/vendorsetup.sh
including device/samsung/maguro/vendorsetup.sh
including device/samsung/manta/vendorsetup.sh
including device/samsung/toroplus/vendorsetup.sh
including device/samsung/toro/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including sdk/bash_completion/adb.bash
從命令的輸出可以知道,文件build/envsetup.sh在加載的過程中,又會在device目錄中尋找那些名稱為vendorsetup.sh的文件,并且也將它們加載到當前終端來。另外,在sdk/bash_completion目錄下的adb.bash文件也會加載到當前終端來,它是用來實現adb命令的bash completion功能的。也就是說,加載了該文件之后,我們在運行adb相關的命令的時候,通過按tab鍵就可以幫助我們自動完成命令的輸入。關于bash completion的知識,可以參考官方文檔: 。
第二步是執行命令lunch,如下所示:
[html] view plain copy 在CODE上查看代碼片派生到我的代碼片
$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. full-eng
2. full_x86-eng
3. vbox_x86-eng
4. full_mips-eng
5. full_grouper-userdebug
6. full_tilapia-userdebug
7. mini_armv7a_neon-userdebug
8. mini_armv7a-userdebug
9. mini_mips-userdebug
10. mini_x86-userdebug
11. full_mako-userdebug
12. full_maguro-userdebug
13. full_manta-userdebug
14. full_toroplus-userdebug
15. full_toro-userdebug
16. full_panda-userdebug
Which would you like? [full-eng]
我們看到lunch命令輸出了一個Lunch菜單,該菜單列出了當前Android源碼支持的所有設備型號及其編譯類型。例如,第一項“full-eng”表示的設備“full”即為模擬器,并且編譯類型
總結
以上是生活随笔為你收集整理的android 原始编译过程,Android编译系统环境初始化过程分析.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言发牌思路,C语言发牌机程序求详细解
- 下一篇: android 如何重载函数,andro