关于使用百度地图SDK报错java.lang.UnsatisfiedLinkError的解决办法

来源:互联网 发布:linux的snmp 详解 编辑:程序博客网 时间:2024/05/22 14:07

前几天使用百度地图SDK一直报错,导致无法显示百度地图,报错如下:

java.lang.UnsatisfiedLinkError: No implementation found for long com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create() (tried Java_com_baidu_platform_comjni_map_commonmemcache_JNICommonMemCache_Create and Java_com_baidu_platform_comjni_map_commonmemcache_JNICommonMemCache_Create__)                                                                                      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.util.f.b(Unknown Source)                                                                                      at com.baidu.platform.comapi.a.c(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)                                                                                      at com.wzc.baidumap.MainActivity.onCreate(MainActivity.java:17)

错误定位会在SDKInitializer.initialize(this);

原因:是因为目前为止Android Studio不会在apk打包时自动加入.so库文件,eclipse工具就会自动把这些库导入到apk中。
解决办法:在项目的build.gradle文件中,为其添加以下代码:

sourceSets {        main() {            jniLibs.srcDirs = ['libs']        }    }

完整代码如下:

apply plugin: 'com.android.application'android {    compileSdkVersion 23    buildToolsVersion "23.0.2"    defaultConfig {        applicationId "com.wzc.baidumap"        minSdkVersion 15        targetSdkVersion 23        versionCode 1        versionName "1.0"    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }    sourceSets {        main() {            jniLibs.srcDirs = ['libs']        }    }}dependencies {    compile fileTree(include: ['*.jar'], dir: 'libs')    testCompile 'junit:junit:4.12'    compile 'com.android.support:appcompat-v7:23.1.1'    compile files('libs/baidumapapi_base_v3_7_3.jar')}
6 0
原创粉丝点击