Flutter не запрашивает у устройства диалог авторизации - PullRequest
4 голосов
/ 03 марта 2020

adb подключается к моему устройству (Xiaomi Redmi 4, MIUI 11.0.2, Android 7.1.2) просто отлично как через USB, так и через WiFi. Тем не менее, у меня не было успеха, пытаясь подключить флаттер. Flutter обнаруживает мое устройство при подключении через USB, но не запрашивает диалоговое окно авторизации:

$ flutter doctor

Doctor summary (to see all details, run flutter doctor -v):                                                                             
[✓] Flutter (Channel beta, v1.14.6, on Linux, locale en_US.UTF-8)                                                                       
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Android Studio (version 3.6)                                                                                                        
[!] Connected device                                                                                                                                                                                        
! Doctor found issues in 1 category.

$ flutter devices                                                                                                                         
No devices detected.                                                                                                                    

Run 'flutter emulators' to list and start any available device emulators.                                                               

Or, if you expected your device to be detected, please run "flutter doctor" to diagnose potential issues, or visit                      
https://flutter.dev/setup/ for troubleshooting tips.                                                                                    

• Device 9fd66a407d14 is not authorized.                                                                                                
You might need to check your device for an authorization dialog. 

Я пробовал

  • adb kill-server и adb start-server с отключением и повторным подключением моего устройства
  • Отмена авторизации отладки через USB с моего телефона
  • Отключение и отключение отладки через USB с моего телефона
  • Перезагрузка телефона

но флаттер все еще говорит, что мое устройство не авторизовано.

Есть ли решение для этого?

Ответы [ 4 ]

1 голос
/ 11 марта 2020

У меня была другая проблема с adb, при которой при подключении к моему устройству через USB или WiFi он запрашивал авторизацию даже после того, как я установил флажок «Всегда разрешать с этого компьютера» (это было более год, и я никогда не знал, почему)

Оказывается, это потому, что у меня ~/.android/adbkey принадлежит пользователю root. Поэтому, как обычный пользователь, adb не сможет записывать в этот файл, что означает, что он не сможет запоминать устройства. Я решил, что с шагами в этом ответе :

Как описано в этой проблеме , это может произойти, если вы впервые запустите adb как root. Он создает файл ключа на вашем компьютере, принадлежащий пользователю root, поэтому ваша обычная учетная запись не может его прочитать или перезаписать.

Чтобы проверить, так ли это:

$ ls -l ~/.android/adbkey
-rw------- 1 root root 1708 Nov 13  2012 .android/adbkey
             ^ notice root here

Чтобы исправить это:

$ sudo chown $USER: ~/.android/adbkey
$ ls -l ~/.android/adbkey
$ -rw------- 1 thomas thomas 1708 Nov 13  2012 /home/thomas/.android/adbkey
               ^ now shows your username and primary group

Наконец, перезапустите сервер ADB:

$ adb kill-server
$ adb start-server

Как только я решил это, Flutter работал отлично!

0 голосов
/ 30 марта 2020

Я использую windows 10, я не думаю, что это поможет вам напрямую, я просто хочу поделиться тем, как моя проблема решена, и может помочь кому-то там

с помощью android studio - найти меню инструменты> sdk manager

в sdk manager найти -> Внешний вид и поведение | Системные настройки | Android SDK на android sdk найдите меню инструментов SDK и установите Google USB Driver

в диспетчере устройств (Win + R -> devmgmt.ms c) установите Google USB Driver для adb (в моем если мой телефон уже установлен, и я обновляю драйвер).

после этого мы должны подключить телефон и доверять компьютеру (я предлагаю сначала включить отладку usb и отменить все разрешения отладки usb в опции разработчика)

0 голосов
/ 12 марта 2020

Как предложил мистер Дари sh ... Настройки -> Дополнительные настройки -> Параметры разработчика -> Отмена отладки USB и отключение устройства (это удаляет предыдущую авторизацию и запрашивает новую).

Но иногда это не работает. Так что просто go в Настройки -> Дополнительные настройки -> Параметры разработчика -> Выбрать конфигурацию USB -> Выбрать вариант зарядки там. И это покажет диалог авторизации.

0 голосов
/ 06 марта 2020

Вы можете попробовать отозвать отпечатки пальцев USB RSA и восстановить соединение.

Вот вам go.

Настройки -> Дополнительные настройки -> Параметры разработчика -> Отмена отладки USB и отключение устройства.

После повторного подключения вы получите окно проверки отпечатка пальца RSA, нажмите принять. Готово.

Примечание: Если на вашем телефоне настроено несколько учетных записей пользователей, убедитесь, что вы используете основную учетную запись пользователя (администратора).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...