android第三方资源客制化

来源:互联网 发布:php做api开发 编辑:程序博客网 时间:2024/06/13 23:05

如何预制一些文件到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来编译

0 0