在接入百度地图时,按官网的文档来做,在AndroidStudio配置时会遇到这个问题:
sourceSets{
main{
jnilibs.srcDir 'libs'
jni.srcDirs = [] //disable automatic ndk-build
}
}
这个配置在Studio3.2.1报错:
Could not get unknown property 'jnilibs' for source set main of type com.android.build.gradle.internal.api.DefaultAndroidSourceSet.
去掉这个配置可以编译通过,但是会遇到定位回调来了的时候获取不到地址信息:
mAddress = bdLocation.getAddrStr();
获取经纬度是没有问题的,这里在调试时看BDLocation bdLocation对象可以看到一句话:
** NetWork location failed because baidu location service can not decrypt the request query, please check the so file ! **
很明显是提示so加载有问题,但是不调试什么情况都不知道!后来找到原因就是因为sourceSets的配置没有配对,正确的配置应该是:
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
其实就是因为它文档是那个名字拼写错了,是jniLibs不是jnilibs,粗心的朋友注意了,哈哈!