一、下載H3 orangepi lite的android源碼資源-“android sdk source code”,“l(fā)inux源碼”,
官方工具;
http://www.orangepi.org/downloadresourcescn/
獲得 H3-homlet-1.0.tar.gz,orangepi_sdk,fakeroot,PhoenixCard_V310_20130618,jdk-6u45-linux-x64.bin;//homlet:面向客廳設(shè)備的產(chǎn)品線的名稱。
二、搭建環(huán)境
1.系統(tǒng):CentOS 64BIT
香橙派:全志H3 orangepi lite
pc 硬件:i5 cpu,4g內(nèi)存;
TF卡:sandisk 8G
ps:樓主嘗試的系統(tǒng)
1)windows7虛擬機(jī)上CentOS 64BIT(太卡,放棄);2).rehat 64BIT.提示“No rule to make target `out/target/common/obj/JAVA_LIBRARIES/external_intermediates/javalib.jar', needed by `out/target/product/generic/dex_bootjars/system/framework/external.odex'.? Stop”,目前沒找到解決方法,嘗試失?。?).CentOS 32BIT.“無法執(zhí)行二進(jìn)制文件”, 32BIT的系統(tǒng)執(zhí)行不了64BIT電腦的文件,官方說明要在64BIT平臺(tái)上編譯;
2.安裝fakeroot工具fakeroot_1.18.4.orig.tar.bz2
tar xf fakeroot_1.18.4.orig.tar.bz2
cd fakeroot-1.18.4
./configure
make
make install
3.yum install flex*? gperf*
4.安裝jdk
1). 安裝jdk6
chmod +x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
2). 安裝完成,在當(dāng)前目錄下出現(xiàn)jdk1.6.0_45子目錄
mv jdk1.6.0_45/ /usr/lib/jvm
因系統(tǒng)里已經(jīng)裝有好幾個(gè)版本的java虛擬機(jī), 需要把我們這個(gè)虛擬機(jī)設(shè)為默認(rèn)的虛擬機(jī)
//在終端執(zhí)行底下兩條命令,將會(huì)設(shè)為默認(rèn)的虛擬機(jī)
update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_45/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_45/bin/javac 300
update-alternatives --config java //輸入此命令后, 會(huì)出現(xiàn)選擇信息
選中"/usr/lib/jvm/jdk1.6.0_45/bin/java".
vim ~/.bash_profile //修改環(huán)境變量, 以便使用java虛擬機(jī). 修改后, 注銷一次, 以便生效
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
執(zhí)行 source? ~/.bash_profile
驗(yàn)證jdk是否配置好:
java -version
正常:
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
/////////////////////////////////////////////////////////////////////////////////////////////
三、編譯android
解包H3-homlet-1.0.tar.gz源碼包, “tar -xvf H3-homelet-1.0.tar.gz? -C ./” ,進(jìn)入源碼目錄下有兩個(gè)子錄(android, lichee):
進(jìn)lichee目錄里編譯uboot, 內(nèi)核鏡像等:
cd lichee
./build.sh lunch? ? //build.sh: 編譯腳本
選中3. sun8iw7p1-android
編譯完成后,進(jìn)入android源碼目錄:
cd ..android
由于源碼解壓出來沒有makefile文件,需要增加一個(gè)Makefile文件, 里面內(nèi)容:
include build/core/main.mk
然后在終端執(zhí)行:
source ./build/envsetup.sh
lunch dolphin_fvd_p1-eng? //選擇方案號(hào),dolphin基于全志 H3 芯片的家庭娛樂產(chǎn)品代號(hào)
extract-bsp? ? //拷貝內(nèi)核和模塊到android中;
make –j4? ? //后面的數(shù)值為同時(shí)編譯的進(jìn)程,依賴于主機(jī)的配置,樓主編譯了3小時(shí)
用busybox源碼編譯出一個(gè)pc上用的busybox可執(zhí)行文件, 編好后復(fù)制到bin目錄下。
cd orangepi_sdk/source/busybox-1.25.0
make disclean;
make
make install;
cp orangepi_sdk/source/busybox-1.25.0/busybox? /bin
pack? //打包生成固件
完成后,鏡像在lichee/tools/pack/sun8iw7p1_android_dolphin-p1.img? //生成的鏡像大概300M
四、測試android系統(tǒng)鏡像
鏡像需在windows下用PhoenixCard_V310_20130618燒寫到sd卡里。PhoenixCard_V310_20130618解壓后,有一個(gè)“PhoenixCard使用指南.pdf”,里面有燒錄的詳細(xì)步驟。
燒錄完成后,將TF卡放回h3上,接上HDMI到電腦顯示屏,可查看編譯后的android系統(tǒng);
想了解更多,可參考H3-homelet-1.0/android/device/softwinner/dolphin-common/AWDocument/firmware下的H3 Android定制化文檔V1.0.pdf;