http://blog.163.com/gobby_1110/blog/static/29281715201010146177879/
上周終於還是買了開發板了 把上次項目分到的錢都花掉了
然后開始把項目在開發板上測試
開發板帶的有USB接口的GPS裝置
但是經過我的測試 此GPS無法在Odroid T開發板上正常工作
這個問題等到周一和partner碰頭了再解決
然后遇到的第二個問題:
運用了Google Maps的程序 在開發板中測試都無法安裝 並且報錯:
Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]
從昨天開始解決這個問題 論壇有說是平台不支持的 有說是其他問題的
嘗試了解決方案都未果
今天無奈之下查找了Android開發的QQ群
運氣很好的是加入了一個群並且認識了“龍蝦哥”
龍蝦哥 上海人氏 碩士畢業 目前和一個朋友自行開發Android和iphone項目掙錢
他在聽了我遇到的問題之后開始幫我想解決方法
方案1:在項目根目錄下來添加libs文件夾以及armeabi和armeabi-v7a兩個子文件夾
(因為他是在C平台下開發,然后再用NDK導入)
對比emulator和真機的system/lib文件夾下面的文件
把emulator上有而真機上沒有的.os文件導出 並且放入之前我們創建的armeabi和armeabi-v7a兩個文件夾
運行 結果失敗
然后繼續尋找解決方案
查看DDMS中的Logcat
紅字標出程序無法加載未知共享庫com.google.android.maps.jar
研究中發現 真機中 system/framework文件夾下缺少兩個重要文件:
com.google.android.maps.jar
com.google.android.gtalkservice.jar
開始解決:
(
Enter the shell of your device.
-
adb -d shell
Remount the system partition with read/write permissions.
-
mount -o rw -t yaffs2 /dev/block/mtdblock3 /system
For me the remount was a bit different. The following did the trick
-
mount -o remount,rw /dev/root /
)
1.從emulator的system/framework文件夾下導出這兩個文件
1.1 直接通過DDMS導出
1.2 通過adb命令導出
2. 把導出的這兩個文件導入Odroid 7的system/framework文件夾下
2.1 直接通過DDMS導出
2.2 通過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
3. 給這兩個文件添加權限
把真機中/etc/permissions/platform.xml文件取出來編輯:
<permissions>
...
<!-- This is a list of all the libraries available for application code to link against. -->
<library name="android.awt" file="/system/framework/android.awt.jar"/>
<library name="android.test.runner" file="/system/framework/android.test.runner.jar"/>
<library name="com.android.im.plugin" file="/system/framework/com.android.im.plugin.jar"/>
<library name="com.google.android.maps" file="/system/framework/com.google.android.maps.jar"/>
<library name="com.google.android.gtalkservice" file="/system/framework/com.google.android.gtalkservice.jar"/>
</permissions>
然后再把這個platform.xml文件push回真機的/etc/permissions文件夾中
4.重啟真機硬件
並且
-
adb stop
-
adb start
5.嘗試安裝帶有Google Maps的程序
期間又重啟了一次開發板(真機)
(如果沒有解決再次重啟試試)
問題解決
Ps:11月23日補充:
之前用的開發板是Odroid T,今天換了最新版本的Odroid 7
Odroid 7安裝的Android版本是2.2 同樣不帶地圖
2.2版本與之前的版本略有不同,大家拷貝是記得必須得用2.2版本的emulator中的
com.google.android.maps.jar
注意看2,2版本的emulator的system/framework
你會發現已經沒有了com.google.android.gtalkservice.jar
所以我們只需要把com.google.android.maps.jar push進你的真機文件夾即可
然后轉入/etc/permissions
與之前版本不一樣,Android2.2不再在platform.xml下更改
而是直接pull出你emulator的 /etc/permissions/com.google.android.maps.xml
然后push進你真機的 /etc/permissions
然后重啟真機,這樣就可以
解決之后看看 其實問題並不復雜 但沒有解決之前是感覺非常的棘手
龍蝦哥說的好 遇到問題不要急 多研究研究 要有耐心
在此謝謝龍蝦哥的幫助 Thank U
這也是我寫的第一篇開發筆記 以后遇到問題 還會繼續寫的
國內遇到此問題 在論壇上的解決方案基本無效
希望我的日志能給其他人幫助 ^ ^