android 加载第三方库
来源:互联网 发布:脉诀汇辨 知乎 编辑:程序博客网 时间:2024/04/30 14:04
LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cal
LOCAL_SRC_FILES := ./libcal.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../sum/jni/
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := call
LOCAL_SRC_FILES:= \
call.cpp
LOCAL_LDLIBS := -llog -lz -lm
$(warning aaa)
LOCAL_SHARED_LIBRARIES := cal #这里记得加上
APP_ABI := armeabi-v7a
APP_PLATFORM := android-14
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)
采用这种方法只能是在存在android代码情况下才能用,也就是System.loadLibrary(“cal”); System.loadLibrary(“call”);这个时候才能用,如果libcall.so变成了一个可执行程序”call”,那么不能这样只写,运行时会出现找不到第三方库, 原因是第三方库的路径并不在系统搜索路径下面,Android.mk中到现在我也不知道怎么指定一个搜索路径, 在LOCAL_LDLIBS后面加上-L./也不管用。
改进方法直接采用动态加载第三方库,这样写mk的时候不需要写任何和第三方有关的东西(需要头文件的话,另算),然后在dlopen的时候写一个绝对路径:
if((handle = dlopen("/data/libcal.so", RTLD_NOW)) == NULL) { LOGE("dlopen - %sn", dlerror()); exit(-1);}
这样就不会出现找不到库的问题了
- android 加载第三方库
- Android第三方库隔离之对第三方图片加载库的隔离
- QT 加载第三方库
- python 加载第三方库
- codeIgniter加载第三方库
- 第三方图片加载库
- UE4 加载第三方库
- android利用多线程加载图片【不使用第三方库】
- Android第三方图片加载库Universal Image Loader
- Android第三方异步网路加载库AsyncHttpClient
- android 第三方加载动画 Android-SpinKit
- Android 第三方库
- android第三方库
- Android第三方库
- Android第三方库
- Android第三方库
- Android Studio加载第三方jar包
- Android Studio加载第三方jar包
- 折半查找法
- Android计算器
- C++经典面试题(十一)
- 【笔记】HotSpot虚拟机对象探秘
- UGUI 使用BMFont
- android 加载第三方库
- 【牛腩新闻发布系统】视图学习
- 合并两个排序的链表及简单链表的一些操作(添加节点、删除节点)
- java学习之旅37--面向对象_10_this隐式参数_内存分析
- jquery 学习笔记
- Turboflix
- 黑马程序员--OC基础--类方法、对象方法和self的使用
- Go by Example: Pointers
- 1003--对象关系映射文件(*.hbm.xml)