您的位置:首页 > 编程语言 > Java开发

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

2017-08-16 15:33 316 查看
注:转自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')
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