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

来源:互联网 发布:淘宝推广工作内容 编辑:程序博客网 时间:2024/05/22 18:21

注:转自http://blog.csdn.net/Mr_wzc/article/details/51584443

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

java.lang.UnsatisfiedLinkError: No implementation found for int com.baidu.platform.comjni.tools.JNITools.initClass(java.lang.Object, int) (tried Java_com_baidu_platform_comjni_tools_JNITools_initClass and Java_com_baidu_platform_comjni_tools_JNITools_initClass__Ljava_lang_Object_2I)

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

原因:是因为目前为止Android Studio不会在apk打包时自动加入.so库文件,eclipse工具就会自动把这些库导入到apk中。

解决办法:在项目的build.gradle文件中,为其添加以下代码:

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

完整代码如下:

apply plugin: 'com.android.application'android {    compileSdkVersion 26    buildToolsVersion "26.0.0"    defaultConfig {        applicationId "com.example.renchunlin.touristguide"        minSdkVersion 23        targetSdkVersion 26        versionCode 1        versionName "1.0"        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }    sourceSets {        main() {            jniLibs.srcDirs = ['libs']        }    }}dependencies {    compile fileTree(include: ['*.jar'], dir: 'libs')    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {        exclude group: 'com.android.support', module: 'support-annotations'    })    compile 'com.android.support:appcompat-v7:26.+'    compile 'com.android.support:support-v4:26.+'    compile 'com.android.support:design:26.+'    compile 'com.android.support.constraint:constraint-layout:1.0.2'    testCompile 'junit:junit:4.12'    compile files('libs/BaiduLBS_Android.jar')}

这里写图片描述

阅读全文
0 0