问题描述:

刚开始使用非定位的百度地图sdk,后来想使用定位的sdk,于是重新从官网下载了全部功能的继承开发包(含jar包),把同名的jar包粘贴到project中的lib文件夹下后,运行程序,

报如下错误:

java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.engine.JNIEngine.initClass:(Ljava/lang/Object;I)I 

at com.baidu.platform.comjni.engine.JNIEngine.initClass(Native Method)

at com.baidu.platform.comjni.engine.AppEngine.InitClass(Unknown Source)

at com.baidu.platform.comapi.a.<clinit>(Unknown Source)

at com.baidu.platform.comapi.c.a(Unknown Source) 

at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)

at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)

尝试方法:

1.下载非定位的百度地图开发包(没选骑行导航),导入相应的jar和so文件,可以使用

2.下载非定位的百度地图开发包(选择骑行导航),导入相应的jar和so文件,可以使用

3.下载带定位的百度地图开发包(选择基础地图,非骑行导航),导入相应的jar和送文件,可以使用

原因分析:

可能是Android Studio没有加载so文件,或者是jar包的版本和so的版本不同。

解决办法:

我将非定位的开发包重新下载了一下,将之前的jar包和so文件删了,重新导入,没有问题了。