2013年9月6日 星期五

使用小米2S開發APP

要用小米來開發APP還真是不容易啊
光是 adb devices 就一直找不到小米機
從入手到現在轉眼兩個多禮拜了
一直到前兩天(9/4)終於讓我找到方法了
比起小米 2S 在 Win7 64bit 上,用 adb devices 找不到設備的問題
在 Ubuntu (12.10)上我是比較快找到解決方法,但也花了約一個禮拜

Ubuntu (12.10) 解決方法如下
1. 連接USB後,小米上的模式要選"傳檔案",不是"看照片"
2. 依google官網說明,需要在/etc/udev/rules.d下建立 51-android.rules 檔,並寫入以下內容
SUBSYSTEM=="usb", ATTR{idVendor}=="2717",ATTRS{idProduct}=="9039", MODE="0666"
然後執行
chmod a+r /etc/udev/rules.d/51-android.rules
再重啟服務
sudo service udev restart
註:idVendor 及 idProduct 是根據 lsusb (linux命令)的資訊來的
執行lsusb後,可看到一行
Bus 001 Device 00?: ID 2717:9039
一般的手機應該上面兩步驟就可以了(應該是吧,至少之前的 HTC Wildfire S 是如此)
但小米要再多以下的步驟
3. 新增 ~/.android/adb_usb.ini 並寫入 0x2717
4. 先移除傳輸線,再重新連接
5. 執行 ./adb kill-server 及 ./adb devices
應該就能正常看到手機資訊了
List of devices attached
xxxxxxx device
以上是參考:http://www.linuxidc.com/Linux/2013-07/88002.htm


而在 Win7 64bit 上,雖然最後的方法不難
但找方法的過程真是像死胡同,差點就要放棄了
網路上有不少人有同樣的問題,甚至是連 driver 都幫不起來
driver 的部份我倒是比較沒有問題(雖然過程中一直懷疑是否driver沒裝好)
但用 adb devices 就是找不到設備
網路上有很多流傳是要播打 *#*#717717#*#*
也有很多流傳穩定版不支援,要開發版才行
也有流傳需要 root 才可以
能試的都試了,連最不想 root 的也給它 root 了,還是不行 @@"
註:播打 *#*#717717#*#* 是個奇怪的方式
這誰會知道啊,難不成是在為難APP開發人員嗎?
且觀察裝置管理員發現,播打前後的裝置界面不一樣
播打前只會出現兩個 MI 2 的裝置,播打後則出現 6 個 MI 2 裝置
且看了裝置的 ID,播打後的那 6 個的 vender id 並不是 2717
所以猜測可能是另一個型號,還是什麼的
但不曉得有些人播打後就是行,真怪
最後找到的方法如下
1. 安裝 driver
先到官網下載 (服務 > 下載資源 > 手機驅動)
但這不能直接執行安裝,而是要用更新驅動的方式安裝
請解壓到一個固定位置
連接USB後,小米上的模式要選"傳檔案",不是"看照片"
如果有彈出選驅動的畫面,那就直接選剛剛解壓的資料夾來安裝
如果沒有,則自行開啟裝置管理員,用更新驅動的方式安裝
2. 在 C:\Users\帳號名\.android\ 下,新增 adb_usb.ini,並寫入 0x2717
3. 先移除傳輸線,再重新連接
4. 執行 ./adb kill-server 及 ./adb devices
應該就能正常看到手機資訊了
List of devices attached
xxxxxxx device

所以不管是在 Ubuntu 還是 Win 下,最後都是靠 adb_usb.ini 來解決的
如果剛好您也碰到這樣的問題,希望這能幫到您

2 則留言:

  1. 不好意思
    因為正在尋找如何解決找不到adb 的方法
    您說的:在/etc/udev/rules.d下建立 51-android.rules 檔,並寫入以下內容
    這個是要在那裡尋找呢
    懇請幫忙><
    我的電腦不是很強 請幫幫我 詳細說明
    非常感謝你!!!

    回覆刪除
  2. 您好,請問,您是哪個部份找不到?
    是 51-android.rules 檔找不到?
    還是內容的號碼找不到?

    回覆刪除

廣告訊息會被我刪除

Related Posts with Thumbnails