這個問題, 很多人都遇到過, 但沒有看到能夠解決這個問題的, 而且有些操作過于繁瑣, 真不知道在說些什么.
對于這個問題有一種極為簡單的解決方案:
首先, 我們需要知道這個文件是怎么產生的, 以及這個文件有什么用.
這個文件是在執(zhí)行過adb命令之后產生的, 這是adb進程生成的一對密鑰adbkey與adbkey.pub, 其中公鑰是來發(fā)送給android設備的
當你執(zhí)行 adb shell 的時候,adb進程會將PC上的adbkey.pub發(fā)送給android設備;這個時候如果android上已經保存了這臺PC的adbkey.pub ,則連接成功,如果沒有保存則會出現(xiàn)彈框,當你點擊允許之后android設備就會保存PC的 adbkey.pub
問題來了, 假如我故意將PC中的adbkey刪掉了, PC識別不到手機了, 我該怎么辦呢?
這個時候在Terminal里輸入adb devices 能看到設備, 卻是unauthorized的, 這也就意味著, 我執(zhí)行不了其他的任何與adb有關的操作了.
雖然是故意刪掉的, 可連不上手機,還是很急人的, 到底該怎么做呢?
有人給出了一個解決方案:
既然在Android設備連接到PC后, PC會把adbkey發(fā)送給Android設備, 那就直接也把設備中的adbkey刪掉就得了.
說得好, 這是個好方法, 那adbkey在哪呢?
這個不是問題, 地球人都知道:
/data/misc/adb/adb_keys // 將PC的adbkey.pub 拷貝并且重命名而來
好了, 到此為止這種方案結束, 可用度極低.
一看這個目錄就知道, 只有擁有root權限的情況下,才能將adbkey刪掉, 而真正擁有root的, 只是少數(shù), 對我們大多數(shù)來說, 只能看看而已.
接著奉上另一種方案:
話說, 在前面,我有提過, adbkey是在運行過adb命令后出現(xiàn)的, 既然如此, 那就運行一下adb命令好了.
當運行過愛丁堡命令后你會發(fā)現(xiàn), .android文件夾下,依然空空如也, 這是怎么回事?
我不知道, 真不知道, 也不想知道, 我只需要將這個問題解決掉就好了. 誰叫我不是刻板出身, 最長做的事情就是解決問題.
我們來想一想, 一旦運行adb命令, 就會產生adbkey, 也就是說, 第一次運行a命令的時候, 就會產生adbkey, 那我們就讓adb回到最初第一次執(zhí)行的狀態(tài)就好了.
那怎么做呢? 想想我們平時用電子產品的時候, 想要將一個軟件回到最初登錄頁面, 最快的方式是什么?
沒錯, 就是直接將這個軟件徹底殺死, 再打開. 好了, 基本原理就是這些, 接下來, 就用極為簡單的方式, 將解決步驟輸出如下:
- adb kill-server
- adb start-server.
- 查看.android目錄
神奇的一刻到來了, 我們在.android目錄下, 果然能看到adbkey了.
好了, 到此為止, 這個問題被解決了.
希望能夠幫到有相同問題的小哥哥,小姐姐們.