1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
开始准备工作,准备编译环境。
安装Ubuntu。 检测Ubuntu是多少位可以用:sudo uname --m ,如果显示i686,你安装了32位操作系统,如果显示 x86_64,你安装了64位操作系统。 注:这里大家要注意一下,安装的Ubuntu一定要是64bit。 我先用的32bit然后环境配置怎么都过不去。 最后只好重新来过,换成64bit。我用的是Ubuntu16.04LTS 64bit. 注意这里要分配足够大的内存空间才能放得下解压缩的文件。 我这里先安装的时候准备了100G方便后面使用,然后外挂了一个240G的硬盘。 把这个240G的硬盘做成一个Samba服务器,和windows互通。 然后把 这个文件拷贝到samba服务器设置的那个文件夹下。我这里用的名字是Android_share。 使用 sudo tar xv*** Android Q-7.1.2.tar.gz 解压大概一个小时作用。 然后得到 这个文件。 这个时候我们的原材料准备完毕。 接下来我们需要安装编译器等等,这些环境设置之类的。 第一步:安装JDK 安装 sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jdk 环境变量设置 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 然后执行一下 source /etc/profile 注:如果要永久设置好环境变量,那么需要去 /etc/profile 里面进行设定。 第二步 : 安装NDK 我们的安卓源码里面有自带的NDK,所以我们拷贝到 /usr/lib/jvm/ 目录下。 然后添加环境变量就可以使用了。 拷贝 cp -a ndk /usr/lib/jvm 设置环境变量 export NDK_HOME=/usr/lib/jvm/ndk/build export PATH=$NDK_HOME:$PATH NDK_HOME=/usr/lib/jvm/ndk/build export PATH=$NDK_HOME:$PATH source /etc/profile 注:这里要设置到build里面,找到ndk-build这个可执行文件才能使用。 一样的,如果要永久设置好环境变量,那么需要去 /etc/profile 里面进行设定。 第三步: 测试JDK、NDK是否安装成功。 java -version java javac ndk-build -v 当出现: 出现这些信息的时候,说明上面安装的JDK、NDK成功了。 那么接着往下走。 第四步: 安装交叉编译工具。 sudo apt-get install gcc-arm-linux-gnueabihf sudo apt-get install lzop sudo apt-get install libncurses5-dev sudo apt-get install libssl1.0.0 sudo apt-get install libssl-dev sudo apt-get install libc6:i386 sudo apt-get install zip sudo apt-get install unzip sudo apt-get install git-core sudo apt-get install gnupg sudo apt-get install flex sudo apt-get install bison sudo apt-get install gperf sudo apt-get install build-essential sudo apt-get install curl sudo apt-get install zlib1g-dev sudo apt-get install gcc-multilib sudo apt-get install g++-multilib sudo apt-get install libc6-dev-i386 sudo apt-get install lib32ncurses5-dev sudo apt-get install x11proto-core-dev sudo apt-get install libx11-dev sudo apt-get install lib32z-dev sudo apt-get install ccache sudo apt-get install libgl1-mesa-dev sudo apt-get install libxml2-utils sudo apt-get install xsltproc 这些安装完成后。 第五步:先编译u-boot 编译u-boot, 先产生.config文件,最后产生rk3288_loader_v1.06.233.bin文件。 cd u-boot make rk3288_secure_defconfig make //这里我们不用 -j4, 否则可能内存不够过不去。 第六步:编译kernel (生成kernel.img 和 resource.img) make ARCH=arm rockchip_defconfig make ARCH=arm rk3288-miniarm.img 第七步:编译Android7.1.2 编译Android7.1.2 AOSP(在目录rockdev/Image-rk3288 下生成boot.img、pcba_small_misc.img 、recovery.img、misc.img、 pcba_whole_misc.img、system.img) cd .. source build/envsetup.sh lunch rk3288-userdebug make ./mkimage.sh 第八步:收集img 和 mkupdate (在目录RKTools/linux/Linux_Pack_Firmware/ rockdev_rk3288下生成RK3288UbootLoader.bin 和 update.img) cd RKTools/linux/Linux_Pack_Firmware/rockdev ./collectImages.sh && ./mkupdate.sh 第九步:产生bin档 在windows 下打开 SpiImageTools.exe 加在update.img, 会在当前文件夹下产生bin 档(该工具在源码目录下 RKToolswindows) 第十步:制作img 打开Win32diskImager.exe 将bin 档烧写到SD卡中,然后上电启动RK3288 到这里,我们的安卓镜像就做完了。一路顺利那么恭喜你。 但是我遇到很多问题,下面介绍一下。 第一个:jack-server. Warning: This may have produced partial or corrupted output. ninja: build stopped: subcommand failed. make: *** [ninja_wrapper] 错误 1 解决办法: 1、打开目录:vi prebuilts/sdk/tools/jack-admin (该目录位于源码目录) 2、找到如下语句: 3、将上述语句修改为: 主要是添加了-Xmx4096m参数。 4、重启jack-server , 这个是当前目录为MySource。 ./prebuilts/sdk/tools/jack-admin stop-server ./prebuilts/sdk/tools/jack-admin start-server 然后就可以了,继续编译就好。 然后我在重启jack-server的时候又遇到问题: Failed to authenticate Jack server certificate. Try 'jack-diagnose' ninja: build stopped: subcommand failed. 然后我们需要找到这两个文件,这两个文件的目录是: .jack-settings config.properties 这篇文章主要介绍我们编译不过的时候,如何配置和修改port和admin。注意一定要对上号。 大家要注意这两个文件的权限。都是rw00. 到这里重启jack-server就可以了。 然后接着compile. 跑着跑着又来问题了。 ninja: fatal: fork: Cannot allocate memory ninja: build stopped: subcommand failed. 可以通过增加swap分区解决。 1.创建交换分区的文件:增加1G大小的交换分区,则命令写法如下,其中的 count 等于想要的块大小。 # dd if=/dev/zero of=/home/swapfile bs=1M count=1024 2.设置交换分区文件: # mkswap /home/swapfile #建立swap的文件系统 3.立即启用交换分区文件: # swapon /home/swapfile #启用swap文件 4.使系统开机时自启用,在文件/etc/fstab中添加一行: /home/swapfile swap swap defaults 0 0 完成后接着编译。 make后会出现错误还是一样的错误,但是在往前走。两万四千多个文件一直在往前编译。 说明编译在继续只是又没有内存了。不管他就好了,接着make。 我的电脑基本都出现这样了, 然后有时候会CPU跑到30-40%这个时候编译已经跑起来了。 我的编译了八九个小时才过的。 建议性能不好的电脑就不要用 -j4选项了。 我虽然分配了4G给虚拟机,也设置了4核。但是我还是用make。 这样更稳妥一点。 最后编译成功能看到下图。 看到successflly绿色的,就happy了。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
1162 浏览 0 评论
1330 浏览 1 评论
1015 浏览 1 评论
2345 浏览 1 评论
3671 浏览 1 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 22:49 , Processed in 0.780721 second(s), Total 91, Slave 75 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号