1.问题描述2.解决办法3.指令详解4.参考文献
1.问题描述在Andiord开发时,会遇到预置文件的问题,也就是在编译时,就将某个文件拷贝到固定的地址,编译完成后,烧写到目标板上后,在目标板上的Android中的某个路径下就有这个文件。
比如,想要在目标板上电后,在 /data 路径下就存在 test.txt 文件,那么如何做呢?
在源路径处增加Android.mk文件,在Android.mk文件中添加如下:(将test.txt文件拷贝到app路径下,拷贝文件夹同理)
# copy test.txt to app LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) $(shell cp -af $(LOCAL_PATH)/test.txt $(TARGET_OUT)/app)
如果之前源路径下就有Android.mk文件的话,直接增加最后一句即可:
$(shell cp -af $(LOCAL_PATH)/test.txt $(TARGET_OUT)/app)3.指令详解
LOCAL_PATH := $(call my-dir)
调用my-dir函数获取当前路径,并且该语句一定要在include $(CLEAR_VARS) 之前。具体原因及说明请参考深入浅出Android makefile(2)–LOCAL_PATH.include $(CLEAR_VARS)
针对本文,知道这样使用就可以。详情同样参考深入浅出Android makefile(2)–LOCAL_PATH.$(shell cp -af $(LOCAL_PATH)/test.txt $(TARGET_OUT)/app)
cp指令比较简单,就是将源文件拷贝到目标路径。
-a 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。
-f 覆盖已经存在的目标文件而不给出提示。
4.参考文献
深入浅出Android makefile(2)–LOCAL_PATH
https://www.runoob.com/linux/linux-comm-cp.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)