Android百度地图导航部分报JNI相关错误

Android百度地图导航部分报JNI相关错误

-20150702补充说明:然而并没有什么卵用!问题已经解决整理中……
-20150703真正的解决办法:《百度地图中导航部分引擎初始化失败的解决办法》

吐槽部分

百度地图总的来说很好,但是导航部分的实在是有些烂。
烂的方面总的来说,有一下几点:

  1. 文档中的代码不能用。不能用你贴什么代码,不是拼写错误什么的,是类都找不到,API完全变了,也不更新手册,连个Hello World的代码都各种问题,新手怎么看?还不如只给Sample功能;

  2. 文档介绍不全,给一段代码,不知道放在什么地方,得猜。不要说有经验的能看明白。多贴两行不能死,熬夜猜你那傻X玩意会死的。再说人家地图和定位的部分为啥不这样,一看就明白?

  3. 工程配置基本没说,仅有的那点恐怕完全是从别的地方抄来的吧。要不是人家定位和地图的那部分说了,怎不知道怎么找这个错。

下面是问题:

在初始化引擎的时候报错,这部分代码如下:

BaiduNaviManager.getInstance().initEngine(this, getSdcardDir(),
                new NaviEngineInitListener() {
                    public void engineInitSuccess() {
                        // Toast.makeText(P1MainActivity.this, "引擎初始化成功",
                        // Toast.LENGTH_SHORT).show();
                        Log.w("map", "初始化成功");
                    }

                    public void engineInitStart() {
                        Log.w("map", "引擎启动");
                    }

                    public void engineInitFail() {
                        Log.w("map", "初始化失败");
                    }
                }, new LBSAuthManagerListener() {
                    @Override
                    public void onAuthResult(int status, String msg) {
                        String str = null;
                        if (0 == status) {
                            str = "key校验成功!" + msg;
                        } else {
                            str = "key校验失败, " + msg;
                        }
                        Log.w("map", str);
                    }
                });
  • 代码和手册上的小有不同.
    错误如下:
07-02 10:40:29.683: E/Jni_JniEngine(15803): ######## Java_com_baidu_AppTest_AppTest JNI_OnLoad 

各种尝试无效。
后来发现,其实这个错误,没有影响。因为给的导航Sample工程也报这个错,然后能运行成功。

已经处理的异常你写毛Error级别的日志啊!不知道百度有没有地方投诉!

其实更重要的是有个“初始化失败“的输出,也就是上面代码中

    public void engineInitFail() {
       Log.w("map", "初始化失败");
    }

这个函数打印的信息。
找到这个地方之后就抓狂了,为啥函数无参数?怎么出错的不知道,就知道出错了。可是这有什么用!

最后发现时工程配置的问题。血泪啊!
能够引起这个问题的方面很多。
如果你是从Sample功能Copy过来的那么清楚注意。

第一,AndroidManifest.xml中的packagename要改
第二,Eclipse项目的Java Build Path中的Libraries饮用的Jar包要全
第三,其中“Android Private Libraries“中应该配置Native Labrary Location,位置指向放so文件的那个文件夹,如下图:
这里写图片描述
第四,这玩意依赖于 appcompat_v7这个工程,你的在Projects中引用
这里写图片描述
最后,查看一下“Order and Export“里面,大致应该这样,里面common-lang和gson是我用的第三方jar,可以没有
这里写图片描述

然后就可以看到引擎初始化成功的输出了!

如果还解救不了你,那就职能靠自己了,顺便问候一下该问候的人。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值