android studio 加载jpush出现的问题:java.lang.UnsatisfiedLinkError:

出现的Log打印:

java.lang.UnsatisfiedLinkError: Couldn't load jpush175 from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.shop.hsz88-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.shop.hsz88-1, /vendor/lib, /system/lib]]]: findLibrary returned null
            at java.lang.Runtime.loadLibrary(Runtime.java:365)
            at java.lang.System.loadLibrary(System.java:526)
            at cn.jpush.android.service.PushProtocol.<clinit>(Unknown Source)
            at cn.jpush.android.service.ServiceInterface.a(Unknown Source)
            at cn.jpush.android.api.JPushInterface.init(Unknown Source)
            at com.insthub.BeeFramework.BeeFrameworkApp.onCreate(BeeFrameworkApp.java:88)
            at com.insthub.ecmobile.EcmobileApp.onCreate(EcmobileApp.java:44)
            at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
            at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4610)
            at android.app.ActivityThread.access$1500(ActivityThread.java:159)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1389)
            at android.os.Handler.dispatchMessage(Handler.java:110)
            at android.os.Looper.loop(Looper.java:193)
            at android.app.ActivityThread.main(ActivityThread.java:5367)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:663)
            at dalvik.system.NativeStart.main(Native Method)

1、在eclipse是可以执行的,那就可以确定我打包的.so是正常的;如下图

2、确保了还出现这样的问题,要考虑build.gradle脚本的问题;是不是so文件和jar包文件没有处理啊:

  2.1 处理*.jar包文件:

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':alipay_lib')
    compile project(':AndroidSDKComponent')
    compile files('libs/alipaysdk.jar')
    compile files('libs/alipaysecsdk.jar')
    compile files('libs/alipayutdid.jar')
    compile files('libs/android-support-v4.jar')
    compile files('libs/commons-httpclient-3.0.1.jar')
    compile files('libs/core.jar')
    compile files('libs/ecmobilemanager.jar')
    compile files('libs/epaymobi_pos_sdk.jar')
    compile files('libs/jpush-sdk-release1.8.1.jar')
    compile files('libs/Native_Libs2.jar')
    compile files('libs/libammsdk.jar')
    compile files('libs/universal-image-loader-1.9.4-with-sources.jar')
    compile files('libs/UPPayAssistEx.jar')
    compile files('libs/UPPayPluginExPro.jar')
    compile files('libs/volley.jar')
    compile files('libs/weibosdkcore.jar')
}
  
 2.2 处理有关的项目所依赖的so文件的目录,动态的拷入到lib目录中。
   
task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {
   destinationDir file("$projectDir/libs")
         baseName "native_ecmobile"
         extension "jar"
         from fileTree(dir: "libs", include: "**/*.so")
         into "lib"
       }
 
tasks.withType(JavaCompile) {
           compileTask -> compileTask.dependsOn(nativeLibsToJar)
}

红色标注的名字可以换掉;

加上上面两段代码就可以实现动态加载,最后编译的效果如下;

这样就OK了,希望带给eclipse 转到android studio的开发者提供帮助;

  

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值