我自己遇到的問題是VS2013和VS2015中xamarin無法識別到真機,現象就是插上手機開啟調試模式,豌豆莢都可以連接上手機,就是VS上沒出現手機。
但是低版本的手機貌似又行,4.0.3的。
於是排除了各種問題,比如手機開發這模式,數據線,ADB驅動,ANDROID SDK升級,都不行,
最后隨意地點了下Restart Adb Server:
發現居然可以識別到真機了,我只能說比較神奇。。。
以下都是ADB連接問題,可以通過嘗試如下步驟,由簡單度排序
1. 插拔下USB連接線
2. 關閉USB模式再打開
3. 執行以下命令
- adb kill-server
- adb start-server
4. 效果與3相同
DDMS - Devices - Reset adb
5. 關閉所有PC套件,例如:
殺死 Wandoujia 相關的所有進程,ok
wandoujia_daemon.exe
wandoujia_helper.exe
7. 查看有幾個ADB進程,全部殺死再重新啟動ADB
8. 查看下USB先是否連接電腦與手機
9. 重啟手機
10. 關閉占用5037端口軟件
11. 更新adb (見問題14)
1. 查看占用端口5037的PID值
netstat -a -n -o |findstr "5037"
輸出結果:
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 5096
TCP 127.0.0.1:5037 127.0.0.1:51577 ESTABLISHED 5096
TCP 127.0.0.1:51577 127.0.0.1:5037 ESTABLISHED 4324
2. 從上面得知PID = 5096占用了5037端口,現在通過PID查看進程名,看到底哪個進程占用此端口
tasklist /v | findstr 5096
輸出結果:
tadb.exe 5096 Console 1 4,932 K Unknown ...... 0:00:02 暫缺
網上查詢得知tadb.exe是騰訊管家啟動的進程
netstat -a -n -o |findstr "5037"
輸出結果:
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 5096
TCP 127.0.0.1:5037 127.0.0.1:51577 ESTABLISHED 5096
TCP 127.0.0.1:51577 127.0.0.1:5037 ESTABLISHED 4324
2. 從上面得知PID = 5096占用了5037端口,現在通過PID查看進程名,看到底哪個進程占用此端口
tasklist /v | findstr 5096
輸出結果:
tadb.exe 5096 Console 1 4,932 K Unknown ...... 0:00:02 暫缺
網上查詢得知tadb.exe是騰訊管家啟動的進程
3. 殺死占用5037端口的進程 tadb.exe
taskkill /f -pid 5096
taskkill /im tadb.exe
輸出結果
成功: 已終止 PID 為 5096 的進程。
taskkill /f -pid 5096
taskkill /im tadb.exe
輸出結果
成功: 已終止 PID 為 5096 的進程。
問題1
- The connection to adb is down, and a severe error has occured.
- You must restart adb and Eclipse.
- Please ensure that adb is correctly located at 'adb.exe' and can be executed.
問題2
- ADB server didn't ACK
- * failed to start daemon *
問題3
- Adb failed to restart! Make sure the plugin is properly configured
問題4
- ** Adb connection Error:遠程主機強迫關閉了一個現有的連接
問題5
- java.io.IOException: 您的主機中的軟件中止了一個已建立的連接。
- at sun.nio.ch.SocketDispatcher.write0(Native Method)
- at sun.nio.ch.SocketDispatcher.write(Unknown Source)
- at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
- at sun.nio.ch.IOUtil.write(Unknown Source)
- at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
- at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
- at com.android.ddmlib.Client.sendAndConsume(Client.java:575)
- at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348)
- at com.android.ddmlib.Client.requestAllocationStatus(Client.java:421)
- at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:854)
- at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:822)
- at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:781)
- at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:649)
- at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:42)
- at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:577)
通常是同時打開了兩個eclipse,關閉一個即可
問題6
- Failed to install .apk on device '': Unable to open sync connection!
- java.io.IOException: Unable to open sync connection!
- Launch canceled!
- ADB rejected shell command (rm /data/local/.apk): closed
- Error during Sync: Unable to open sync connection!
- Error during Sync: Unable to open sync connection!
- Adb connection Error:遠程主機強迫關閉了一個現有的連接。
- Connection attempts: 1
- Connection attempts: 2
- Connection attempts: 3
問題8
- Failed to install .apk on device : Too many open files
- com.android.ddmlib.SyncException: Too many open files
- Launch failed on device:
問題9
- Failed to install .apk on device '': closed
- com.android.ddmlib.InstallException: closed
- Launch failed on device:
問題10
- Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
- Please check logcat output for more details.
- Launch failed on device:
- Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
- Please check logcat output for more details.
- Launch failed on device:
使用PC套件刪除,然后安裝不行,通過adb uninstall 再次刪除,安裝ok
- Android Launch!
- Connection with adb was interrupted.
- 0 attempts have been made to reconnect.
- You may want to manually restart adb from the Devices view.
- Unexpected error while launching logcat. Try reselecting the device.] closed
- om.android.ddmlib.AdbCommandRejectedException: closed
- at com.android.ddmlib.AdbHelper.executeRemoteCommand(AdbHelper.java:381)
- at com.android.ddmlib.Device.executeShellCommand(Device.java:462)
- at com.android.ddmuilib.logcat.LogCatReceiver$1.run(LogCatReceiver.java:109)
- at java.lang.Thread.run(Unknown Source)
問題14
- adb server is out of date. killing...
- * daemon started successfully *
- error: device offline
- D:\>adb version
- Android Debug Bridge version 1.0.29
- D:\>adb version
- Android Debug Bridge version 1.0.31
