virtual box Ubuntu 連接手機

引自:http://blog.163.com/squall_smile/blog/static/603498402013741005176/

ubuntu 12.10的vmware虛擬機中連接android手機設備調試  

手機是盛大bambook s1,系統大約是android 2.3.5左右。
win7 64位版上安裝的vmware 8.0,裝了ubuntu 12.10系統(來自於python for android的 kivy鏡像盤,由原來的vdi(virtual box)格式轉化而來(即vmdk格式)。
    用kivy庫開發python for android程序時,由於kivy的顯示依賴於opengl es圖形庫,而本機上安裝的android虛擬機設定使用主機gpu時,總是起動不起來(vmware3D加速已打開,也不行。據說新版的kivy對虛擬機調試有所改善。稍後再研究這個問題),這樣導致android虛擬機不可能有gpu硬件,從而kivy程序打包成apk上傳至虛擬機時,根本無法顯示。所以想到將手機連至虛擬機上,直接用手機硬件調試kivy程序。
查了一下相關資料,大致如下過程完成設置:
1 將手機數據線插到電腦上(win7 64位),當然手機usb調試要打開,這個不用說。
2 確認ubuntu虛擬機的usb選項打開正確。確保將usb連至虛擬機(即disconnected from host)。
3 此時啓動ubuntu 12.10,在終端窗口中查看:lsusb
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ lsusb
Bus 001 Device 002: ID 230b:0100  
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ ./adb devices
List of devices attached 
可看到有5個usb設備,而adb devices並未發現android設備。
4 拔去手機,再次用lsusb查看:
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ lsusb
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
可看出,Bus 001 Device 002: ID 230b:0100  此行正是盛大bambook s1手機的usb設備,大約由於此手機過於山寨,並未顯示任何廠標。
5 cd /etc/udev/rules.d
vi 50-Android.rules
輸入:
SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="230b", MODE="0666"
注意這裏隨便輸入了個htc的公司名稱,而"230b"是最重要的,在Bus 001 Device 002: ID 230b:0100 中可找到。
保存,chmod a+rx 此文件。
sudo /etc/init.d/udev restart
6 直接重啓動ubtuntu得了。
7 重啓後,再用adb devices查看,發現:
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ ./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
????????????    no permissions
好,發現東西了,只是權限不對。
8 殺掉adb服務,重新用sudo權限啓動之:
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ ./adb kill-server
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ sudo ./adb start-server
[sudo] password for kivy: 
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ ./adb devices
List of devices attached 
0123456789ABCDEF0123456789ABCDE    device
終於,找到了名爲0123456789ABCDEF0123456789ABCDE   這個古怪名字的設備。
9 編譯打包kivy程序:
kivy@kivy-VirtualBox:~/android/python-for-android/dist/default$ ./build.py --package org.test.SwitchMT --name "SwitchMT" --version 1.0 --dir ~/myprogs/SwitchMT debug installd
注意最後安裝apk到手機的部份:
install:
     [echo] Installing /home/kivy/android/python-for-android/dist/default/bin/SwitchMT-1.0-debug.apk onto default emulator or device...
     [exec] 851 KB/s (6801828 bytes in 7.798s)
     [exec]     pkg: /data/local/tmp/SwitchMT-1.0-debug.apk
     [exec] Success

installd:

BUILD SUCCESSFUL
安裝是成功的。
查看手機,SwitchMT的圖標出現了。
發佈了6 篇原創文章 · 獲贊 3 · 訪問量 9641
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章