android 地圖服務開發 INSTALL_FAILED_MISSING_SHARED_LIBRARY 錯誤解決
地圖服務開發中遇到此類錯誤大體分為以下兩種情況解決:(論壇裡大多都是屬於第一種情況的答案,但是遇到第二種情
況論壇的解決基本無效)。
情況一:如果你用模擬器偵錯工具
首先檢查AndroidManifest.xml,確保已經寫了<uses-library android:name=”com.google.android.maps” />
其次確保你建立工程的時候 Build Target 選擇的TargetName不是Android 而是其版本對應的Google APIs。
最後建立模擬器,target同樣選擇Google APIs。
這樣此問題基本解決。你可以正常運行於模擬器上了。如果運行之後地圖無法顯示,而是現實灰色表格。那麼說明你的
android:apiKey 不對。重新註冊apiKey(具體方法看api或者去論壇,這裡不再贅述)。
情況二:如果模擬器運行正常而真機調試時候出現類似錯誤。
那是因為你的真機中system/framework下缺少檔案com.google.android.maps.jar。
解決辦法:
1、進入你裝置的shell
adb -d shell (記著參數 -d)
2、給system掛在讀寫權限
這裡不同的機器稍有不同,大家可以如下看看那中情況合適你的機器:
mount -o rw -t yaffs2 /dev/block/mtdblock3 /system
或者
mount -o remount,rw /dev/root /
對於我的機器:
我的是用了cm的系統的。這麼做:
mount -o remount,rw /dev/block/mtdblock3 /system
3、從emulator的system/framework檔案夾下匯出com.google.android.maps.jar ,可以直接通過ddms匯出、或者通過adb
命令匯出:
adb -d push com.google.android.maps.jar /system/framework/
或者
adb push com.google.android.maps.jar /system/framework/com.google.android.maps.jar
adb push com.google.android.gtalkservice.jar /system/framework/com.google.android.gtalkservice.jar
4、給這個檔案增加許可權:
這裡兩種做法:
(1)把真機中/etc/permissions/platform.xml檔案取出來編輯:
<permissions>
</permissions>
中末尾處增加:
<library name="com.google.android.maps" file="/system/framework/com.google.android.maps.jar"/>
然後再把這個platform.xml檔案push回真機的/etc/permissions檔案夾中.
(2)對於2.2以後的版本亦可這麼做:你可以直接直接pull出你emulator的
/etc/permissions/com.google.android.maps.xml 然後push進你真機的 /etc/permissions
5、重啟手機,此時你就可以調試你的android服務了。如果不行再重啟一次就好。