一、下载H3 orangepi lite的android源码资源-“android sdk source code”,“linux源码”,
官方工具;
http://www.orangepi.org/downloadresourcescn/
获得 H3-homlet-1.0.tar.gz,orangepi_sdk,fakeroot,PhoenixCard_V310_20130618,jdk-6u45-linux-x64.bin;//homlet:面向客厅设备的产品线的名称。
二、搭建环境
1.系统:CentOS 64BIT
香橙派:全志H3 orangepi lite
pc 硬件:i5 cpu,4g内存;
TF卡:sandisk 8G
ps:楼主尝试的系统
1)windows7虚拟机上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”,目前没找到解决方法,尝试失败;3).CentOS 32BIT.“无法执行二进制文件”, 32BIT的系统执行不了64BIT电脑的文件,官方说明要在64BIT平台上编译;
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). 安装完成,在当前目录下出现jdk1.6.0_45子目录
mv jdk1.6.0_45/ /usr/lib/jvm
因系统里已经装有好几个版本的java虚拟机, 需要把我们这个虚拟机设为默认的虚拟机
//在终端执行底下两条命令,将会设为默认的虚拟机
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 //输入此命令后, 会出现选择信息
选中"/usr/lib/jvm/jdk1.6.0_45/bin/java".
vim ~/.bash_profile //修改环境变量, 以便使用java虚拟机. 修改后, 注销一次, 以便生效
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
执行 source ~/.bash_profile
验证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 ./” ,进入源码目录下有两个子录(android, lichee):
进lichee目录里编译uboot, 内核镜像等:
cd lichee
./build.sh lunch //build.sh: 编译脚本
选中3. sun8iw7p1-android
编译完成后,进入android源码目录:
cd ..android
由于源码解压出来没有makefile文件,需要增加一个Makefile文件, 里面内容:
include build/core/main.mk
然后在终端执行:
source ./build/envsetup.sh
lunch dolphin_fvd_p1-eng //选择方案号,dolphin基于全志 H3 芯片的家庭娱乐产品代号
extract-bsp //拷贝内核和模块到android中;
make –j4 //后面的数值为同时编译的进程,依赖于主机的配置,楼主编译了3小时
用busybox源码编译出一个pc上用的busybox可执行文件, 编好后复制到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系统镜像
镜像需在windows下用PhoenixCard_V310_20130618烧写到sd卡里。PhoenixCard_V310_20130618解压后,有一个“PhoenixCard使用指南.pdf”,里面有烧录的详细步骤。
烧录完成后,将TF卡放回h3上,接上HDMI到电脑显示屏,可查看编译后的android系统;
想了解更多,可参考H3-homelet-1.0/android/device/softwinner/dolphin-common/AWDocument/firmware下的H3 Android定制化文档V1.0.pdf;