Android.mk实例
来源:互联网 发布:同仁堂淘宝旗舰店真假 编辑:程序博客网 时间:2024/06/06 04:26
当一个JNI中包括多个模块时,比如播放器中常用的解码器就是常见的情况。可能播放器中包括ape解码器,wav解码器和flac解码器等。
那Android.mk该如何编写呢?
请看目录结构图:
其中Android.mk为主文件,其内容为:
include $(call all-subdir-makefiles)#CODECS := wav wv mpc alac ape flac#codec-makefiles = $(patsubst %,$(call my-dir)/%/Android.mk,$(CODECS)) #include $(call codec-makefiles)ifneq ($(NDK_ROOT),)LOCAL_PATH:=$(NDK_ROOT)/apps/musicdecode/project/jnielseLOCAL_PATH:=apps/musicdecode/project/jniendif#LOCAL_PATH := $(call my-dir)# common codecs & startup libraryinclude $(CLEAR_VARS)LOCAL_MODULE := musicdecodeLOCAL_STATIC_LIBRARIES := wav wv mpc alac ape flacLOCAL_CFLAGS += -O2 -Wall -DBUILD_STANDALONE -DCPU_ARM -DAVSREMOTE -finline-functions -fPIC -D__ARM_EABI__=1 -DOLD_LOGDHLOCAL_SRC_FILES := main.cLOCAL_ARM_MODE := armLOCAL_LDLIBS := -llog -ldlinclude $(BUILD_SHARED_LIBRARY)这样编译的就是一个可以在libs中生成libmusiccode.so的动态库文件,其中它又需要调用各个子模块中生成的静态库文件
LOCAL_STATIC_LIBRARIES := wav wv mpc alac ape flac,例如wav库的内容结构图如下:
其中这个子目录的Android.mk如下:
LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := wavLOCAL_SRC_FILES += main.cLOCAL_CFLAGS += -O2 -Wall -DBUILD_STANDALONE -DCPU_ARM -finline-functions -fPIC #-DDBG_TIMELOCAL_ARM_MODE := arminclude $(BUILD_STATIC_LIBRARY)
可以很清楚简单的看出,它生成的是一个静态库文件wav.a供主Android.mk文件编译时调用,主Android.mk文件还有句
include $(call all-subdir-makefiles)
这个例子就结束了,其他模块类似!
- Android.mk实例
- Android.mk 实例详解
- Android.mk实例看android.mk基础
- Android.mk 实用的实例
- 从一个android.mk实例看android.mk基础
- android.mk的用法与实例
- Android.mk实例和NDK实用技巧
- Application.mk & Android.mk
- Android NDK学习 <三> Android.mk实例和NDK实用技巧
- Android NDK学习 <三> Android.mk实例和NDK实用技巧
- Android NDK学习 <三> Android.mk实例和NDK实用技巧
- Android NDK学习 <三> Android.mk实例和NDK实用技巧
- Android NDK学习 <三> Android.mk实例和NDK实用技巧
- Android NDK学习 <三> Android.mk实例和NDK实用技巧
- Android NDK学习 <三> Android.mk实例和NDK实用技巧
- Android NDK学习 <三> Android.mk实例和NDK实用技巧
- ndk开发中的Android.mk文件与Application.mk详解及实例
- NDK 开发实例一(Android.mk环境配置下)
- OpenCart 最小内核
- jQuery设置聚焦并使光标位置在文字最后
- SQlite数据库的C编程接口(八) 工具函数(Utility Functions) ——《Using SQlite》读书笔记
- 正确的删除tc的filter过滤器
- ASP.NET页面加载顺序
- Android.mk实例
- expdp与传统exp的速度比较
- 在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的开发
- DUKPT算法解析
- 冒泡排序算法
- 程序效率瓶颈-CPU检查
- dom4j 取解析网站上的xml
- Java语言有51个保留关键字
- java version版本问题