Android初学习 – 带有动态库、静态库、Jar包的makefile编写
2016-04-28 11:06
661 查看
在Linux环境下Android开发过程中,经常会用到第三方的静态库、动态库、jar包来开发自己的应用,那么,如何编写这类应用的makefile呢?
首先,带有动态库的makefile编写:
将上面的代码添加在应用最外层的Android.mk文件最后面即可,其它地方也可,但是注意添加过程中不要破坏原有代码的结构,例如将下面包含jar包的代码随意添加到本代码块中间是不对的,应该放在该代码块的前面后者后面。
上面要添加的动态库的名称为:libfreewrite-jni.so
所在的路径为:/libs/libfreewrite-jni.so
第二,jar包的添加:
以上代码中,形如“libvDm:”的作用应该类似与编程语言中的引用,或者说叫重命名;另外,感觉jar包的添加,貌似和静态库是一样的,或者jar包本身就类似于静态库吧?有点小疑问……
第三,静态库的添加:
下面的Android.mk完整程序是编译生成一个.so
另附,静态库所在文件夹内的Android.mk文件:
首先,带有动态库的makefile编写:
1 2 3 4 5 6 7 8 9 10 | include $(CLEAR_VARS) LOCAL_MODULE := libfreewrite-jni.so LOCAL_MODULE_CLASS := SHARED_LIBRARIES LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES) LOCAL_SRC_FILES := libs/$(LOCAL_MODULE) OVERRIDE_BUILD_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES) include $(BUILD_PREBUILT) |
上面要添加的动态库的名称为:libfreewrite-jni.so
所在的路径为:/libs/libfreewrite-jni.so
第二,jar包的添加:
1 2 3 4 5 6 | include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libvDm:libs/com.redbend.vdm.jar \ libvDmComm:libs/com.redbend.vdm.comm.jar \ libvDmDdl:libs/com.redbend.vdm.ddl.jar \ libvDmFumo:libs/com.redbend.vdm.fumo.jar include $(BUILD_MULTI_PREBUILT) |
第三,静态库的添加:
下面的Android.mk完整程序是编译生成一个.so
1 2 3 4 5 6 7 8 9 1011 | LOCAL_PATH := $(call my-dir) ### shared library include $(CLEAR_VARS) #需要编译的本地源文件 LOCAL_SRC_FILES := \ hisense/com_hisense_inputmethod_CskSmartEngDecoderService.cpp LOCAL_C_INCLUDES += $(JNI_H_INCLUDE) LOCAL_LDLIBS += -lpthread #将要生成.so动态库的名称 LOCAL_MODULE := libjni_csksmarteng_hisenseime LOCAL_PRELINK_MODULE := false LOCAL_SHARED_LIBRARIES := libcutils libutils #包含静态库libhisensecsk2smartengarm LOCAL_STATIC_LIBRARIES := libhisensecsk2smartengarm #编译生成一个.so动态库 include $(BUILD_SHARED_LIBRARY) #指示Static Libraries所在的目录为/lib/libhisensecsk2smartengarm #规则由lib/Android.mk文件定义 include $(LOCAL_PATH)/lib/Android.mk |
1 2 3 | LOCAL_PATH := $(my-dir) $(call add-prebuilt-files, STATIC_LIBRARIES, libhisensecsk2smartengarm.a) |
相关文章推荐
- Android百度地图深入学习(1)
- Android.mk文件语法规范与变量详细说明
- 懒人爱家务_动画效果编程基础--AnimationAndroid
- Android图片缓存技术!直接用在你的项目中,简单方便高效
- android 数据库版本管理及其更新
- 清华TUNA镜像源下载Android源码的方法
- Android 4.0 Launcher源码分析系列(一)
- Android中Menu的基本用法
- Java/Android引用类型及其使用分析
- hjr-Android:Sqlite数据库
- Android Fragment实现分屏
- Android动画进阶—使用开源动画库nineoldandroids
- Genymotion:最快的安卓模拟器,Android 开发利器 安装说明
- Proguard returned with error code 1. See console
- android 跳转到指定应用程序
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- Android开发自己总结的Adapter的一些工具类
- Android源码编译之Nexus5真机编译
- android修改debug keystore文件使之和正式keystore sha1一致
- recycleview中item的刷新方法