我正在構建一個定製的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