RK3288源码编译
一.源码下载
安卓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
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为例):
创建目录:
sudo mkdir /usr/lib/jvm
解压缩到该目录:
sudo tar -zxvf jdk-7u80-linux-x64.gz -C /usr/lib/jvm
安装完成以后,配置环境变量,配置OpenJDK.打开/etc/profile文件:
sudo gedit /etc/profile
在末尾追加下面代码:
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环境生效:
source /etc/profile
检查OpenJDK配置是否正确:
java -version
配置正确则如下图:(此图包括记下来的图片来自其它的博客,忘记来源了,在这里就直接用了)
设置系统默认jdk 版本:
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
然后执行:
sudo update-alternatives --config java
若是初次安装jdk,会有下面的提示:
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 软件包安装
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 软件包安装:
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 软件包安装:
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 交叉编译工具链和编译内核相关软件包:
sudo apt-get install gcc-arm-linux-gnueabihf \
lzop libncurses5-dev \
libssl1.0.0 libssl-dev
三.安卓源码编译
1.源码下载完成后,放到ubuntu上;
2.然后验证一下MD5码:
$ md5sum /path/to/firefly-rk3288_android5.1_git_20180126.tar.gz
8fe99f519d487ff40c8bc7b5ded62887 firefly-rk3288_android5.1_git_20180126.tar.gz
第二行为验证结果,若验证无误,就可以解压:
mkdir -p ~/proj/firefly-rk3288
cd ~/proj/firefly-rk3288
tar xf /home/rk3288/firefly-rk3288_android5.1_git_20180126.tar.gz
git reset --hard
四.编译内核
cd ~/proj/firefly-rk3288/kernel
make firefly-rk3288_defconfig
make -j8 firefly-rk3288.img
编译不通过添加:
sudo apt-get install lzop sudo apt-get install libc6:i386
五.编译Android
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.
修改:
cp/usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld
然后执行:
make update-api
完成以后重新编译应该就没有错误了。
RK3288源码编译相关推荐
- rk3288编译android,RK3288 源码编译Android 7.1.2 自动编译
接着上一篇文章,我们写一个shell脚本. 实现自动编译. #/bin/bash #Test for auto compile Android7.1.2 source code echo " ...
- java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实
好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...
- 5单个编译总会编译全部_玩转Android10(五)源码编译开发中常用命令
源码开发编译中,熟练掌握常用命令,可以提高开发工作效率.Android源码中,将相关的命令分为如下几类: 1.初始化源码编译环境 初始化编译环境,为后续提供如lunch.make.xxgrep.god ...
- mono和monodevelop源码编译安装
之所以用源码编译的方式安装mono和monodevelop,是因为通过yum安装的mono不是最新版本,而且monodevelop不能建 asp.net MVC3的工程. 而且通过源码安装,可以进一步 ...
- nginx源码编译、负载均衡及模块的扩展
1.nginx源码编译 实验环境: iptables和selinux关闭 redhat6.5 nginx:test1: 172.25.1.11 [root@test1 ~]# ls nginx-1.1 ...
- mac通过tree源码编译安装tree
通过tree源码编译安装 下载源码:curl -O ftp://mama.indstate.edu/linux/tree/tree-1.6.0.tgz 解压源码:tar xzvf tree-1.6 ...
- 干货|TensorFlow开发环境搭建(Ubuntu16.04+GPU+TensorFlow源码编译)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习算法工程师 安装平台 1 平台 目前Tensor ...
- Nginx 源码编译安装
Nginx 源码编译安装环境 Centos7 Nginx1.8.1 下载地址:http://nginx.org/download/ 选择自己想要的版本 我这边使用1.8.1,下载地址:http: ...
- 基本lnmp平台的搭建(源码编译)
lnmp :linux ,nginx ,mysql ,php 系统环境:rhel6.0 selinux and iptables disabled (这里我们都只用源码编译的方式) 1 ste ...
最新文章
- 学python的基础-老司机学python篇:第一季(基础速过、机器学习入门)
- 卡方 python_卡方优度检测 (Python 实现) --基于jupyter
- P1768-天路【负环,SPFA,01分数规划,二分答案】
- 使用模拟的单元测试–测试技术5
- C实现web service
- 欠薪6个月 今天起又放假3个月?欠薪下的“自救”?柔宇科技紧急回应...
- matlab图像分类器,Matlab 基于svm的图像物体分类
- Web 开发常备工具
- Linux内核的编译方法及如何往内核中增加程序
- java代码继承------多层继承
- CentOS 7.4 上如何安装 tomcat 9
- Adobe和Google推出开源字体:思源黑体
- 小迪渗透测试学习笔记(一)基础入门-概念名词
- excel换行按什么键_4种方法,教你excel怎么自动换行
- YOLO系列目标检测数据集大全
- 小鸟 java_java 飞翔小鸟源码
- 从零到壹搭建一个商城架构--k8s集群安装
- Ubuntu18.04系统安装并配置mosquitto
- 计算 1+3+5+...+99 的和
- 国密SM9算法C++实现:算法功能与测试例子
热门文章
- 12306抢票系统的NB解析
- 51单片机的温湿度控制系统
- 【Linux】特别篇--sqlite3数据库的使用
- 首月流水3亿的暑期档黑马,被外挂所困扰
- 哈工大SCIR出品《自然语言处理》新书,无套路送5本!
- 视频跟踪——TLD算法
- 2020.10.24--AI--波纹便签、字体设计、徽章制作
- Unity5.0 天空盒(CubeMap)
- linux 误删除根分区的pv,如何安全的删除Linux LVM中的PV物理卷(硬盘或分区)(4)
- 在linux中如何修改保存gun文件_Linux下文件重命名、创建、删除、修改及保存文件...