2 leo eight Leo_eight 于 2016.09.22 17:12 提问

android ndk生成的so库, 如何在java程序里调用?

把so库放到Android项目是可以跑的, 但放在java项目就不可以了. 我把so库复制到java项目的libs文件夹, 指定好java.library.path, 总是报java.lang.UnsatisfiedLinkError错误.

最后试了jna调用, 还是报错:
java.lang.UnsatisfiedLinkError: Unable to load library 'libSmartAppUpdate': 找不到指定的模块。

我以前没用jni做过项目, 这两天踩了很多坑才把so编译出来的, 可能我没有配置什么, 导致失败, 知道的求帮忙下, 谢谢!!

我没C币了... 求好心人帮帮忙

2个回答

dongfeng9ge
dongfeng9ge   Ds   Rxr 2016.10.28 09:17

.so文件不能直接看到源码,没有文档用起来很难

chuhongcai
chuhongcai   2016.09.22 18:24

没开发过java , 感觉如果是链接不上库的话,在编译文件中,-L【path】制定自己的库路径不行么

Leo_eight
Leo_eight 你好, 可以具体点么? c不熟
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android studio 集成ndk环境,生成so库,并在其他项目上引用
1. 生成so库首先 as的安装这里就不介绍了 版本3.0,新启动一个项目 正式跑通 hello world 开始集成ndk环境。第一步:第二步: 这里说明一下 看下图,是引用ndk的目录 ,有的小伙伴在下载sdk的时候 会把ndk也一并下载了,如果ndk版本是r9以下版本(不包括r9) 那么可能会导致编译so库失败,所以为了避免麻烦 ,我下载了一个R12的版本, 并在as中指定
android NDK开发及调用标准linux动态库.so文件
预备知识及环境搭建 1、NDK(native development Kit)原生开发工具包,用来快速开发C、C++动态库,并能自动将so文件和java应用一起打包成apk.对应:jni层c++开发 2、Cygwin:是windows平台上模拟Linux运行环境的工具,即window平台上的linux环境工具,so文件需要在linux平台上编译运行。对应:arm linux平台
Android NDK——使用Android Studio引用so库,jar包及module并使用JNI的正确姿势
转载于 http://blog.csdn.net/crazymo_/article/details/52815140 引言 由于项目中需要用到JNI,以前虽然在Eclipse上使用过JNI和SO 文件,移植到Android Studio上的时候是花费好些力气的,也处理过不少常见的错误,而且网上很多文章都是只写了大致的步骤,忽略了很多细节,为了让新手们少走弯路,同时也是加强自己的
android开发ndk调用第三方so库
1.0 功能概述1.0.1 概述在android开发中,java调用C/C++函数库是经常遇到的,我们的android开发中使用JNI开发技术,有下面几种情况: 已经使用C/C++发了某些函数库,如果再使用java封装相应的函数库的话,可能会话费更多的人力物力,所以这样就可以使用JNI来使java直接调用C/C++封装的函数。 某些高复杂性计算以及密集型计算,对时间要求很高的计算,使用java的效率
android ndk r4
利用NDK生成SO库,使用SO库进行JNI调用,在Android sdcard创建文件并写入数据
eclipse下使用NDK开发so库
前言 相信伙伴们看完前两篇博文eclipse搭建JNI开发环境和一个例子掌握JNI开发之后,很想在Android手机上跃跃欲试。话不说多,首先开门见山示例一次构建NDK开发流程,之后再讲解本宝宝在工作之中遇到的一些问题。 1、配置NDK 开发安卓程序时,我们需要在电脑上安装sdk。同理,现在我们需要安装NDK。第一次听说过没关系,Google被封了不知道从哪下载也没关系。宝宝倾情奉献NDK最
使用ndk编译生成so动态库
Android.mk文件: Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、 需要编译的.c/.cpp文件和.a静态库文件等。   LOCAL_PATH := $(call my-dir)    //当前路径(如果你了解shell语言,应该可以很轻松的理解)  include $(CLEAR_VARS)  L
Android NDK系列(五)- AS导入so三方库,使用C/C+方法
NDK系列(一)-AS使用javah生成so文件 NDK系列(二)-AS使用CmakeLists生成so文件 NDK系列(三)-AS编写C文件没有提示和不识别NULL NDK系列(四)-AS生成jar包、导入so库并使用方法 接着捣鼓ndk,我们在开发的时候,不可避免的需要使用一些三方库,提高自己的开发效率,同时也可以避免自己在某一方面的缺点和短板,这是我们在做安卓原生开发的套路,
AndroidStudio2.2.3 JNI与NDK开发之一:生成可调用.so库
AndroidStudio2.2.3 JNI与NDK开发之一:生成可调用.so库 网友前辈总结的一种方法,直接用Android Studio中ndk与CMake实现,见博主文章AndroidStudio2.2开发NDK的正确姿势 本文选用的是用ndk和.mk文件实现编译生成.so。首先需要确保电脑中配置了ndk环境变量,这里不赘述,需要的网友可以自己百度,比较简单。 本文选用ndk版本为r9。
Android studio如何导出.so库(NDK开发入门)
项目中用到了硬件调试,google一下拿到了硬件调试的源码,可惜握草so库根本加载不进去好吗,一直报错,一怒之下自己拿他C源码重新编译一个。 旁边小兄弟见我装逼如神,强烈要求想学习一下,所以写出这个简易教程,希望大家不会的都可以快速入门。 走着,我们新建一个干净的工程,取名为NDKTest: 如果创建的文件有差异先别管,只要你这个工程能直接跑出