您的位置:首页 > 其它

关于MT8127中sdk的编译出错问题

2016-10-10 10:49 337 查看
今天在看MTK提供的SDK编译文档,按照步骤做,结果出错了,文档如下:

2- Building an SDK for MacOS and Linux
--------------------------------------

First, setup your development environment and get the Android source code from
git as explained here:
 http://source.android.com/source/download.html 
For example for the cupcake branch:

$ mkdir ~/my-android-git
$ cd ~/my-android-git
$ repo init -u https://android.googlesource.com/platform/manifest -b master -g all,-notdefault,tools
$ repo sync

Then once you have all the source, simply build the SDK using:

$ cd ~/my-android-git
$ . build/envsetup.sh
$ lunch sdk-eng          这个sdk-eng指的是对应的mtk版本
$ make sdk

This will take a while, maybe between 20 minutes and several hours depending on
your machine. After a while you'll see this in the output:

Package SDK: out/host/darwin-x86/sdk/android-sdk_eng.<build-id>_mac-x86.zip

Some options:

- Depending on your machine you can tell 'make' to build more things in
parallel, e.g. if you have a dual core, use "make -j4 sdk" to build faster.

- You can define "BUILD_NUMBER" to control the build identifier that gets
incorporated in the resulting archive. The default is to use your username.
One suggestion is to include the date, e.g.:

$ export BUILD_NUMBER=${USER}-`date +%Y%m%d-%H%M%S`

There are certain characters you should avoid in the build number, typically
everything that might confuse 'make' or your shell. So for example avoid
punctuation and characters like $ & : / \ < > , and .
我直接按照上面的命令敲,结果发现出错,后来才知道,这里是sdk指的是对应的某某工程的名字,我这个工程名为

em_t8370_emmc,所以我的sdk名字就是em_t8370_emmc,看来文档有时会让人产生误解的啊,还好是老一辈的总工告诉了我,不然我还蒙在谷里呢!!今天总算知道了,呵呵呵。

然后,说说我遇到的问题和如何解决的方法吧:

1、按照源码中sdk目录下的howto_build_SDK.txt参考文档的编译方式
$ cd ~/my-android-git
$ . build/envsetup.sh
$ lunch sdk-eng
$ make sdk
结果,产生错误log信息如下:
device/mediatek/build/build/libs/custom.mk:159: PWD = /mnt/sdb1/yangyx/MT8127_M0_MP8_0407
device/mediatek/build/build/libs/custom.mk:160: *** Can not find ProjectConfig.mk , MTK_PROJECT_CONFIGS = .  Stop.

#### make failed to build some targets (48 seconds) ####

2、根据一些参考资料,我解决以上相关问题采用以下步骤:
source build/envsetup
lunch em_t8370_emmc-user
source build/envsetup    #需要重新source一次,我也不知道为什么,如果不重新再执行这句话,编译还是会产生像上面一样的问题。
make sdk
结果,产生的错误log信息如下:
Package SDK: out/host/linux-x86/sdk/em_t8370_emmc/android-sdk_1476082019_linux-x86.zip
SDK: warning: including GNU target out/target/product/em_t8370_emmc/system/lib/libexif.so
SDK: warning: including GNU target out/target/product/em_t8370_emmc/system/lib/libext2_blkid.so
SDK: warning: including GNU target out/target/product/em_t8370_emmc/system/lib/libext2_com_err.so
SDK: warning: including GNU target out/target/product/em_t8370_emmc/system/lib/libext2_e2p.so
SDK: warning: including GNU target out/target/product/em_t8370_emmc/system/lib/libext2_profile.so
SDK: warning: including GNU target out/target/product/em_t8370_emmc/system/lib/libext2_quota.so
SDK: warning: including GNU target out/target/product/em_t8370_emmc/system/lib/libext2_uuid.so
SDK: warning: including GNU target out/target/product/em_t8370_emmc/system/lib/libext2fs.so
SDK: warning: including GNU target out/target/product/em_t8370_emmc/system/lib/libiprouteutil.so
SDK: warning: including GNU target out/target/product/em_t8370_emmc/system/lib/libnetlink.so
SDK: warning: including GNU target out/target/product/em_t8370_emmc/system/lib/libnl.so
development/build/sdk.atree:49: couldn't locate source file: bin/etc1tool
development/build/sdk.atree:88: couldn't locate source file: bin/split-select
development/build/sdk.atree:93: couldn't locate source file: bin/bcc_compat
development/build/sdk.atree:186: couldn't locate source file: framework/layoutlib.jar
development/build/sdk.atree:525: couldn't locate source file: framework/layoutlib-tests.jar
development/build/sdk.atree:526: couldn't locate source file: system/app/EmulatorSmokeTests/EmulatorSmokeTests.apk
make: *** [out/host/linux-x86/sdk/em_t8370_emmc/android-sdk_1476082019_linux-x86.zip] Error 44

3、注释以上sdk.atress 49 88 93 186 525 526 相关的脚本
编译成功,在相关目录下生成以下的文件:
Package SDK: out/host/darwin-x86/sdk/android-sdk_eng.<build-id>_mac-x86.zip
生成的android.jar是最新的:
/out/host/linux-x86/sdk/em_t8370_emmc/android-sdk_1476083189_linux-x86/platforms/android-6.0/android.jar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: