注意了!現在發車!
我掉的這個坑,實屬天坑!并是不網上說的那么簡單,重新插下USB線、重新開啟USB除錯、重啟下Android設備就能解決的!!! 我恢復出廠設定、重新刷系統都不管用,就差最后一步USB除錯授權,通俗的說就是Android設備不信任這臺電腦,導致ADB一直無法連接到Android設備,心累,,,,
就是下面的這個視窗一直都沒有彈出:

WTF!實在搞不懂為什么這個視窗沒有彈出,換了兩根USB線、重新開啟了N遍USB除錯、重啟了N遍Android設備,甚至恢復了兩次出廠設定,刷過一次系統,But ! 依舊無法解決這個問題,再說我就哭了,

問題
- 輸入
adb devices,輸出資訊:
C:\Users\Administrator>adb devices
adb server version (31) doesn't match this client (41); killing...
could not read ok from ADB Server
* failed to start daemon
adb.exe: failed to check server version: cannot connect to daemon
是這樣的:
C:\Users\Administrator>adb devices
adb server version (31) doesn't match this client (41); killing...
* daemon started successfully
List of devices attached
00000000000000000000 unauthorized
- 輸入
adb shell,輸出資訊:
C:\Users\Administrator>adb shell
adb.exe: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
但是,我用360手機助手連接確實可以正常彈窗,正常連接:

360手機演示是這樣的:

嗯哼,,,此事必有鬼!為什么360手機助手可以正常連接呢?用adb就不行呢?
而且我用另外一臺電腦測驗,也是可以正常彈窗進行USB除錯授權,adb連接成功的,證明Android設備和資料線都是沒有問題的,排除了硬體問題,剩下就軟體問題,
解決辦法
最核心的問題就是:This adb server's $ADB_VENDOR_KEYS is not set
找到~\.android目錄,一般都是在C:\Users\Administrator\.android這個目錄下,重點查看adb_usb.ini、adbkey和adbkey.pub這三個檔案,

