1. 前言
1.1 適用範圍
該文檔適用於展訊 SC9820e 芯片最低在 android Linux 4.4 版本進行編譯和配置,推薦使用
Ubuntu 系統。
1.2 代碼和編譯環境的準備
首先,需要解壓完整的平臺代碼包,檢查自己的編譯環境,需要安裝 1. 6 版本的 版本的 openjdk,可
以使用下面命令來查看 jdk 的版本:
java -version
用下面命令安裝 openjdk 1.6,
sudo apt-get update
sudo apt-get install openjdkget
Google 推薦的 python 版本是 版本是 2. 6 或者 2.7 ,可以在 python.org 獲得,可以使用下面命令獲
得,可以使用下面命令來查看 python python 的版本:
python -- version
根據 ubuntu 版本的不同,可能還需要一些其它編譯支持工具,完整包在下面網址可以找到 :
http://source.android.com/source/initializing.html、
例如 ubuntu14.04,可使用如下命令進行初始化所需工具包:
$ sudo apt -get install git-core gnupg flex bison gperf build essential \
zip curl zlib1g-dev g++ -multilib libc6 -dev -i386 \
lib32ncurses5 x11proto-core -dev libx11dev lib32z-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip
在完成的代碼和編譯環境準備之後,就可以開始進行工作了。
2 全部編譯
在完成了代碼環境的準備後就可以進行一個完整的編譯了,當然,也可以選擇在完成自定義項目配置
之後再開始編譯,但是我們還是建議不熟悉展訊環境的在準備好代碼之後先進行一次默認項目的編譯。
1) 進入 idh.code 根目錄
2) source build/envsetup.sh
3) lunch,選擇對應項目(比如:LINUX版本選擇sl8521e_3h10_native_userdebug)
4) kheader,
在選擇完編譯項目後,先執行 kheader,完成安裝 kernel 提供給用戶態程序使用的頭文件,然後
5) make
3 單項編譯和其它編譯命名
1) 單獨編譯u-boot
make bootloader
主要生成目標文件: fdl2-sign.bin u-boot-sign.bin u-boot_autopoweron-sign.bin
2) 單獨編譯fdl1和uboot-16k
make chipram
主要生成目標文件:fdl1-sign.bin u-boot-spl-16k-sign.bin
3) 單獨編譯 boot image
make bootimage
主要生成目標文件:boot.img dt.img kernel ramdisk.img
4) 單獨編譯system image
make systemimage
主要生成目標文件:system.img
5) 單獨編譯userdata image
make userdataimage
主要生成目標文件:userdata.img
6)make vendorimage
主要生成目標文件:vendor.img(注意4.4上面selinux相關的內容修改的話要編譯到vendorimage)
7)重新編譯
make clean
刪除之前編譯所產生的各類文件。
4 鏡像生成路徑
編譯完成後,可以到如下路徑查看生成的所有鏡像文件,如下圖:
idh.code\out\target\product\項目名(lunch 時選擇)