PRODUCT_COPY_FILES不能写到自己的Android.mk中吗?
============问题描述============
拷贝的东西多,还有想模块化,单独写一个android.mk,结果编译时会出现:
build/core/main.mk:528: *** The following variables have been changed: PRODUCT_COPY_FILES。 停止。
make:离开目录“/home/。。。”
如何是好呢?
============解决方案1============
楼主要拷贝东西的话 可以用$(shell cp -rf srcPath destPath) 命令
例如:
$(shell cp -rf $(LOCAL_PATH)/xml/hs_customize_asdp.xml $(TARGET_OUT)/etc/hs_customize_asdp/)
============解决方案2============
就把你的$(shell cp -fr .. .. )语句放到Android.mk文件include $(CLEAR_VARS)这句后面。
楼主说的不太理解是不是指拷贝路径上,有些变量$(TARGET_OUT) ???
./ 就是指你当前编译环境的根目录。
./packages/apps/Phone 等等
============解决方案3============
楼主要拷贝东西的话 可以用$(shell cp -rf srcPath destPath) 命令
例如:
$(shell cp -rf $(LOCAL_PATH)/xml/hs_customize_asdp.xml $(TARGET_OUT)/etc/hs_customize_asdp/)
话说能不能提供一个简单的Android.mk呀,你这个命令是能理解,但是如何让Android的build的系统执行似乎有点难度,也不太理解。
就把你的$(shell cp -fr .. .. )语句放到Android.mk文件include $(CLEAR_VARS)这句后面。
楼主说的不太理解是不是指拷贝路径上,有些变量$(TARGET_OUT) ???
./ 就是指你当前编译环境的根目录。
./packages/apps/Phone 等等
明白了,我不明白的是前者:关于Android怎么编译时如何运行命令。我是从linux做起的对于 路径和linux的拷贝还是知道的。十分感谢。 其实PRODUCT_COPY_FILES还有一个缺点,刚刚测试出来的,最好不要拷贝可执行程序,拷贝过去是没有执行权限的。你这方法好是好了一些,怎么感觉有点不人道呀,这么说一切想干的事都直接用shell搞了,怎么感觉像是绕过了Android的机制,Google应该不推荐这样做吧。
没有看到过Google的文档说不推荐使用,编译android源码的机制就是基于Linux下的makefile,也就是使用gcc 或g++;针对Android加入了一些封装命令。
posted on 2014-10-23 16:41 android基础教程 阅读(2922) 评论(0) 编辑 收藏 举报