Caused by: java.lang.UnsatisfiedLinkError...解決經歷

Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned null
在使用百度地圖的時候碰到了這問題 網上搜了下各類方法 都不頂用 我想死的心都有了。。有沒有碰到過這問題的 求分享下經驗啊。。。。。。。。
java

後來看了百度地圖sdk的demo之後,是由於有一個文件 liblocSDK.so,必須放在 libs/armeabi 目錄下。將其對應的liblocSDK.so拷到相應的目錄下,問題完美解決了。問題是完美解決了,可這個liblocSDK.so文件是什麼樣的東東了。後來查了一下資料之後:web

so文件便是動態連接,在可執行文件裝載時或運行時,由操做系統的裝載程序加載庫。大多數操做系統將解析外部引用(好比庫)做爲加載過程的一部分。在這些系統上,可執行文件包含一個叫作import   directory的表,該表的每一項包含一個庫的名字。根據表中記錄的名字,裝載程序在硬盤上搜索須要的庫,而後將其加載到內存中預先不肯定的位置,以後根據加載庫後肯定的庫的地址更新可執行程序。可執行程序根據更新後的庫信息調用庫中的函數或引用庫中的數據。這種類型的動態加載成爲裝載時加載   ,被包括Windows和Linux的大多數系統採用。裝載程序在加載應用軟件時要完成的最複雜的工做之一就是加載時連接。  即至關於windows的dll文件。你連一個程序的dll文件沒有了,你程序確定跑不起來。windows

經過這次經歷,我對相應的so文件有了一個深入的認識。函數

相關文章
相關標籤/搜索