mkdir kernel 將下載好的linux內核包解壓到kernel目錄下。tar -zxvf goldfish-android-goldfish-3.4.tar-gz 現在開始準備編譯。 一:編譯前準備工作 1.將安卓系統所帶的gcc加入環境變量。export PATH=$PATH:~/Android5.0.2/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin 2.去剛剛創建的kernel目錄下打開linux內核源碼的Makefile文件,需要修改一下兩項: # ARCH ?= (SUBARCH) # CROSS_COMPILE ?=XXXXXX (這后面的內容我忘了) ARCH ?= arm CROSS_COMPILE ?= arm-eabi- 注意不要改變原來的格式,只需要改變后面的內容就行。注意檢查arm和arm-eabi-后面是否帶有空格,有的話去掉。 二:開始編譯 1.安卓5.0的編譯命令:make goldfish_armv7_defconfigmake 安卓4.0之前的命令有點不一樣:make goidfish_defconfig 編譯成功后,會提示XXXXX is ready 然后會有successfly的提示。說明編譯成功。 三:啟動帶有linux內核的模擬器emulator -partition-size 1024 -kernel ./kernel/arch/arm/boot/zImge 其中,后面所帶的路徑就是你下載編譯好的內核鏡像文件的路徑。 如果提示emulator命令找不到,或者一些別的錯誤,那么先把安卓源碼的三個鏡像文件和emulator的文件路徑再加入一遍到環境變量。或者在安卓源碼路徑下 1.source ./envsetup.sh 2.lunch 一遍 如果模擬器啟動黑屏,那么檢查一下你的這兩個環境變量是否加入成功,有沒有讓~/.bashrc生效(srouce ~/.bashrc)。或者編譯安卓源碼的時候,lunch選項又沒有選錯,如果選錯了,那只能從來編譯安卓源碼了。 如果各種辦法都嘗試過后,模擬器還是黑屏那么你或許可以想一想最不可能發生或者最不想發生的BUG了。。 當你排除了一切的可能后,那么不可能就變成了可能! 哈哈,那估計就是安卓源碼包的問題了。。。 我前幾天就是這樣的問題,找了半天的錯誤楞是沒有找到,結果一咬牙,換了包從頭來,一步到位!
新聞熱點
疑難解答