在jni下新建文件夹(jniLib)用来存放第三方so库:
将so拷贝到jniLib下,新建一个Android.mk文件:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libadd_putao_pre
LOCAL_SRC_FILES := libadd_putao.so
include $(PREBUILT_SHARED_LIBRARY)
在你需要使用该动态库的Android.mk修改为类似如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_DISABLE_FORMAT_STRING_CHECKS := true
LOCAL_LDLIBS := -lm -llog
LOCAL_MODULE := xxxx
LOCAL_SRC_FILES := xxx.pp xx.c
LOCAL_STATIC_LIBRARIES := libadd_putao
include $(BUILD_SHARED_LIBRARY)
在C/C++代码中添加如下:
void *handle = dlopen("libadd_putao.so", RTLD_LAZY);
if (!handle) {
__android_log_print(ANDROID_LOG_INFO,"------->", dlerror());
return NULL;
}
decrypt = (返回)dlsym(handle, "xxx_method_name");
if (!decrypt) {
__android_log_print(ANDROID_LOG_INFO,"------->", dlerror());
return NULL;
}
如果你是C++,Application.mk添加如下:
APP_ABI := armeabi
APP_STL := gnustl_static
APP_PLATFORM := android-19
OK 编译吧,大功告成!
原文链接: https://www.cnblogs.com/inbase/p/5391829.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/231874
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!