MTK8127源码编译出现的错误及相关解决办法
2016-10-18 17:34
831 查看
/** * date:2016/8/17 * author: Y.X .YANG */ 按照开发文档提示: 1、MTK提供的开发包目录下有若干个.aa .ab .ac ...的分压缩包。此时应当将这些压缩包并包,使用以下命令: # cat MT8127_M0_MP8_0407_t8370_emmc.tar.gz* >> MT8127_M0_MP8_0407_t8370_emmc.tar.gz 2、对 MT8127_M0_MP8_0407_t8370_emmc.tar.gz 进行解包。使用以下命令: # tar -xzvf MT8127_M0_MP8_0407_t8370_emmc.tar.gz 解压完成后在当前目录下会生成一个 MT8127_M0_MP8_0407 的目录,cd 进去后就是MTK的源码工程 3、MTK工程的编译 (1)在当前目录下 终端输入命令:source build/envsetup.sh (2)lunch有两个版本,分别是eng版本还有Userdebug版本,这里我们选择eng版本进行lunch lunch的选项选择第20个选项:em-t8370-emmc-eng # lunch em-t830-emmc-eng (3)开始编译 # make -j36 2 >&1 | tee build.log 在编译的过程中,通常出错会遇到以下问题, 1、 (1)文档指出,编译的OS至少需要LINUX Ubuntu 14.04这个版本 (2)内存空间要足够大,需要至少100G以上 (3)Java JDK的版本,至少需要 1.7.0_55以上的版本 (4)GNU Make v3.81 or above 注意观察编译调试日志出现的log,分析log可以很容易知道以上出错的原因。 eg: ============================================ Checking build tools versions... ************************************************************ You are attempting to build with the incorrect version of java. Your version is: 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). The required version is: "1.7.x" Please follow the machine setup instructions at https://source.android.com/source/initializing.html ************************************************************ build/core/main.mk:171: *** stop。 停止。 以上的log信息表示JDK版本信息以及服务器编译环境过低,需要及时更新。 2、如果以上的环境配置都没有问题 编译过程中如果提示某某.bin 文件依赖于 ....文件夹的时候 eg : make: *** No rule to make target `bootable/bootloader/lk/eng/lk.bin', needed by `out/target/product/em_t8370_emmc/lk.bin'. Stop. # find . -name lk.bin ./vendor/mediatek/proprietary/bootable/bootloader/lk/eng/lk.bin ./vendor/mediatek/proprietary/bootable/bootloader/lk/user/lk.bin 此时会找到以上这两个同名文件,我们工程是eng版本,所以需要cp ./vendor/mediatek/proprietary/bootable/bootloader/lk/eng/lk.bin 这个文件。 找到对应的lk.bin文件后,拷贝到对应的这两个目录里去,此时发现在MTK源码工程bootable这个目录下没有bootloader/lk/eng/这些文件夹 这时需要在相应的目录下创建: # mkdir bootable/bootloader/lk/eng/ -p 创建完相关目录后, 拷贝用以下命令,在MTK源码目录下: # cp ./vendor/mediatek/proprietary/bootable/bootloader/lk/eng/lk.bin bootable/bootloader/lk/eng/ 再进行make 如果后续如出现make: *** No rule to make target `xxx.bin', needed by `xxx.bin'. Stop.这样的问题时,使用以上方法解决。 如果没有,工程编译成功需要等待1个小时左右的时间。 3、编译完成后:会在目录/mnt/sdb1/yangyx/MT8127_M0_MP8_0407/out/target/product/em_t8370_emmc产生若干个文件 root@pst-Z97X-UD3H:/mnt/sdb1/yangyx/MT8127_M0_MP8_0407/out/target/product/em_t8370_emmc# ls android-info.txt EBR1 MBR ramdisk.img_raw root boot.img EBR2 MT8127_Android_scatter.txt ramdisk-recovery-bthdr.img secro.img cache gen obj ramdisk-recovery.img symbols cache.img installed-files.txt ota_scatter.txt recovery system clean_steps.mk kernel preloader_em_t8370_emmc.bin recovery_bthdr.img system.img custom_build_verno lk.bin previous_build_config.mk recovery.id tz.img data logo.bin ramdisk.img recovery.img userdata.img 将编译生成的以下文件拷贝到Window系统下相关目录后用flash_tool.exe工具烧写进开发板,烧写工具文档说明一并上传.。 boot.img cache.img EBR1 EBR2 lk.bin logo.bin MBR MT8127_Android_scatter.txt preloader_em_t8370_emmc.bin recovery.img secro.img system.img userdata.img
相关文章推荐
- MTK8127源码编译出现的错误及相关解决办法
- 使用Openjdk7编译android源码出现"Could not initialize NSS"错误的解决办法
- 用vs2010MVC2项目中创建数据库时报建立连接时出现与网络相关的或特定于实例的错误的解决办法
- VS2010出现FileTracker : error FTK1011编译错误的解决办法
- ubuntu bochs 编译安装及可能出现的错误的解决办法
- 开源的项目xlistctrl编译时出现错误:“找不到uxtheme.h文件”的解决办法
- hibernate源代码编译时出现错误的解决办法
- 在VC6下编译MTL程序,出现的C4786错误的原因和解决办法
- win7下用cygwin编译程序出现couldn't allocate heap,win32 error xxx错误的解决办法
- RSL编译方式的FLEX站点出现#2046错误的解决办法
- VS2005中编译dll文件, 出现"共享段无法找到"的错误及解决办法
- 程序Debuge版本编译通过,Release版本出现链接错误,解决办法
- 在WinCE6.0下编译DirectShow相关应用时出现题图中的错误链接的解决方法
- Asp 出现Microsoft JScript 编译错误 (0x800A03EC) 缺少 ';'解决办法
- ubuntu 11.10(32位系统)下编译android源码 make错误解决办法
- u-boot移植时出现inline function 'coloured_LED_init' cannot be declared weak及相关错误时的解决办法!
- 编译busybox出现cannot find -lcrypt错误的解决办法
- U_BOOT移植时出现相关错误时解决办法
- VS2010出现FileTracker : error FTK1011编译错误的解决办法
- 编译用于Linux-arm 的Qt4.8.0 opensource 出现 clock_gettime() 未找的错误解决办法