为了将百度地图导航集成到我的一个Android应用程序中,我遵循了百度地图导航officail演示中的实现。然而,我的应用在BaiduNaviManager.getInstance().init上失败了。我检查了Logcat,看到下面粘贴了异常:
10-29 17:56:12.793 13154 13154 W System.err: java.lang.reflect.InvocationTargetException
10-29 17:56:12.794 13154 13154 W System.err: at java.lang.reflect.Method.invoke(Native Method)
10-29 17:56:12.794 13154 13154 W System.err: at com.baidu.navisdk.adapter.base.BaiduNaviSDKProxy.init(BaiduNaviSDKProxy.java:128)
10-29 17:56:12.794 13154 13154 W System.err: at com.baidu.navisdk.adapter.BaiduNaviManager.init(BaiduNaviManager.java:237)
10-29 17:56:12.794 13154 13154 W System.err: at com.xxx.yyy.LocalMainActivity.initNavi(LocalMainActivity.java:768)
10-29 17:56:12.794 13154 13154 W System.err: at com.xxx.yyy.LocalMainActivity.onCreate(LocalMainActivity.java:216)
10-29 17:56:12.794 13154 13154 W System.err: at android.app.Activity.performCreate(Activity.java:6251)
10-29 17:56:12.794 13154 13154 W System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
10-29 17:56:12.794 13154 13154 W System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
10-29 17:56:12.794 13154 13154 W System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
10-29 17:56:12.794 13154 13154 W System.err: at android.app.ActivityThread.-wrap11(ActivityThread.java)
10-29 17:56:12.794 13154 13154 W System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
10-29 17:56:12.794 13154 13154 W System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
10-29 17:56:12.794 13154 13154 W System.err: at android.os.Looper.loop(Looper.java:148)
10-29 17:56:12.794 13154 13154 W System.err: at android.app.ActivityThread.main(ActivityThread.java:5417)
10-29 17:56:12.794 13154 13154 W System.err: at java.lang.reflect.Method.invoke(Native Method)
10-29 17:56:12.794 13154 13154 W System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
10-29 17:56:12.794 13154 13154 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
10-29 17:56:12.794 13154 13154 W System.err: Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/user/0/com.xxx.yyy/lib/libcrypto.so" not found
10-29 17:56:12.795 13154 13154 W System.err: at java.lang.Runtime.load(Runtime.java:332)
10-29 17:56:12.795 13154 13154 W System.err: at java.lang.System.load(System.java:1069)
10-29 17:56:12.795 13154 13154 W System.err: at com.baidu.navisdk.adapter.impl.BaiduNaviManager.loadNativeLibrary(BaiduNaviManager.java:312)
10-29 17:56:12.797 13154 13154 W System.err: at com.baidu.navisdk.adapter.impl.BaiduNaviManager.loadBaiduNaviNativeLibrary(BaiduNaviManager.java:294)
10-29 17:56:12.797 13154 13154 W System.err: at com.baidu.navisdk.adapter.impl.BaiduNaviManager.init(BaiduNaviManager.java:694)
10-29 17:56:12.797 13154 13154 W System.err: at com.baidu.navisdk.adapter.impl.BaiduNaviSDKStub.init(BaiduNaviSDKStub.java:399)我按照百度的指示,下载了百度LBS Android SDK,并将它们添加到应用程序中。被投诉的libcrypto.so也在app\src\main\jniLibs\armeabi\中。其他百度地图SDK,如地理位置/地图,在我的应用程序中运行良好。不确定这里的根本原因是什么。
发布于 2017-10-31 03:55:14
在我在jniLibs下创建了一个armeabi-v7a目录并从armeabi复制了相同的.so文件后,这个问题就解决了。
https://stackoverflow.com/questions/47007155
复制相似问题