在学习百度地图api 导航篇时 不论怎么仿写官方DEMO 都不能初始化导航引擎 纠结了两天
在LBS论坛上找到同样问题 传送门初始化导航失败
文中解决方法 主要有三种:
目前demo中初始化导航失败有三种情况:
1. 调用BaiduNaviManager.initEngine接口时activity为空;
2.系统装载so库(loadLibrary)时失败,请确保BaiduNaviSDKDemo\libs\armeabi\libapp_BaiduNaviApplib_v1_0_0.so文件存在,并且不要改名;
3.其他原因导致native层引擎初始化失败。这种失败会回调NaviEngineInitListener.engineInitFail()接口,请在调用initEngine指定NaviEngineInitListener参数时在接口engineInitFail中打印一下,看看是否属于这种情况。
我的解决方案是将demo的assets文件夹下的BaiduNaviSDK_Resource_v1_0_0png,channel文件拷贝到自己的工程!属于第三种情况吧。
assets文件夹在打包会原封不动的打包进去
官方没有说明这个是导航功能必要的文件,导致初始化失败。
部分主要Activity代码如下:
package com.ht.activity;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.location.LocationClientOption.LocationMode;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BaiduMap.OnMarkerDragListener;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.Marker;
import com.baidu.mapapi.map.MarkerOptions;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.model.LatLng;
import com.baidu.navisdk.adapter.BNOuterTTSPlayerCallback;
import com.baidu.navisdk.adapter.BNRoutePlanNode;
import com.baidu.navisdk.adapter.BaiduNaviManager;
import com.baidu.navisdk.adapter.BNRoutePlanNode.CoordinateType;
import com.baidu.navisdk.adapter.BaiduNaviManager.NaviInitListener;
import com.baidu.navisdk.adapter.BaiduNaviManager.RoutePlanLis