/**
* 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源码编译出现的错误及相关解决办法的更多相关文章

  1. 源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题(修改PATH路径)

    最近碰到一个奇怪的问题, PHP使用 curl_exec 访问 HTTPS 网页时, 返回502错误, 访问HTTP网页时没有问题,  用   echo   phpinfo() ;  查看, 支持op ...

  2. Spring源码编译一次性通过&遇到的坑解决方法

    前言 spring源码本地编译,按网上的博客参考资料的操作步骤,总是会出现各种莫名其妙的错误.根据错误信息找解决方案,但在自己的环境下又总是编译不过去.结合参加培训学习Jack老师提供的方法,自己多种 ...

  3. chrome源码编译常见的错误解决

    最近编译chrome浏览器源码时,下载源码和一般的设置,网络中都有说明,而且一般的说明都是类似的,然后都说编译成功了,但本人没有试成功,碰到常见的2个错误,记录下,不知道大家碰到没有. 1.pytho ...

  4. android 源码编译中的错误 解决

    1.编译种错误提示: arm-none-linux-gnueabi-gcc: directory: No such file or directory arm-none-linux-gnueabi-g ...

  5. 【转】Android 源码编译make的错误处理--不错

    原文网址:http://blog.csdn.net/ithomer/article/details/6977386 Android源码下载:官方下载 或参考android源码下载方式 Android编 ...

  6. Android源码编译make的错误处理

    android源码下载:官方下载 或参考android源码下载方式 Android编译版本: PLATFORM_VERSION=4.0.1(最新Android 4.0.1) OS 操作系统平台: Li ...

  7. jdk/java版本与Android源码编译中的错误

    错误一:javap未指向有效的java版本 Traceback (most recent call last): File "../../base/android/jni_generator ...

  8. Android 源码编译及常见错误及解决方法

    最近要往arm开发板上移植android系统,大大小小的问题遇到了太多太多,都是泪啊.本人初接触嵌入式开发,对问题的根源不是太了解,不过好在每解决一个问题,便记录一下.话不多说,正式罗列问题: hos ...

  9. 源码编译apache报错的解决方法

    源码编译apache报错的解决方法   问题介绍 在源码编译安装httpd时,./configure执行无错误,到make时就报错,在网络上搜索了很多文章,很多方法如换apr-util的低版本并不能很 ...

随机推荐

  1. [Codeforces 863A]Quasi-palindrome

    Description Let quasi-palindromic number be such number that adding some leading zeros (possible non ...

  2. hy 的惩罚

    [问题描述] hy 抄题解又被老师抓住了,现在老师把他叫到了办公室. 老师要 hy 和他 玩一个游戏.如果 hy 输了,老师就要把他开除信息组:  游戏分为 k 轮.在游戏开始之前,老师会将 n 个由 ...

  3. TopCoder SRM 559 Div 1 - Problem 900 CircusTents

    传送门:https://284914869.github.io/AEoj/559.html 题目简述: n个实心圆,两两没有交集,在第一个圆上找一个点,使得它到另外一个圆上某个点的最短距离的最小值尽量 ...

  4. ●BZOJ 3143 [Hnoi2013]游走

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3143题解: 期望dp,高斯消元 首先有这样一种贪心分配边的编号的方案:(然后我没想到,233 ...

  5. UVALive - 3882:And Then There Was One

    约瑟夫环 f[i]表示有i个人先处理第k个人,最后被处理的人是谁 #include<cstdio> #include<cstdlib> #include<algorith ...

  6. 【BZOJ1835】【ZJOI2010】基站选址

    原题传送门 Description 有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci.如果在距 ...

  7. POJ2513 欧拉 + 字典树

    POJ 2513 有N根木棒,一根木棒有2头,我们把每头涂色(相同或不同),如果2根木棒有相同颜色的一端就可以连接,颜色全部不同就不能连接,现在给你N根木棒以及它们的颜色,问最后能不能链接成1条链. ...

  8. bzoj4034[HAOI2015]树上操作 树链剖分+线段树

    4034: [HAOI2015]树上操作 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 6163  Solved: 2025[Submit][Stat ...

  9. 入口开始,解读Vue源码(一)-- 造物创世

    Why? 网上现有的Vue源码解析文章一搜一大批,但是为什么我还要去做这样的事情呢?因为觉得纸上得来终觉浅,绝知此事要躬行. 然后平时的项目也主要是Vue,在使用Vue的过程中,也对其一些约定产生了一 ...

  10. Mybatis Generator 代码生成配置

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...