我是靠谱客的博主 殷勤康乃馨,这篇文章主要介绍RK3288源码编译一.源码下载二.编译Android固件,现在分享给大家,希望可以做个参考。

一.源码下载

安卓5.1源码下载:到firefly官网下载 http://www.t-firefly.com/doc/download/page/id/4.html

二.编译Android固件

2.1准备工作
1.编译环境是ubuntu12.04系统或以上
2.ubuntu磁盘空间大于30GB,内存8GB,处理器8GB
2.2ubuntu下安装JDK7

复制代码
1
2
3
4
sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-7-jdk

如果以上方式安装JDK不成功的话,手动安装JDK7:
1.从官网上下载JDK包http://www.oracle.com/technetwork/articles/javase/index-jsp-138363.html
2.解压缩,放到指定目录(以jdk-7u80-linux-x64.gz为例):
创建目录:

复制代码
1
2
sudo mkdir /usr/lib/jvm

解压缩到该目录:

复制代码
1
2
sudo tar -zxvf jdk-7u80-linux-x64.gz -C /usr/lib/jvm

安装完成以后,配置环境变量,配置OpenJDK.打开/etc/profile文件:

复制代码
1
2
sudo gedit /etc/profile

在末尾追加下面代码:

复制代码
1
2
3
4
5
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH

修改了/etc/profile文件需要重启才能生效,但使用下面命令可以在不重启的情况下在当前bash环境生效:

复制代码
1
2
source /etc/profile

检查OpenJDK配置是否正确:

复制代码
1
2
java -version

配置正确则如下图:(此图包括记下来的图片来自其它的博客,忘记来源了,在这里就直接用了)
在这里插入图片描述
设置系统默认jdk 版本:

复制代码
1
2
3
4
5
6
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_95/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_95/bin/javac 300 sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.7.0_95/bin/jar 300 sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk1.7.0_95/bin/javah 300 sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.7.0_95/bin/javap 300

然后执行:

复制代码
1
2
sudo update-alternatives --config java

若是初次安装jdk,会有下面的提示:

复制代码
1
2
3
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/jdk1.7.0_95/bin/java

否者,选择合适的jdk。
2.3Ubuntu 12.04 软件包安装

复制代码
1
2
3
4
5
6
sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 g++-multilib mingw32 tofrodos gcc-multilib ia32-libs python-markdown libxml2-utils xsltproc zlib1g-dev:i386

2.4Ubuntu 13.10/14.04 软件包安装:

复制代码
1
2
3
4
5
6
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib libswitch-perl

2.5 Ubuntu 16.04 软件包安装:

复制代码
1
2
3
4
5
6
7
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev libsdl1.2-dev libesd0-dev git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4

2.6 安装 ARM 交叉编译工具链和编译内核相关软件包:

复制代码
1
2
3
4
sudo apt-get install gcc-arm-linux-gnueabihf lzop libncurses5-dev libssl1.0.0 libssl-dev

三.安卓源码编译

1.源码下载完成后,放到ubuntu上;
2.然后验证一下MD5码:

复制代码
1
2
3
$ md5sum /path/to/firefly-rk3288_android5.1_git_20180126.tar.gz 8fe99f519d487ff40c8bc7b5ded62887 firefly-rk3288_android5.1_git_20180126.tar.gz

第二行为验证结果,若验证无误,就可以解压:

复制代码
1
2
3
4
5
mkdir -p ~/proj/firefly-rk3288 cd ~/proj/firefly-rk3288 tar xf /home/rk3288/firefly-rk3288_android5.1_git_20180126.tar.gz git reset --hard

四.编译内核

复制代码
1
2
3
4
cd ~/proj/firefly-rk3288/kernel make firefly-rk3288_defconfig make -j8 firefly-rk3288.img

编译不通过添加:

复制代码
1
2
3
sudo apt-get install lzop sudo apt-get install libc6:i386

五.编译Android

复制代码
1
2
3
4
cd ~/proj/firefly-rk3288 make -j8 ./mkimage.sh

编译以后若出现以下错误:
在这里插入图片描述
修改:

在这里插入图片描述
<source_android>表示安卓源码的根目录,在我这里的目录指 ~/proj/firefly-rk3288

重新编译若还是提示如下错误:
在这里插入图片描述
从报错信息来看,是在链接 host 程序时出错。链接 host 程序时用的工具链是放在 codebase中的,即
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/bin/…/lib/gcc/x86_64-linux/4.6/…/…/…/…/x86_64-linux/bin/ld.
修改:

复制代码
1
2
cp/usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld

然后执行:

复制代码
1
2
make update-api

完成以后重新编译应该就没有错误了。

最后

以上就是殷勤康乃馨最近收集整理的关于RK3288源码编译一.源码下载二.编译Android固件的全部内容,更多相关RK3288源码编译一内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部