查看: 2377|回复: 0

[原创] 【DLT-RK3288试用】7,编译android教程

[复制链接]
  • TA的每日心情
    开心
    2024-1-16 17:48
  • 签到天数: 592 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2018-6-28 01:06:52 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 robe.zhang 于 2018-6-29 15:16 编辑

    【DLT-RK3288试用】7,编译android教程


    源码,6GB,解压:
    701.png
    源码里面有这些东西:(红色的make_3.81不是,是我自己下载的)
    702.png

    安装确认编译环境,官方推荐 ubuntu14.04 编译,daluotuo官方使用ubuntu12.04,我试用的ubuntu 16.04 lts x64,都是可以编译的;
    使用14.04参考google的方法,使用12.04 编译参考daluotuo的方法,使用16.04 lts x64 的话可以参考以下方法:
    1, 安装openjdk-7-sdk;
    更新源,安装
    1. sudo apt-get install update

    2. sudo apt-get install openjdk-7-jdk
    复制代码
    没法安装的话,需要添加源:
    1. sudo add-apt-repository ppa:openjdk-r/ppa

    2. sudo apt-get update
    复制代码
    然后再安装   
    1. sudo apt-get install openjdk-7-jdk
    复制代码
    等着安装完成,打入下命令会返回版本信息,确认好版本搞定:
    1. java -version
    复制代码
    修改 java 配置文件,找到源码根目录下的set_build.sh 修改红圈的代码:
    703.png
    2, 备份替换源码的一个编译文件:
    备份
    1. cp prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld \
    复制代码
    替换
    1. 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
    使用命令
    1. 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版本高,也能编译出来,没啥问题就不用管,出问题再换也行:
    1. make -v
    复制代码
    更换make v3.81方法:
    下载红色这个文件了,使用以下命令安装
    1. sudo dpkg -i make_3.81-8.11ubuntu1_amd64.deb
    复制代码
    704.png
    安装完成再确认版本:
    705.png

    开始编译,进入源码主目录,运行这个命令:
    1. ./make-daluotuo.sh
    复制代码
    一切ok,坐等完成,每一部分编译完编译成功或者编译失败都有提示,参考上一篇帖子:
    有什么问题的话,再处理一下。


    烧录系统:
    编译完,打包生成的一堆文件在源码根目录下 rockdev/ 目录里面的这两个文件,Image-rk3288_box 目录是一堆零散的镜像,update.img 是编译出来的一体包,稍后烧录按照烧录一体包的方法烧录这个update.img 文件

    706.png
    烧录方法参考这一帖,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
    安装:
    1. sudo apt-get  install libxml2-utils
    复制代码
    3.报错:error whileloading shared libraries: libz.so.1: cannot open shared object file: No suchfile or directory
    安装:
    1. sudo apt-get install lib32z1
    复制代码
    第3步每个软件都确认好了不会有这些乱七八糟的错误,要是没见过的报错,一点点搞

    本文汇总记录了自己编译过程中碰到的部分问题,实际编译时候每个人的主机环境差异很大,可能出现的问题不同,此文可能有遗漏,仅供参考,祝大家编译顺利。







    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-25 05:16 , Processed in 0.123184 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.