一.背景

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的更多相关文章

  1. Ubuntu16.04下的modules模块编译加载

    一.首先编写对应的驱动程序的相关内容:(最简单的hello.c程序) #include<linux/init.h> #include<linux/module.h> MODUL ...

  2. ubuntu16.04下的htk安装编译

    HTK(HMM Tools Kit)是一个剑桥大学开发的专门用于建立和处理HMM的实验工具包[1],主要应用于语音识别领域,也可以应用于语音合成.字符识别和DNA排序等领域.HTK经过剑桥大学.Ent ...

  3. 【原创】Octovis在Ubuntu16.04下运行出现core dump的解决方案

    本人SLAM研究新手,使用系统为Ubuntu16.04.本文原址:http://www.cnblogs.com/hitlrk/p/6667253.html 在学习SLAM的过程中,使用Octomap进 ...

  4. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

  5. ubuntu16.04下笔记本自带摄像头编译运行PTAM

    ubuntu16.04下笔记本自带摄像头编译运行PTAM 转载请注明链接:https://i.cnblogs.com/EditPosts.aspx?postid=9014147 个人邮箱:feifan ...

  6. Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件)

    Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件) https://blog.csdn.net/woainishifu/article/details/79712110 我们在做项 ...

  7. Ubuntu16.04下编译安装及运行单目ORBSLAM2

    官网有源代码和配置教程,地址是 https://github.com/raulmur/ORB_SLAM2 1 安装必要工具 首先,有两个工具是需要提前安装的.即cmake和Git. sudo apt- ...

  8. ubuntu16.04下安装artoolkit5

    目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...

  9. ubuntu16.04下caffe以cpu运行faster rcnn demo

    参考https://haoyu.love/blog404.html 获取并修改代码 首先,我们需要获取源代码: git clone --recursive https://github.com/rbg ...

随机推荐

  1. 洛谷P4436 游戏 [HNOI/AHOI2018]

    正解:拓扑排序 解题报告: 传送门! 首先不难想到可以把麻油锁的一段先直接缩成一个点,然后预处理每个点能到达的最左和最右节点,然后就能O(1)地查询辣 所以难点在于预处理 可以想到,对于它给定的关于锁 ...

  2. usb设备运行不正常的解决方法(转)

    add by zhj:上午鼠标还用的好好的,下午就不能用了,插上之后提示“跟这台计算机连接的一个usb设备运行不正常”,尼玛,什么情况?我今天没安装软件啊,换了个USB接口也不行,在另一台电脑上试还是 ...

  3. 共享访问在.NET中的编程实现

    转载:http://blog.csdn.net/zhzuo/article/details/1732937 共享访问在.NET中的编程实现 发布日期:2007-08-08 | 更新日期:2009-03 ...

  4. 高性能mysql第6章

    第6章,优化配置 https://www.cnblogs.com/musings/p/5913157.html 1:服务器读取的配置文件,可以使用下面的命令查询 admin@iZwz92c0zpe8t ...

  5. [na]timewait优化

    解决timewait 加入一条socket配置,重用ip和端口 phone=socket(AF_INET,SOCK_STREAM) phone.setsockopt(SOL_SOCKET,SO_REU ...

  6. 怎么获得当前点击的按钮的id名?

    <body> <input id="t1" type="button" value='fff'> <input id=" ...

  7. Git简单入门教程

    1.下载Git,360的软件管家里搜 2.安装Git,下载好之后安装到指定路径下 安装方法有多个复选框的把第一个也选上,其他默认直接next,最后一步什么都不选 3.配置用户信息:(右键-->g ...

  8. [LeetCode] 298. Binary Tree Longest Consecutive Sequence_Medium tag: DFS recursive

    Given a binary tree, find the length of the longest consecutive sequence path. The path refers to an ...

  9. css定位浮动总结

    定位:定位在中间,放大缩小时也不会跑偏. position:absolute; top: 50%; left: 50%; margin: -270px 0 0 -455px; 解释:定位后,设百分比的 ...

  10. [ps] 灰度和通道基础知识

    灰度.灰度值.灰度图像 灰度:灰度使用黑色调来表示物体,即用黑色为基准色,不同饱和度的黑色来显示图像.每个灰度对象都具有从0%(白色)到100%(黑色)的亮度值.使用黑白或灰度扫描仪生成的图像通常以灰 ...