Не могу использовать ADB с Nexus 4 после обновления 4.3

Вот забавная проблема. Я без проблем использовал ADB на 4.2.1 и 4.2.2 на своем Nexus 4 (стандартный Android и некоторые ПЗУ на базе CM10). Когда я прошивал прошивку на основе CM10.2 (кажется, JellyBro?) несколько месяцев назад, я так и не смог заставить ADB работать, поэтому я восстановил нандроид моей предыдущей установки. Через некоторое время решил прошить стоковый образ 4.3 и посмотреть, осталась ли у меня проблема. Я делаю.

Установка?

  • Телефон: Нексус 4
  • ОС телефона: Android 4.3 (заводская)
  • ОС компьютера: Linux Mint 15

Хорошо, проблема?

  • Я не могу использовать ADB с моим N4 на 4.3.
  • Я не могу авторизовать свой компьютер на своем устройстве.

что ты уже испробовал?

  • Я просто пытался использовать функцию по умолчанию. Телефон должен предложить авторизовать мой компьютер, но я никогда не получаю приглашение. Я проверил /data/misc/adb/, и каталог был пуст.

    • Тем не менее, я решил выбрать опцию «Отменить авторизацию отладки USB» в параметрах разработчика.
  • Я скопировал ~/.android/adbkey.pub из своей Linux-системы и поместил его содержимое в новый файл с именем /data/misc/adb/adb_key на своем устройстве.

    • Когда это не сработало, я перезагрузил устройство.
    • Когда это не сработало, я отключил/включил ADB на устройстве.
    • Когда это не сработало, я убил adb на своем компьютере, а затем перезапустил его.
    • Когда переменный ток не работал, я выполнял их все последовательно, прежде чем пытаться снова, что также не сработало.
  • Точно так же, как указано выше, но поместите его в /data/misc/adb/adb_keys вместо adb_key (поскольку XDA и другие сайты ссылаются на оба имени файла).

  • Снова нажал кнопку «Отменить авторизацию отладки по USB». Перезагрузил телефон, убил ADB на компе. По-прежнему нет запросов на авторизацию.

  • Он удалил только /data/misc/adb/adb_keys, но не adb_key. Поэтому я почти уверен, что adb_key - это неправильное имя файла (несмотря на то, что оно цитируется с частотой, равной правильному имени).

  • Обновите мои инструменты платформы и пакеты Android SDK. Нет игральных костей.

    • Не могу обновить; У меня самая последняя версия (18.0.1)
  • Удалите и переустановите инструменты платформы. Нет игральных костей.

  • Кстати, у меня права доступа к файлу adb_keys 300. Владелец root. Группа корневая. Или другими словами:

    ls -l adb_keys
    -rw------- root root
    

Вы уверены, что это происходит только с вами на 4.3?

  • Да. У меня нет проблем после установки любого рома 4.2 с восстановлением или заводского образа 4.2.2 с fastboot.

И это точно такая же проблема с заводской 4.3 или ПЗУ на базе 4.3?

  • Да. Хотя я пробовал только два или три рома, плюс заводской образ. Хотя где-то может быть волшебный ром, который действительно работает.

Пробовали ли вы другие устройства?

  • Я протестировал adb на Nexus 7 моей подруги 2012 года выпуска под управлением 4.3. У него вообще не было проблем.

Любые другие компьютеры?

  • К сожалению нет. У меня есть только коробка Linux Mint 15.

Ладно, это в основном суть. Есть у кого еще умные мысли? (Или кто-нибудь видит, где я был идиотом и сделал ошибку?)

Передача файлов по MTP тоже работает нормально.

Прошивка ночной сборки PAC-man 20130910 фактически дала мне работающий ADB без необходимости авторизации моего компьютера вообще. Это к счастью, но первоначальный вопрос все еще висит в воздухе: почему я не могу заставить его работать на складе?

Просто чтобы подтвердить, у вас есть последняя версия adb? tools/androidв вашей загрузке SDK не отображаются доступные обновления?
На самом деле; Как я уже упоминал выше (хотя и с ужасным форматированием), я пытался обновиться, но у меня уже есть последняя версия.
Какие разрешения на USB-устройство, и что adb devicesговорит? Иногда разные образы используют разные идентификаторы USB.

Ответы (3)

Попробуйте переключить устройство в режим PTP (в разделе «Настройки» -> «Хранилище» -> «USB-подключение к компьютеру» и вручную выберите режим подключения...) и подключитесь к компьютеру. Дайте ему установиться, переключитесь обратно в режим USB и снова подключите.

Обновление: протектор XDA

Нет игральных костей. Спасибо хоть.

У меня была такая же проблема, и я решил ее, обновив до последних инструментов SDK с помощью Android SDK Manager. Проблема на самом деле в вашем adb, а не в вашем телефоне.

В своем вопросе отмечу, что обновил свой пакет platform-tools, а также упомянул в комментариях, что обновил до последней версии SDK Tools. Спасибо за предложение.
У меня сначала работало, а потом снова перестало работать! Я перепрошил свой телефон на предыдущую сборку, чтобы временно это исправить!

Windows 7

Чтобы установить USB-драйвер Android в Windows 7 в первый раз:

Подключите устройство на базе Android к USB-порту компьютера. Щелкните правой кнопкой мыши Компьютер на рабочем столе или в Проводнике Windows и выберите Управление. Выберите Устройства на левой панели. Найдите и разверните Другое устройство на правой панели. Щелкните правой кнопкой мыши имя устройства (например, Nexus S) и выберите «Обновить программное обеспечение драйвера». Это запустит мастер обновления оборудования. Выберите «Выполнить поиск драйверов на моем компьютере» и нажмите «Далее». Нажмите «Обзор» и найдите папку с драйвером USB. (Драйвер Google USB находится в папке \extras\google\usb_driver.) Нажмите «Далее», чтобы установить драйвер.

Я думаю, вы упускаете важный этап установки драйвера Google USB на жесткий диск?
ОП также заявляет, что они используют Linux, а не Windows, поэтому я не уверен, как это им помогает...
Кроме того, оставлять свою электронную почту в публичном месте не кажется особенно хорошей идеей. Я отредактирую ваш ответ, чтобы удалить электронное письмо, чтобы оно не было сразу видно.