ubuntu16.04下firefly rk3288的编译安卓4.4
一.背景
OS: ubuntu 16.04
二.配置交叉编译环境
2.1 安装openjdk
sudo apt-get install openjdk-7-jdk
2.2 使在同一台机器上可以编译android 5.1及以下的版本
sudo /var/lib/dpkg/info/openjdk-7-jdk:amd64.prerm remove
2.3 安装tools\lib
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev \
libesd0-dev libwxgtk3.0-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 \
libssl1.0.0 libssl-dev
2.4 源码
git clone https://TeeFirefly@bitbucket.org/T-Firefly/firefly-rk3288.git
2.5 编译内核
cd firefly-rk3288
cd kernel
make firefly-rk3288_defconfig
make -j8 firefly-rk3288.img
2.6 编译 Android
make -j8 (默认编译出来的是userdebug版本)
2.6.1 此时出现以下错误:
build/core/main.mk:46: * You are using version 4.1 of make.
build/core/main.mk:47: * Android can only be built by versions 3.81 and 3.82.
2.6.2 解决方案:安装低版本make
wget ftp://ftp.gnu.org/gnu/make/make-3.82.tar.bz2
tar xvf make-3.82.tar.bz2
cd make-3.82
./configure
make
sudo make install
cd /usr/bin
sudo cp make make_back
sudo cp /usr/local/bin/make ./
继续make -j8
2.6.3出现以下错误:
You are attempting to build with an unsupported JDK.
You use OpenJDK but only Sun/Oracle JDK is supported.
2.6.4 解决方案:使用sun/oracle jdk
sudo apt-get update
sudo apt-get remove openjdk* (卸载openjdk)
sudo apt-get install oracle-java6-installer (无法安装)
那么直接下载http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u21-oth-JPR
chmod u+x jdk-6u45-linux-x64.bin
sudo ./jdk-6u45-linux-x64.bin (执行完就出现一目录,将其路径设置到PATH中,如/home/jellojdk/jdk1.6.0_45/bin,那么PATH=/home/jellojdk/jdk1.6.0_45/bin:$PATH)
update-alternatives --display java (当前sdk)
java - 手动模式
link best version is /usr/lib/jvm/java-9-oracle/bin/java
链接目前指向 /usr/lib/jvm/java-9-oracle/bin/java
link java is /usr/bin/java
/usr/lib/jvm/java-9-oracle/bin/java - 优先级 1091
update-alternatives --install /usr/bin/java java /home/jello/jdk/jdk1.6.0_45/bin/java 1092(设置优先级为1092,比1091高)
重新打开一终端,输入java -version 输出如下信息:
jello@jello-Inspiron-N4050:~$ 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)
source build/envsetup.sh
lunch rk3288-eng
继续make -j8
./mkimage.sh
ubuntu16.04下firefly rk3288的编译安卓4.4的更多相关文章
- Ubuntu16.04下的modules模块编译加载
一.首先编写对应的驱动程序的相关内容:(最简单的hello.c程序) #include<linux/init.h> #include<linux/module.h> MODUL ...
- ubuntu16.04下的htk安装编译
HTK(HMM Tools Kit)是一个剑桥大学开发的专门用于建立和处理HMM的实验工具包[1],主要应用于语音识别领域,也可以应用于语音合成.字符识别和DNA排序等领域.HTK经过剑桥大学.Ent ...
- 【原创】Octovis在Ubuntu16.04下运行出现core dump的解决方案
本人SLAM研究新手,使用系统为Ubuntu16.04.本文原址:http://www.cnblogs.com/hitlrk/p/6667253.html 在学习SLAM的过程中,使用Octomap进 ...
- Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)
Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...
- ubuntu16.04下笔记本自带摄像头编译运行PTAM
ubuntu16.04下笔记本自带摄像头编译运行PTAM 转载请注明链接:https://i.cnblogs.com/EditPosts.aspx?postid=9014147 个人邮箱:feifan ...
- Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件)
Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件) https://blog.csdn.net/woainishifu/article/details/79712110 我们在做项 ...
- Ubuntu16.04下编译安装及运行单目ORBSLAM2
官网有源代码和配置教程,地址是 https://github.com/raulmur/ORB_SLAM2 1 安装必要工具 首先,有两个工具是需要提前安装的.即cmake和Git. sudo apt- ...
- ubuntu16.04下安装artoolkit5
目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...
- ubuntu16.04下caffe以cpu运行faster rcnn demo
参考https://haoyu.love/blog404.html 获取并修改代码 首先,我们需要获取源代码: git clone --recursive https://github.com/rbg ...
随机推荐
- javaweb使用 window.location.href 传中文参数 乱码问题
JS: var cn_name= document.getElementById("cn_name"); window.location.href="${URL}?na ...
- MySql操作语句集锦
Windows服务 -- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意 ...
- [django实践]投票app
code: https://github.com/lannyMa/toupiao polls app介绍 这个例子来源于django官网,恰好2.x版本有中文版. https://docs.djang ...
- Redis日常使用随笔
Redis常用配置:1.采用master与slave互为主从的方式,两条重要命令:redis 127.0.0.1:6379> SLAVEOF NO ONEredis 127.0.0.1:6379 ...
- testng入门教程14数据驱动(不同文件)
数据与test脚本不在同一文件时,下面是数据: package data_driver_two_parts; import org.testng.annotations.DataProvider; p ...
- Summary: Prime
最近遇到很多问题都跟Prime有关,于是总结一下: Prime definition:A prime number (or a prime) is a natural number greater t ...
- csv到mysql数据库如何分割
这两天修改一个取XML文件存入到CSV,然后再存入到mysql的bug,bug是XML文件里面有个name字段,存入CSV文件里面的时候我们用“|”,来分割字段.但是name里面有时候也有 ...
- Python: dict setdault函数与collections.defaultdict()的区别
setdault用法 >>>dd={'hy':1,'hx':2} >>>cc=dd.setdefault('hz',1) >>>cc 返 ...
- Storm初探
Storm是一种分布式流式处理技术,这一点和Spark与Hadoop的批处理特性有明显的区别. 在数据连续产生,响应时延要求较低的场景中,Storm具有Spark不可比拟的优势. 网络性能监控系统中, ...
- redis删除单个key和多个key,ssdb会落地导致重启redis无法清除缓存
redis删除单个key和多个key,ssdb会落地导致重启redis无法清除缓存,需要针对单个key进行删除 删除单个:del key 删除多个:redis-cli -a pass(密码) keys ...