- adb_usb.ini檔案,里面是
設備VID,比如我的是0x2207 - adbkey檔案,經過查看此檔案,
內容為空,這就是問題所在!
一般adbkey檔案內容是這樣的:
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCw+kLeonP1WFsl
AhmMhRn4l1GBIJbcB1gnXKZFwRonDjROYXi1RJDUfyrba0qkj295gCqswkkth7FF
4WDZxU6ELEpB4X2YNTZTFEhkoOSEZ7pEMd7lL7NxF7F8mEn7ONF0RZzYVzzcqEzV
KczkRUhkqlNgaYkB+ortuNGl7srSowz9lxoMFPMWeYBCekV65MzjCL1OiDXpwVrY
6e78C3CgGe5pZ8RpIjCUbmmzgurCHvFd6iO+mia/6O3ShCxsxx1sAUpXK4k1wlcQ
6ybahc5Mpyh6cf0l86j/OE95mYobikAFFUwNDb2NppL207/WcZPZLIrnAlSygKqc
gT5Gwm27AgMBAAECggEAJCQfVsbXJmHSTyb0H7mouZbxOoz0sd9AFd26SOFr3VDt
xpnqJB5p8zM7Bc8N0bhG/Al77YbJmeYtggdKF37PD3fZ/EU3uEcZnnK0a/RdZlqm
c7m5epU4sF41zStuZELQp011/8ok8Czgb+GW6YDqjUApQbWbmI9ZIr3M9nVi7wut
LUfv72ttzUuXixLLgNWkVQXk/JciFghHfLkoMpEY1a+sCDJht1D3A7Ceh/qwmObK
E1tWGAukRu6zHua+Mi7KXcKSza3P5xhzRhyEXILtRQIWURKhDdInvDcW8i7nA2Mt
x0/cCIWKYhH0IGSyd8ShU/VEeymbs4hpjUUikMCLVQKBgQDZdfO0PhJ5mMoMMHiV
B3UACESXH8REHFwCna5L0NPXAcSpd3zRZEzgjUHlrFcJ/n83ciIiZB+618kUk5f2
J914xWfwuszUIipCwVkLer+M+FXgikVgrJfR2cjpUDg6A2vSkUin/RkiAgDfxInX
G4l8DRyTtZrVVZc4QGFRJI2L7wKBgQDQV517pGFOnumsMskbaZLNI2j+jLhSJaVH
m+wiG5MLI0+fU9OE5SAFNyAUCoO7R/G6gt2e85f1ZclU3kpeK/NqqcaClnnvPLGF
qZADT32wCLnsm7wPOVym+/zxg4E29FYRXFEsIcCyKYrvpNmQMlmHp/m6/SURhu8b
ZApGyfKe9QKBgQCFDdGOMAiX0++UI7gz3zssSOLG4M3yqrN1eksh4mUrgc51rkF1
0PvkzSlLwPYEjG4EW9Yc2sw7QzqqV2A8Ycn10js1pOYcyca3z5uPFYzMUUoiOBgY
/aFq6ekvMEEm5d78GJ6vAoJ1N2qXf6ajMhseBtu8WPqim1sKNQIWZtogiwKBgHS/
tENWESVSjdVuPB39YkNMRYjnaF64M89WA9P1KchDCFpbShudnfzuMC6q2bj4DvCa
ZwCstonQeSryyi/NZ0FtVA1Xr4qtszkYlNgWEnOz4CRD/PV3CoGUkeDw9VbLQvPF
jMMzQt1TxESYV0ajwGHxclMjikMxHwp1XADhJ/GFAoGBAL5zFXPFPfzsjEZMeUWq
8iYEH7AngolstAet4fn+JPPlB+H1wjNH7VblkfRKfBL+BeHHjQEVs0WWrG3dxqtE
S9I2NZ4n+9D9VtyP7GanMycG6pjKgcXKeUOU9mx8LNpeR8Dpdmh6IYcYmPlW6oWQ
Yu5AzjXHQPAJByl/Pg6O2o2H
-----END PRIVATE KEY-----
- adbkey.pub檔案,經過查看此檔案,
內容也為空,這就是問題所在!
一般adbkey.pub檔案內容是這樣的:
QAAAAI2wW267bcJGPoGcqoCyVALniizZk3HWv9P2kqaNvQ0NTBUFQIobipl5Tzj/qPMl/XF6KKdMzoXaJusQV8I1iStXSgFsHcdsLITS7ei/Jpq+I+pd8R7C6oKzaW6UMCJpxGdp7hmgcAv87unYWsHpNYhOvQjjzOR6RXpCgHkW8xQMGpf9DKPSyu6l0bjtivoBiWlgU6pkSEXkzCnVTKjcPFfYnEV00Tj7SZh8sRdxsy/l3jFEumeE5KBkSBRTNjWYfeFBSiyETsXZYOFFsYctScKsKoB5b4+kSmvbKn/UkES1eGFONA4nGsFFplwnWAfcliCBUZf4GYWMGQIlW1j1c6LeQvqwO9q00nASoQ0Ln7NccjKY7Kh6CcWAKsFHViaF6W3+R2aJ3Ir3a6Iy4rRen/9j6ehGKmITlR0HJoX1F5ET3CkCc2Lc3hJYegCHqIJNQi4jNkwR6FP+6xgCDaZXftf2kpySHyGRzHHCnp9ytAzK52CDXiIaUdaSlzbFzx6bVLfhpZY3k4xIKdLg0XYxUKLFqyhc9Jraz13qV/U+onE/BELaSvT5MhM4QrltXLVz5/+/l7YN2fWT/tVRzjyUem5iHiWbG0EKGtw1Zsl/zdypVDwQvH9kvvn68jr2FeSElU4GURI5QmKP/shna+Nxt0/GKx1X0q8vuwhNQv0ZCseK0NEplAEAAQA= @unknown
上面這兩個檔案非常重要,在Android設備確認授權USB除錯之前,PC端需要先生成一個key,并將public key發給Android設備,Android設備才會彈出詢問是否允許USB除錯對話框,
正常情況,重啟adb或者重啟電腦就能生成adbkey私鑰和配套的adbkey_pub公鑰,但是很明顯我這個并沒有生成,至于什么原因無法生成,不是很清楚,,,,,,,,
如何再次生成這兩個檔案呢?我這邊用的方法是找到另外一臺電腦,在電腦上面用adb連接上這個Android設備,此時~\.android目錄會有上面那三個檔案的,再將它們復制到自己的電腦上,如果你有更好的方法,可以給我留言評論,大家一起學習,感謝萬分!
復制完上面的檔案,需要重啟一下adb:
adb kill-server
adb start-server
重啟完adb之后,再將usb線插進電腦,此時應該會出現彈窗確認允許USB除錯,問題解決了,
非常感謝你能看到這里,如果能夠幫助到你是我的榮幸!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/126556.html
標籤:AI
上一篇:NDK 入門指南
