AndroidEclipseJNI调用.so文件加载问题 eclipse jni 生成so库

背景:对于Android工程 Eclipse里编译好的.so文件放到 libsarmeabi下以后,这样.so文件就可以打包到apk文件里,在apk装到手机上以后在libsarmeabi下的.so文件应该就会解压到/data/data/这里是你project的包名(比如com.first.second)/lib下。

问题:写了个测试的android JNI app,.so已经放到了libsarmeabi下而且从编译的apk里也能看到.so已经打包进去(解压apk文件,里边应该有lib文件夹)但是在/data/data/com.test.test/lib下就是没有相应的.so文件

解决方法:原来是因为我的.so没有按照android标准命名,.so的名字必须有'lib'前缀否则apk解压/安装到手机的时候不会把libsarmeabi下的.so拷贝到/data/data/com.test.test/lib下。原来我用的so名字是JNITest.so,改为libJNITest.so后一切正常。

补充:
AndroidEclipseJNI调用.so文件加载问题 eclipse jni 生成so库
a) 用loadLibrary调用的时候需要去掉lib前缀System.loadLibrary("JNITest");
b) 用load调用的时候需要写全路径名 且不能去掉lib前缀 因为这里是当成一个普通文件读取的System.load("/data/data/com.test.test/libJNITest.so");

  

爱华网本文地址 » http://www.aihuau.com/a/25101017/367318.html

更多阅读

加载SolidWorks宏格式*.swb 模型文件 solidworks人体3d模型

加载SolidWorks宏格式(*.swb)模型文件——简介由LinkAble PARTcommunity下载的SolidWorks模型文件,由包含SolidWorks宏文件(SWB扩展名)的ZIP压缩包提供,请按照如下方法加载模型数据。SWB文件的优势,不丢失螺纹、色彩和装配等特征,且文件容

3dmax中怎样加载材质贴图 3dmax缺少贴图坐标

3dmax中怎样加载材质贴图——简介 3dsmax中如何加载贴图,这个是个初级问题,非常简单,3dsMAX中可以加载如jpg、bmp、png、psd等等格式的贴图!我们常用的也是位图贴图方式!如何加载贴图文件呢请看下图我一步一步给大家讲解。3dmax中怎样加

srt字幕如何加载 精 如何加载srt字幕

? ? 当您通过网络下载了一部外国大片想欣赏时,却是英文版。而现在有很多字幕组织提供了影片的中文字幕文档供下载,比如扩展名为srt的字幕文档。? ? 通常我们在网上看到一个srt字幕文件的同时,应该还有一个视频格式的文件,比如AVI。这个

ExtJS中FormPanel实现数据加载和提交 extjs3 formpanel

在使用使用FormPanel时我们通常需要使用它的form对象来加载数据或提交数据。FormPanel中的 form对象为Ext.form.BasicForm类型的对象,它有load和submit方法分别用于加载数据和提交数据。而这两个方法都是通过调用 Ext.form.BasicForm

cocos2d-x图片纹理优化资源加载方案 cocos2dx 资源优化

百度乱搜了一阵,居然搜着一篇神贴。真有大神愿意花很多时间去把自己得到的经验写出来,心里实在佩服。而且这篇文章写的通俗易懂。文章主要解决了我一直以来疑惑的几个问题1.到底用不用2的N次幂的图片2.为什么加载资源的时候,内存会突然

声明:《AndroidEclipseJNI调用.so文件加载问题 eclipse jni 生成so库》为网友卡布奇诺分享!如侵犯到您的合法权益请联系我们删除