android第三方资源客制化

如何预制一些文件到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
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值