我正在构建一个定制的Android系统(JellyBean)。Android构建系统:如何从.tar文件包含预建文件?
我有一个项目(从上游)包含一个.tar文件,应该在构建时解压,它的内容应该被复制到生成的目录树中的某个地方。 我应该如何构建makefiles来完成它?
我已经试过如下:
1)写作Android.mk(与焦油的GIT)与非焦油指令和使用 “PRODUCT_COPY_FILES + = ...”
这不起作用,因为PRODUCT_COPY_FILES不能在Android.mk
2)写入Android.mk被用于与解压缩的指令和从AndroidProducts.mk包括一些产品定义MK文件,其中包含“PRODUCT_COPY_FILES + = ...”
这不起作用,因为untar在“PRODUCT_COPY_FILES + =(ls/untared/dir/*)”后发生,因此PRODUCT_COPY_FILES结果为空。
3)写作产品定义MK文件做解压缩,然后“PRODUCT_COPY_FILES + = ...”
这工作,但不是那么好,因为构建系统包括在多个地方该文件和解压发生多次(〜10)这减慢了构建并且不好...
'definition.mk'如何递归调用'android.mk'?或者,如果'android.mk'必须是主makefile,请将其解压缩,然后调用'secondary.mk'(它将执行'PRODUCT_COPY_FILES',然后执行所有实际工作)递归? – Beta 2012-07-30 11:21:57
嗯,你能否详细说明一下?我相信,我还没有明白......你在“definition.mk”下的意思是什么?而“递归” - 是否意味着某种东西称之为自我?你怎么“打电话”? – LiMar 2012-07-30 11:38:17
我会回答,但可能有一个更简单的方法。你是否可以控制对PRODUCT_COPY_FILES的* initial *赋值? – Beta 2012-07-30 12:55:00