android 百度地图遇到疑难问题解决方案

因为百度开发的地图问题非常之多,并且没有很好的日志信息来提示你哪里出问题,经常满世界找人问也不知道原因所在。好吧,这都是百度惹得祸。百度地图用起来真心不爽,本来想吐槽android studio的,这样比起来,百度地图更坑。废话不多说了。下面列举几类疑难杂症,并列举解决方案。作为深受百度开发之苦的android开发者,把自己的心得说出来,也少让后面的人有些借鉴。

1、百度地图看到的都是网格。你首先看下输出信息吧,一般情况下百度会用红色的输出个230错误 APP Scode校验失败,这个错误很好理解,就是你的apk签名key百度服务器不接受。网上有很多原因,一般说什么申请的时候格式问题,我相信你不会犯这种低级错误。我说的是另外一个比较隐蔽的原因。那就是你签名apk的时候有问题。现在android studio 的签名文件都是keystore了,不是jks文件格式,如果as的话最后签名文件的后缀最好保证是keystore.这是第一点。第二更加关键。那就是签名文件根本没有对你debug版本的apk起作用。尼玛,这个就是android studio的问题了。注意build.gradle文件下看你是不是有类似这么一段话哈。

signingConfigs {
    config {
        keyAlias 'xx'
        keyPassword '密码'
        storeFile file('填写目录')
        storePassword '密码'
    }
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.config
    }
    debug {
        signingConfig signingConfigs.config
    }

}
至于如何创建keystore文件,如何查看shal码,这个百度都有,应该没啥问题。 在这里多说两句,key验证码不准确大家心里一定要先明白,一般不准确的话,as的log信息会输出来。并且key不准确,直接导致的是百度地图是网格的,而不是空白的,这点要注意了,如果是空白的话,很可能key是准确的,所以首先要把这个错误给排除了。不然后续的排除没法进行下去。
 
2、第二点可能更坑。当然我不考虑是你as配置的问题只是单单说百度地图的问题。第二种情况可以说是地图一片空白,但不是网格。这个原因非常复杂了。比第一种要难。比如说log信息输出No JNI_OnLoad found in /data/app-lib/com.weichai-1/libBaiduMapSDK_map_v3_7_1.so 0x432bfa78, skipping init。你可能一下子就看出来了,这个是初始化的时候没有成功。你可能会各种处理so文件。至于说放置so文件有两种方式,我贴两个图。大家看下。
第一种是这种
 
 
直接在libs里面开搞。这种的网上说要在build.gradle文件里面写个task。
 
 
  1. task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {  
  2.         destinationDir file("$projectDir/libs")  
  3.         baseName "Native_Libs2"  
  4.         extension "jar"  
  5.         from fileTree(dir: "libs", include: "**/*.so")  
  6.         into "lib"  
  7.     }  
  8.   
  9.     tasks.withType(JavaCompile) {  
  10.         compileTask -> compileTask.dependsOn(nativeLibsToJar)  
  11.     }  
但是百度demo没有做特殊处理,童鞋不防先不在build.gradle里面做特殊处理,实在不行加上上面这句试试。其实还有第二种方法更加简洁明了。上图。

 
这样比较好。大家应该能看明白吧。jnilibs小写没问题,有的人特别强调 jniLibs,我觉得没有必要。应该不会影响。
好了,扯得有点远了,so文件如果你按照上面配置完毕后,可能还是会发现地图一片空白。这个时候有两种解决方案。第一种参照百度demo搞一遍。(这种方法最笨,也许是最快解决你问题的方法)第二种就是砍掉你关于百度地图对的大部分逻辑,就是最简单的基础地图。为啥这么讲了,因为我碰到两次,地图一片空白,恰恰是你百度地图的逻辑写的混乱导致的,这点要特别注意啊,尼玛百度地图这么多的功能,我哪儿知道哪个应该先写,哪个后写。这个明明是百度地图的bug啊,我逻辑错误尼玛也不提醒下,只是地图一片空白。这里又要吐槽一句了,百度地图的开发确实混乱,所以百度地图开发最佳的姿势是引入jar包,和so包都按照他的来,千万别东搞一个,西搞一个,来个大而全的。
 
好了,如果上面的方法还解决不了的话,那我也没办法了。巧办法,笨办法都给你提供了。码字不容易,觉得有用点个赞呗,大笑
 
 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值