完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
整个编译过程大致分为四个步骤:
1.安装相应依赖库文件,以及交叉编译工具和配置环境变量; 2.编译u-boot; 3.编译kernel; 4.编译android; 请认真阅读每个步骤上的提示,以及文件放置的相应路径。如果错误,欢迎批评指正,谢谢! 如果执行.sh 脚本出现问题,请按照步骤在终端手动执行命令。 #!/bin/bash echo ======================================= echo RK3288 Android7.1.2 源码编译 echo ======================================= echo ======如果在windows下编译执行出现‘损坏的编译器’ sed -i 's/r$//' filename.sh即可恢复正常====== echo ======.sh文件在哪个目录下执行,Android7.1.2 源码编译也在该目录下进行,本脚本默认在Android7.1.2 源码目录下执行====== echo 1.Ubuntu 12.04.5 LTS 下载安装jdk,并配置环境变量,该过程需要手动按enter键(默认下载到目录/usr/lib/jvm/java-8-openjdk-amd64 ,若要永久变量打开 vim /etc/profile进行设定) 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 echo 2.安卓源码目录下有自带的ndk,将其复制到/usr/lib/jvm/ 目录下,添加环境变量即可使用(若要永久变量打开 vim /etc/profile进行设定) cp -a ndk /usr/lib/jvm export NDK_HOME=/usr/lib/jvm/ndk export PATH=$NDK_HOME:$PATH NDK_HOME=/usr/lib/jvm/ndk export PATH=$NDK_HOME:$PATH source /etc/profile echo 3.测试jdk、ndk是否安装成功 java -version java javac ndk-build -v echo 4.安装交叉编译工具 sudo apt-get install gcc-arm-linux-gnueabihf lzop libncurses5-dev libssl1.0.0 libssl-dev libc6:i386 zip unzip git-core gnupg flex bison gperf build-essential 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 echo 5.编译u-boot,先产生.config文件,最后产生rk3288_loader_v1.06.233.bin文件 cd u-boot make rk3288_secure_defconfig make -j4 echo 6.编译kernel(生成kernel.img 和 resource.img) cd ../kernel make ARCH=arm rockchip_defconfig make ARCH=arm rk3288-miniarm.img echo 7.编译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 echo =================================================================================== echo if you want to generate the android image as well as the OTA and the target files echo $ make otapackage echo $ ./mkimage.sh ota echo =================================================================================== echo 8.收集img 和 mkupdate (在目录RKTools/linux/Linux_Pack_Firmware/rockdev_rk3288下生成RK3288UbootLoader.bin 和 update.img) cd RKTools/linux/Linux_Pack_Firmware/rockdev ./collectImages.sh && ./mkupdate.sh echo 9.在windows 下打开 SpiImageTools.exe 加在update.img,会在当前文件夹下产生bin 档(该工具在源码目录下 RKToolswindows) echo 10.打开Win32diskImager.exe 将bin 档烧写到SD卡中,然后上电启动RK3288 echo =================================================================================== echo ============= 编译Android7.1.2 AOSP 时遇到的问题以及解决方法 ====================== echo =================================================================================== echo 1)out/host/linux-x86/bin/jack: 行 131: 8399 已杀死 ERROR: Cannot launch Jack server echo 解决方法:vim $HOME/.jack(该文件在你的用户目录下) 可以把$HOME/.jack中的配置文件中的SERVER=true设成false,不用jack,jack现在还不稳定。 echo 2)out/target/common/JAVA_LIBRARIES/framwork_intermediates/with-lal/classes.dex 错误 echo 解决方法:重新编译即可。 echo 3)out/target/common/obj/JAVA_LIBRARIES/sdk_v19_intermediates/classes.jack] 错误 1 echo 解决方法:如果在虚拟机内,别使用-j 这样会导致内存不够,编译卡住或者出现错误,直接使用make即可。 echo 4)Unsupported major.minor version,建议使用1.8.x echo 解决方法:android7.1.2 源码编译需要jdk1.8.x 及以上才能正常编译。 echo 5)Warning: This may have produced partial or corrupted output. ninja: build stopped: subcommand failed. make: *** [ninja_wrapper] 错误 1 echo 解决方法:打开目录:vi prebuilts/sdk/tools/jack-admin (该目录位于源码目录) echo 1.找到如下语句: echo 2.将上述语句修改为: echo 主要是添加了-Xmx4096m参数,接下来在源码目录下执行如下命令重启jack-admin服务: echo $ ./prebuilts/sdk/tools/jack-admin stop-server echo $ ./prebuilts/sdk/tools/jack-admin start-server 配置图文: 1)执行完上述步骤 7 中的 make 以及 ./mkimage.sh 后,如果编译正常通过,将会看到如下显示; 1)执行完上述步骤 7 中的 ./collectImages.sh && ./mkupdate.sh 后,如果编译正常通过,将会看到如下显示; |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1861 浏览 1 评论
synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?
2317 浏览 1 评论
RK3588 GStreamer调试四路鱼眼摄像头四宫格显示报错
5129 浏览 1 评论
【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络-YOLO图像识别
254 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】SSH远程登录网络配置及CAN通讯
1336 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 09:45 , Processed in 0.709834 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号