本帖最后由 robe.zhang 于 2018-6-29 15:16 编辑
【DLT-RK3288试用】7,编译android教程
源码,6GB,解压: 源码里面有这些东西:(红色的make_3.81不是,是我自己下载的)
安装确认编译环境,官方推荐 ubuntu14.04 编译,daluotuo官方使用ubuntu12.04,我试用的ubuntu 16.04 lts x64,都是可以编译的; 使用14.04参考google的方法,使用12.04 编译参考daluotuo的方法,使用16.04 lts x64 的话可以参考以下方法: 1, 安装openjdk-7-sdk; 更新源,安装 - sudo apt-get install update
- sudo apt-get install openjdk-7-jdk
复制代码没法安装的话,需要添加源: - sudo add-apt-repository ppa:openjdk-r/ppa
- sudo apt-get update
复制代码然后再安装
- sudo apt-get install openjdk-7-jdk
复制代码等着安装完成,打入下命令会返回版本信息,确认好版本搞定: 修改 java 配置文件,找到源码根目录下的set_build.sh 修改红圈的代码: 2, 备份替换源码的一个编译文件: 备份 - cp prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-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
复制代码3, 安装这一大堆组件,为了减少麻烦,提示suggest安装的东西,也装一下: git-core gnupg flex bison gperfbuild-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccachelibgl1-mesa-dev libxml2-utils xsltproc unzip 使用命令 - sudo apt-get install 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
复制代码等全部安装完成 4, 确认好make版本,v3.81,据说是专门给android用的 打入下命令,返回make版本,系统自带的make版本高,也能编译出来,没啥问题就不用管,出问题再换也行: 更换make v3.81方法: 下载红色这个文件了,使用以下命令安装 - sudo dpkg -i make_3.81-8.11ubuntu1_amd64.deb
复制代码安装完成再确认版本:
开始编译,进入源码主目录,运行这个命令: 一切ok,坐等完成,每一部分编译完编译成功或者编译失败都有提示,参考上一篇帖子: 有什么问题的话,再处理一下。
烧录系统:
编译完,打包生成的一堆文件在源码根目录下 rockdev/ 目录里面的这两个文件,Image-rk3288_box 目录是一堆零散的镜像,update.img 是编译出来的一体包,稍后烧录按照烧录一体包的方法烧录这个update.img 文件
烧录方法参考这一帖,1,2,3,4 照着做就行:
【DLT-RK3288试用】3,刷上ubuntu系统
开机验证新系统:
参照这一篇帖子:
【DLT-RK3288试用】6,编译android运行起来
部分编译错误: 1,报错 libnativehelper/JniInvocation.cpp:165:error: unsupported reloc 43 执行上面的第2步。 2,报错:/bin/bash: xmllint: command not found 安装: - sudo apt-get install libxml2-utils
复制代码3.报错:error whileloading shared libraries: libz.so.1: cannot open shared object file: No suchfile or directory 安装: - sudo apt-get install lib32z1
复制代码第3步每个软件都确认好了不会有这些乱七八糟的错误,要是没见过的报错,一点点搞
本文汇总记录了自己编译过程中碰到的部分问题,实际编译时候每个人的主机环境差异很大,可能出现的问题不同,此文可能有遗漏,仅供参考,祝大家编译顺利。
|