Android 集成第三方的sdk

  举个简单得例子,最近在写code的时候,遇到个小bug,还是花了点时间来解决。记录一下。在一个项目中需要集成一个第三方支付平台。然后和原本集成的宁一个分享的第三方的sdk的jar冲突了。但是最开始不是这个错误,最开始是报的Android-v4包的错误。

  解决之后发觉。是第三方控件的jar重复冲突。比较如果2个依赖工程的jar 比较多。看那个少的 除去必要的jar,剩余的一个一个删掉测试。宁外也可能是工具问题,但是大部分不是。因为你之前都是ok的。所以网上流传什么重启 工具 重新下载sdk 都是感觉蛮不靠谱的。 

异常:  java.lang.UnsatisfiedLinkError: Couldn’t load sm2 from loader dalvik.system.PathClassLoader[DexPathList[[zip file”data/app/com.libCom.androidsm2-.apk”],nativeLibraryDirectories=[/data/app-lib/com.libCom.androidsm2-2, /vendor/lib, /system/lib]]]: findLibrary returned null 

原因:导入so文件没有编译到apk里面去,所以导致UnsatisfiedLinkError异常。

解决: 

1、AS工程(module)目录下直接新建一个lib文件夹,lib文件夹跟Eclipse类似的加入armeabi文件夹,所有的so文件放入此文件夹下 
2、打开build.gradle,在android的标签下加入如下代码:

  sourceSets {
        main {
            //jni库的调用会到资源文件夹下libs里面找so文件
            jniLibs.srcDirs = ['libs']
         }
        }

代码很简单,加入之后直接编译。


你可能感兴趣的:(Android 集成第三方的sdk)