Android studio java.lang.UnsatisfiedLinkError

最近开始转android Studio 本来以为新的开发工具会大大的提高效率 。结果我错了。今天踩了一天的坑。

我的项目中用到了so的文件。通常情况下在 eclipse中我们在libs/armeabi 这个目录下放so文件。一般情况下 都可以加载的到。

但是,刚换到AS 我也是这样做的。把so 文件放到 libs/armeabi 这个目录下。同时也在 app的gradle 文件中配置了如下的信息:

  sourceSets {
        main {
            jniLibs.srcDirs = [‘libs‘]
        }
    }

  run起来 就开始进入  java.lang.UnsatisfiedLinkError 这个错误的泥潭了 。TMD   搞了一天 。

通过各种搜索去解决这个问题 。

一般常见的解决方式都是上边的那种配置,所以让我很郁闷。为什么我的不行?!!!

最后实在没办法就创建了一个新的工程去尝试,首先是验证了上边的那种方式可行。

当然我尝试了不止这一种方式你可以可以尝试在你的main目录下 新建一个jniLibs目然后把armeabi 这个目录以及目录下所有的so都放进去。

结构就类似下图了

这种结构了。这是正确的结构 ,但我的还是不行 经过排查发现是因为我用到了一个开源的项目导致的。

realm-java这个开源的项目会导致。

所以当你遇到这种莫名奇妙的问题的时候实在无头绪解决的时候那么就先排查下你导入的工程是不是有问题。

16年小记录

时间: 2024-10-23 07:26:09

Android studio java.lang.UnsatisfiedLinkError的相关文章

Android Studio —— java.lang.VerifyError: Verifier rejected class 问题解决

用as开发过程中遇见问题app闪退  log如下图: 解决: File-Settings: 点击Apply-OK重新运行即可

Android Studo 使用 JNI报错:java.lang.UnsatisfiedLinkError: Couldn't load XXX from loader dalvik.system.PathClassLoader

今天在使用Android Studio的时候突然发现代码没错,so包也引入了,各个版本都引入了,但是就是一直报错: java.lang.UnsatisfiedLinkError: Couldn't load serphone from loader dalvik.system.PathClassLoader 11-30 11:13:18.766 29255-29255/com.personal.tai.ronglianim E/AndroidRuntime: at java.lang.Runti

Android中运行的错误:java.lang.UnsatisfiedLinkError: Couldn't load locSDK3: findLibrary returned null.

今天在使用百度地图的时候运行发现报错: 明明已经加入了liblocSDK3.so,但总是无法定位.提示错误java.lang.UnsatisfiedLinkError: Couldn't load locSDK3: findLibrary returned null. 网上找了很多的资料找到一个方法: 在libs下新建一个armeabi-v7a,然后将liblocSDK3.so复制一份到该文件夹" 如果这个不行,那么新建一个armeabi文件夹再放入liblocSDK3.so就可以了. Andr

【我的Android进阶之旅】Android调用JNI出错 java.lang.UnsatisfiedLinkError: No implementation found for的解决方法

错误描述 今天使用第三方的so库时候,调用JNI方法时出现了错误.报错如下所示: 11-01 16:39:20.979 4669-4669/com.netease.xtc.cloudmusic E/art: No implementation found for void com.netease.xtc.cloudmusic.utils.NeteaseMusicUtils.nativeInit(android.content.Context) (tried Java_com_netease_xt

android 使用讯飞人脸识别api报错:java.lang.UnsatisfiedLinkError

1.在做一个人脸识别的项目,使用的是讯飞的api,编辑器为AS2.0,运行时报如下错误: FATAL EXCEPTION: main                  Process: com.admin.smartcam, PID: 13821                  java.lang.UnsatisfiedLinkError: Native method not found: com.faceplusplus.api.Native.setMinFaceSize:(II)I    

android 百度地图gps转百度地图坐标java.lang.UnsatisfiedLinkError: CoordinateEncryptEx

private LatLng gpsToBaidu(double lat , double lng ){ LatLng sourceLatLng = new LatLng(lat, lng); CoordinateConverter converter  = new CoordinateConverter(); converter.from(CoordType.GPS); // sourceLatLng待转换坐标 converter.coord(sourceLatLng); LatLng des

关于java.lang.UnsatisfiedLinkError的小案例

在许多项目中我们都会用到第三方动态库.so文件,但是往往会引来很多烦恼,比如:java.lang.UnsatisfiedLinkError 06-17 15:52:08.097 7876-7916/com.ishow.scan E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-61542 java.lang.UnsatisfiedLinkError: Native method not found: com.ishow.scan.zbar.ZbarManager

高德 java.lang.UnsatisfiedLinkError: Native method not found: com.autonavi.amap.mapc

我的项目是从eclipse上转到Android studio上的 结果发现在使用高德的时候报错了, 下面是错误信息: java.lang.UnsatisfiedLinkError: Native method not found:                                                                            com.autonavi.amap.mapcore.MapCore.nativeNewInstance:(Ljava/

java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapSDK 的解决方法

遇到找不到so的同学们可以先从以下几个方面来检查问题: 1.so的名字是不是被修改了?我们SDK的so名字是固定的,如果您自行对它进行了重命名操作,那肯定是没法找到so的.2.so放置位置不对.so需要放在libs/armeabi这个文件夹下,请检查一下.3.CPU架构问题.目前我们的SDK还不支持x86的CPU,所以如果您的模拟器或真机采用的x86架构,这样就没法使用我们的SDK了.4.还是CPU架构问题.虽然我们现在支持的是ARM的CPU,但是对于一些特殊的设备,so需要放置在libs/ar