百度定位中 SDKInitializer.initialize(getApplicationContext()); 初始化失败问题

在使用百度地图定位时遇到SDK初始化失败的问题,官方文档步骤无法解决。问题出在.jar和.so文件来源不一致,正确做法是确保.jar和.so都来自同一个官方Demo,清理并重新添加到项目的libs目录,这解决了.so文件识别问题。

学习百度地图定位时,遇到 提示 :import com.baidu.mapapi.SDKInitializer; 保错,提示找不到相关包,自己完全就是按照官方文档一步步来的啊,而且官方文档提示,如图:

这里写图片描述

jar 通用,且只有一个 而我也已经导入了,并且在gradle中也配置了

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.btzh.baidulocation"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    lintOptions {
        abortOnError false
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

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

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:0.5'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
    implementation files('libs/BaiduLBS_Android.jar')
}

解决办法:

完全一致啊,为啥提示找不到呢,后来经大佬提醒,你的libs文件加下的 .so 和jar包是不是来自不同的官方demo中(其中jar包是我单独下载的,而so文件是从定位demo中复制过来的,)于是果断把libs文件下的东西全部删除,然后只从demo中复制libs文件下所有的 .so和jar,然后就完美解决了!!!


以后开发中遇到.so识别不了的问题,可以从这个角度考虑下!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值