如何预制一些文件到system/etc/目录(或其它目录)下?
方法:假设项目编译命令为:./mk huaqin6752_lwt_b1b_cu al891[default] new
那么,直接把文件copy到这个目录下就可以:vendor/huaqin/3rdPart/al891_default/system/etc/
同理,如果要预制一些文件到system/lib/test/目录下,那么直接copy到对应的文件夹下就可以
在编译的过程中,会有脚本直接把vendor/huaqin/3rdPart/al891_default/目录下的所有文件copy到out/target/product/huaqin6752_lwt_b1b_cu/目录下。
脚本流程:
mediatek/build/tools/mtkBegin.pl
($prj) = $ARGV[0]; ($hq_prj) = $ARGV[1]; ($hq_client) = $ARGV[2]; $temp = $hq_prj."_".$hq_client; $thirdsrcDir = "vendor/huaqin/3rdPart/$temp/"; $thirddstDir = $dstDir."target/product/$prj/"; if(-e $thirdsrcDir) { #print "begin to sync 3rd party dir:$thirdsrcDir \n"; system("rsync -av --exclude=.svn --exclude=.git --exclude=.cvs $thirdsrcDir $thirddstDir > auto_sync_android.log 2>&1"); }
mediatek/build/makemtk.mk
$(hide) /usr/bin/perl $(MTK_ROOT_BUILD)/tools/mtkBegin.pl $(PROJECT) $(HQ_PROJECT) $(HQ_CLIENT)
new和remake的时候应该会执行这个脚本,其它不确定
如何验证
我们可以自己写个编译命令,来验证自己的第三方资源文件是否能够成功预制
预制成功的标志就是在out/target/product/huaqin6752_lwt_b1b_cu/目录下找到你的文件
修改如下:
1.修改mediatek/build/makemtk.mk
添加如下编译命令
test:
$(hide) /usr/bin/perl $(MTK_ROOT_BUILD)/tools/mtkBegin.pl $(PROJECT) $(HQ_PROJECT) $(HQ_CLIENT)
2.修改mediatek/build/makeMtk
在actions中添加你的命令
@actions =
qw(
new n bm_new remake r bm_remake clean c listproject listp
drvgen codegen emigen nandgen custgen javaoptgen configgen ptgen run-preprocess remove-preprocessed
check-modem update-modem sign-image encrypt-image sign-modem check-dep
dump-memusage gen-relkey check-appres
rel-cust modem-info bindergen mrproper pregen check-seandroid
banyan_opensdk clean-md32 test
);
ok,现在输入./mk test 就可以查看编译结果啦
ps:会显示chao4在屏幕上,这个提示很奇怪,你也可以用./mk test android来编译