歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android 4.2 r1 源碼在Ubuntu上編譯和 模擬運行

Android 4.2 r1 源碼在Ubuntu上編譯和 模擬運行

日期:2017/3/1 10:02:02   编辑:Linux編程

前提:代碼已經准備好。

首先要設定環境:

USER@Android_ROOT: source ./build/envsetup.sh

這個命令設定後下一條命令才可以執行:

USER@ANDROID_ROOT: lunch full-eng

這個設定了很多環境變量,不管是編譯還是模擬都要用到,

然後開始編譯

make -j2

-j後面帶的數字有電腦的CPU決定,如有雙CPU每個CPU有4個核 則 make -j8.

編譯的時間很漫長,完了後就可以開始模擬運行了

emulation

注意:如果下次打開Ubuntu的終端想要再運行模擬器,要把上面兩個設置環境命令再運行一次:

USER@ANDROID_ROOT: source ./build/envsetup.sh

USER@ANDROID_ROOT: lunch full-eng

否則的話會報錯 ,說emulator找不到。

另外編譯自己的內核 :

1. 拉模擬器的內核代碼:

git clonehttps://android.googlesource.com/kernel/goldfish.git

git branch -r

gitcheckout origin/android-goldfish-2.6.29

2. 拉編譯環境,並設置環境路徑

$ git clonehttps://android.googlesource.com/platform/prebuilt

這個prebuilt目錄建議放到android目錄下面 ,和kernel同級 $ export PATH=$(pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH

把prebuild設置到環境路徑

3. 建立一個shell文件叫make_goldfish.sh 裡面加入內容:

#!/bin/bash export ARCH=arm export SUBARCH=arm export CROSS_COMPILE=arm-eabi- makegoldfish_armv7_defconfig make -j2

即開始編譯,(確保prebuild設置到環境路徑)

4.使用自己的內核運行android模擬:

USER@ANDROID_ROOT: emulator -kernel./kernel/goldfish/arch/arm/boot/zImage -shell

說明:./kernel/goldfish是我的kernel源代碼目錄

-shell 是在當前終端打開adb shell

也可以另開終端窗口執行 adb shell (要保證本文最開始的兩條設置命令已經運行過)

至此,android內核的調試之路正式開始 。

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved