
在开发工具中,new JNI 即可创建一个 android.mk文件
一个Android.mk文件可以编译多个模块,每个模块属下列类型之一:
APK程序 一般的Android程序,编译打包生成apk文件
JAVA库 java类库,编译打包生成jar文件
C\C++应用程序 可执行的C\C++应用程序
C\C++静态库 编译生成C\C++静态库,并打包成.a文件
C\C++共享库 编译生成共享库(动态链接库),并打包成.so文, 有且只有共享库才能被安装/复制到您的应用软件(APK)包中。
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)
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)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)