怎么在Android.mk里面添加大量的源文件

怎么在Android.mk里面添加大量的源文件,第1张

Android NDK的例子中,每个需要编译的c/c++文件都是清晰的列在Android.mk文件中LOCAL_SRC_FILES变量后面的,如果文件很多,这样就不好办了。

我们可以使用通配符来解决大量的源文件添加到Android.mk的问题:

第1行是使用GNU Make函数wildcard来查找所有目录下面的文件,这里查找的是"当前项目路径/foo"目录下面的所有的“.c”文件,

第2行会把所有找到的文件名中的$(LOCLA_PATH)路径给去掉,只剩下foo/*.c类似的名字。

MY_FILES := $(wildcard $(LOCAL_PATH)/foo/*.c)

MY_FILES := $(MY_FILES:$(LOCAL_PATH)/%=%)

LOCAL_SRC_FILES += $(MY_FILES)

用Eclipse编译工程,若工程下有libs目录,会自动将里面的*.so库编译到apk包中。我现在需要用到*.so库和Android.mk文件编译工程,但用Eclipse编译时,Android.mk不起作用。

Android.mk好像只有在通过源代码编译工程时才起作用(我目前只发现这个办法),即在Linux环境下的Android源代码目录中,通过make或mmm命令编译。但通过mmm编译的工程,不会把工程下libs目前中的*.so库添加进apk包里,是不是要在Android.mk文件中添加一些申明什么的?

还有,想知道Android源代码中,重启手机的相关代码在哪个部分。

是这样的

1.进入你的android系统源码的build/target/board/generic目录下

2.把你的abc拷贝到 这个目录下

3.编辑这个目录下的vi AndroidBoard.mk这个文件

4.添加 PRODUCT_COPY_FILES +=$(LOCAL_PATH)/abc:system/bin/abc

这样在make源码的时候,就可以自动进行这次拷贝了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11817894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存