eclispse项目导入Android项目 java.lang.UnsatisfiedLinkError: Native method not found:

下面几篇博客将会讲到,eclipse项目导入Android项目出现的一些问题,及解决方案。

首先,如何将eclipse项目转换成Android 项目不再多说,需要在eclipse中“Gradle”一下,并且还要将所依赖的库文件都“勾选上”。

那么问题来了,android studio的so库导入方法和eclipse是不一致的。而发生一下报错:

Process: hkhz.zhhb, PID: 28716
java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()I
            at com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create(Native Method)
            at com.baidu.platform.comjni.map.commonmemcache.a.a(Unknown Source)
            at com.baidu.platform.comapi.c.c.b(Unknown Source)
            at com.baidu.mapapi.a.c(Unknown Source)
            at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
            at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
            at hkhz.zhhb.BaiduMap.onCreate(BaiduMap.java:61)
            at android.app.Activity.performCreate(Activity.java:5277)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
            at com.qihoo360.mobilesafe.loader.b.callActivityOnCreate(SourceFile:81)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2415)
            at android.app.ActivityThread.access$800(ActivityThread.java:166)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1336)
            at android.os.Handler.dispatchMessage(Handler.java:110)
            at android.os.Looper.loop(Looper.java:193)
            at android.app.ActivityThread.main(ActivityThread.java:5353)
            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:830)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:646)
            at dalvik.system.NativeStart.main(Native Method)


解决方法不只一种:

这里只提供亲测可行的方案:

第一种:

出现以上提示是因为JNI找不到方法。
崩溃的原因是:android studio的so库导入方法和eclipse是不一致的,eclipse只要直接把所有的so丢到libs里去。但是androidstudio是不行的。
弄一个文件夹so/armeabi,把所有的so全部放进去。结构就是so/armeabi/a.so,b.so,c.so
然后压缩这个文件夹成为so.jar,你应该知道的jar其实就是zip格式。
然后把so.jar放到libs目录下。sync gradle,然后build就行了。

还不可以试试第二种方案:

很简单,在用AndroidStudio的话 .so 文件要放在src/main/jniLibs/armeabi-v7a下面,然后把那个so文件重新复制一份进去.......

补充:当导入项目时,可能会出现“拷斤拷斤拷斤拷斤拷斤”,多数是由于项目中的文件编码问题,根据提示找到文件使用EditPlus更改编码格式“UTF-8”就ok了.....

总结:写博客要认真......被自己绊了一跤!!!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值