2 u012309142 u012309142 于 2016.04.13 12:39 提问

[NDK]关于NDK调用第三方动态库的问题

假设现在有个动态库libOther.so,我调用了它里面的函数写了动态库libMy.so(以上都是x86下g++直接编译链接的)
现在我有一个android应用打算用libMy.so里的函数,最终封装成NDK下的动态库main.so, 请问在NDK下应该如何build?
本人NDK小白,能否详细说下:
1.两个(Other 和 My)动态库放哪?
2.两个动态库对应的头文件放哪?
3.mk文件应该如何修改?
4.JNI实现的main.cpp应该加入哪些额外内容?
非常感谢!

1个回答

CSDNXIAOC
CSDNXIAOC   2016.04.13 12:42

转自:http://blog.csdn.net/laijingquan/article/details/8950347

现在一些NDK调用第三方库都是一些旧环境旧工具所完成的,我来给大家更新一下吧。

首先讲讲大概一个流程吧,这篇文章主要是写给自己的,怕忘记了,大神勿喷。

 

如何在android平台上调用别人给你的动态库呢,NDK这工具帮了我很大的忙。首先......
答案就在这里:用NDK调用第三方动态库
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
用NDK调用第三方动态库--个人总结
现在一些NDK调用第三方库都是一些旧环境旧工具所完成的,我来给大家更新一下吧。 首先讲讲大概一个流程吧,这篇文章主要是写给自己的,怕忘记了,大神勿喷。 如何在android平台上调用别人给你的动态库呢,NDK这工具帮了我很大的忙。首先我们要确定第三方动态库是for arm的,因为你要在手机(android模拟器)上运行,PC机是X86的 手机大多数(好像有INTEL要加进手机了,太高端,相
AndroidStudio通过ndk使用第三方动态链接库
使用AndroidStudio的experimental plugin或是传统的Android.mk,通过jni封装调用第三方动态链接库的方法有共通之处,也有不同之处。原理首先要了解gcc的参数,这里不详细讲太多了,只说几个常见的: * -D用于在编译时定义宏,-DHH等于#define HH 1,-DHH=3等于#define HH 3 * -I用于指定头文件的查找路径 * -L用于指定链接
android ndk调用第三方库生成动态库
1.在project/jni目录下创建prebuilt子目录(目录名可自定义). 2.将第三方.so放到prebuilt中,并创建Android.mk, 内容如下: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := xxx LOCAL_SRC_FILES := libxxx.so include $(P
NDK build 引入第三方动态库
最近的实践中,有一个开源库在linux上运行良好,但是想把它打包到android平台,需要在ndk编译使用 这个开源库,是有源码的,在linux上编译出so库,在ndk编译有错误,具体错误码,记不清楚了,但是很明显是linux平台的gcc/g++编译的,而不是ndk的交叉编译环境出来的so库,所以ndk编译不成功。那么。。。如何解决的 1. ndk交叉编译源码第三方库 如果别人给的动
android开发 NDK 动态链接多个第三方库(so)
原文:http://blog.csdn.net/victoryckl/article/details/6687083看ndk说明文档关于第三方库(Prebuilts)的用法,安装上面的方法试了下,结果老是连接不上,第三方库中的函数连接不到:Administrator@4ec48ba026e34ae /cygdrive/e/myprj/hello-jni/jni$ /cygdrive/e/work/
Android NDK 引用第三方.so库到lib下
问题:当编译ndk项目的时候,eclipse会自动删除lib/armeabi目录下的so库。每次都要重新把第三方的so库文件要重新粘贴进去。解决办法: 1、在JNI文件夹下建立prebuilt文件夹。 2、进入prebuilt文件夹,将so库文件按照不同的系统架构放到不同的文件夹下,并且创建Androidusc.mk文件 3、Androidusc.mk文件 内容如下LOCAL_PATH
NDK学习( 二),在NDK开发中引入第三方库(AndroidStudio Cmake)
在NDK中可能需要复用之前已经编译好的so文件,所以本章的目标是给一个之前编译好的so文件外加一个需要调用接口的头文件,在现在项目中复用。 在本次实践过程中,已经有编译完成的各种cpu架构的libstringutil-lib.so以及头文件,Stringutil.h 头文件中简单定义了两个接口: class StringUtil { public: static char*
一个使用第三方静态库(*.a)的jni实例以及 ndk 使用第三方静态库生成动态库的实例
项目上需要用到第三方的静态库,搞了一天终于
Jni中执行ndk-build,编译第三方静态库(.a)和动态库(.so)的Android.mk文件写法
Jni中执行ndk-build,编译第三方静态库(.a)和动态库(.so)的Android.mk文件写法 Android Studio编译JNI接口,当需要调用第三方静态库或者动态库时,正确配置Android.mk文件(jni文件夹中)中是生成自己库的关键,下面是ndk-build执行所需的Android.mk文件文件内容,可做为一个例子,其中Add与Sub做为两个动态库引入,Mul与D
Android Studio NDK开发 正确调用jni 及加入第三方so库需要注意的问题
Android Studio NDK开发 正确调用jni 及加入第三方so库需要注意的问题 首次使用Android Studio进行NDK开发会遇到很多问题, 我在此将自己的经验分享给大家 直接上配置比较直观 下面是在项目 app源根文件夹下build.gradle文件的配置, 都写明了注释 android { compileSdkVersion 23