Зачем вы делаете while True
, а затем выходите из этого цикла, в то время как вы также можете просто поместить свои требования в оператор while, поскольку все, что вы хотите, останавливается, когда у вас есть возраст?
age = None
while age is None:
input_value = input("Please enter your age: ")
try:
# try and convert the string input to a number
age = int(input_value)
except ValueError:
# tell the user off
print("{input} is not a number, please enter a number only".format(input=input_value))
if age >= 18:
print("You are able to vote in the United States!")
else:
print("You are not able to vote in the United States.")
Это приведет к следующему:
Please enter your age: *potato*
potato is not a number, please enter a number only
Please enter your age: *5*
You are not able to vote in the United States.
это будет работать, поскольку возраст никогда не будет иметь значения, которое не имеет смысла, а код следует логике вашего «бизнес-процесса»
Вероятно, что по какой-либо причине устройство больше не разрешено на ADB .
1. Проверьте, разрешено ли:
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d unauthorized
2. Отмена USB-отладки на телефоне
Если устройство отображается как неавторизованное, перейдите к настройкам разработчика на телефоне и нажмите «Отменить авторизацию USB-отладки» (проверено с помощью JellyBean & amp; Samsung GalaxyIII).
3. Перезапустить сервер ADB:
Затем перезагрузился сервер adb
adb kill-server
adb start-server
4. Подсоедините устройство
Устройство спросит, согласны ли вы подключить идентификатор компьютера. Вы должны подтвердить это.
5. Теперь проверьте устройство
Теперь это разрешено!
adb devices
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d device
После установки Android studio у меня были некорректные разрешения для папки «~ / .android» (доступ для чтения и записи только для root). Поэтому я изменил его и запустил проект из студии Android (устройство по-прежнему было помечено как «несанкционированное»).
Студия Android показала ошибку «Ошибка установки apk», но в папке «~ / .android» были созданы файлы «adbkey», «adbkey.pub», «debug.keystore».
После этого я перезапустил adb (запущенные команды adb kill-server и adb start-server), и на моем устройстве появилось диалоговое окно авторизации.
Надеюсь, кто-то подступит к этому решению.
Linux-Ubuntu-14.04 Я прочитал весь ответ для этого сообщения, ничего не работало для меня :( Возможно, это связано с тем, что я не использую обычное конечное пользовательское устройство, работающее на корпоративном устройстве!
Thing работал для меня: получить VID, PID для вашего устройства из lsusb и обновить 51-android.rules ( https://source.android.com/source/initializing.html#configuring-usb -access ) Убедитесь, что adb_usb.ini также обновлен с тем же VID, PID
adb usb
работал для меня. Это перезапускает демона adb, прослушивающего USB-порт. Возвращенная команда:
Ошибка: устройство несанкционировано. Проверьте диалоговое окно подтверждения на вашем устройстве
blockquote>. Но подсказка для ключа RSA появилась прямо на телефоне. Как только я одобрил, все приступило к работе как ожидалось
Имел аналогичную проблему для osx и Nexus 5 (A6.0.1). Я получил всплывающее окно авторизации и подтвердил его, несмотря на то, что Android Studio и другие IDE могли подключиться к устройству.
Оказалось, что в моем Nexus (с корнем) отсутствовали файлы ключей.
Нажмите клавишу с компьютера на Android-устройство:
cd ~/.android && adb push adbkey.pub /data/misc/adb/adb_keys
Это ошибка, потому что у вашей версии окна нет драйвера для usb 3.0 для подтверждения подлинности получателя с телефона. Я провел 5 дней с этой ошибкой. Теперь установите драйвер 58964_Intel (R) _USB_3.0. И продолжайте с удивительным кодом!
Ой, наконец, я понял это! После удаления каталога Eclipse я установил его в другой каталог.
echo %ANDROID_SDK_HOME%
указал неверный путь к каталогу sdk.
setx ANDROID_SDK_HOME "E:\adt-bundle-windows-x86_64-20140321\sdk"
adb kill-server
adb start-server
После этих шагов я смог увидеть диалог подтверждения с отпечатком RSA на моем телефоне:)
unplug device
как команду для запуска ... Примечание для себя, это означает физически i> (un) plug
– Tobias Kienzler
27 December 2014 в 21:49
Я получил эту ошибку с моим Nexus 10. Я попробовал все ответы, которые мог найти, а затем понял, что использую другой порт USB, чем обычно. Я перешел на использование порта, который я обычно использую, который находится на другой стороне моего ноутбука, и авторизация появилась на моем планшете!
Я столкнулся с теми же проблемами с nexus7.
После этого исправлено это.
Developer
в меню Settings
на вашем устройстве. Switch off
кнопка в правом верхнем углу экрана. Delete
все debug permission
из списка меню. Switch on
кнопку в правом верхнем углу экрана. теперь снова подключите ваше устройство к компьютеру, и все должно быть хорошо.
Извините за мой плохой английский, и некоторые названия меню (кнопок) могут быть неправильными в вашем язык, потому что мой - японский.
Developer
режим, отмените разрешения отладки, включите опции Developer
, снова подключите устройство, снова включите USB debugging
.
– user1438038
2 January 2015 в 16:50
Для справки, я просто столкнулся с той же проблемой в Linux и, черт возьми, понял ее. В конце концов я определил, что у меня есть каталог ~ / .android, который был владельцем root (благодаря запуску adb как root, а при попытке выяснить другие проблемы с подключением). Удаление этого корневого каталога ~ / .android разрешило отсутствующий диалог авторизации в следующий раз, когда я снова подключился к устройству.
Возможно, что простое изменение владельца также устранило проблему - я предполагаю, что это было просто Отсутствие доступа к файлу ключа adb, хранящемуся внутри, является корнем проблемы. Тем не менее, я не проверял это, и я не собираюсь намеренно ломать свои жесткие возможности подключения, чтобы я мог проверить; -)
Я не получал отпечаток RSA на моем телефоне.
Мне пришлось зайти в файлы
C:\Users\<userName>\.android\adbkey and adbkey.pub
, удалить их, а затем убить и перезапустить adb-сервер. Я должен был остановить и перезапустить отладчик и подключиться как USB в режиме PTP.
Поскольку ключ авторизации RSA был сохранен на этом пути, убийство и перезапуск сервера adb не помогло.
Я просто пытаюсь убить-сервер adb, он работает для меня:
PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186 unauthorized
PS C:\Users\languoguang> adb shell
error: 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.
убить и запустить adb-сервер:
PS C:\Users\languoguang> adb kill-server
PS C:\Users\languoguang> adb start-server
* daemon not running; starting now at tcp:12345
* daemon started successfully
PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186 device
Проверьте, установлены ли у вас кеши. Это одно возможное решение
Решение состоит в том, чтобы скопировать файл ~/.android/adbkey.pub
(на GNU / Linux или %USERPROFILE%\.android\adbkey.pub
в Windows) на Android и поместить его как /data/misc/adb/adb_keys
. Для этого вам нужны права root.
Вы можете передавать файл любым способом, который вам нравится (или может), будь то USB, электронная почта или временная служба загрузки файлов. В моем случае, поскольку это была новая установка Android-x86 на виртуальной машине, нет пригодного для использования веб-браузера, и с неработающим сетевым / TCP-аддом я должен был набирать 715 символов.
At по крайней мере, он работал.
На некоторых устройствах Samsung изменение режима, которое можно установить, набрав *#0808#
, не будет работать без прямой перезагрузки. После перезагрузки наберите ту же строку и убедитесь, что вы выбрали adb + mdp
, а USB - AP
. После этого обязательно подключите телефон и перезапустите сервер ADB. Также старайтесь избегать USB-концентраторов и виртуальных машин, которые, конечно же, усложняют дело. Следуйте ранее упомянутым инструкциям по очистке авторизованных устройств и т. Д.
Это решило мою проблему!
в этот момент вы получите всплывающий массаж у вас, эмулятор, чтобы авторизовать устройство, и вам хорошо идти:)
Что я сделал для решения проблемы, это снова отсоединить и снова подключить USB-кабель к USB-порту (выполняется с другим портом на моей машине).
Затем я решил зарядить, и это Это.
При работе с устройствами adb я увидел устройство в списке.
(Выполнено в Windows 10 home).
это не может работать для всех ситуаций, но поскольку я использовал длинный кабель, мое устройство не подключается должным образом и сообщение не появляется, изменение кабеля может решить проблему
Я был укомплектован этим, я получил это диалоговое окно с разрешением, отключив Wi-Fi моего телефона.
Я пробовал много способов решить эту проблему, это работает для меня.
Установите SnapPea на свой компьютер. SnapPea
Подключите телефон в режиме отладки USB и откройте SnapPea, на вашем телефоне появится окно авторизации. Диалог отображается на телефоне
Надеюсь, что это поможет.
Как указано в сообщении, вам необходимо разрешить доступ к adb на вашем телефоне.
blockquote>Вам нужно сначала подключить телефон к компьютеру с помощью USB-кабелей, затем на экране появится сообщение авторизации.
Если ваше устройство не показывает никаких сообщений при подключении к ПК, сделайте это.
Remove / data / misc / adb / adb_key, перезагрузите телефон и попробуйте снова подключиться. Сообщение должно появиться.
blockquote>
У меня была та же проблема. Это было разрешено установкой «Соединения USB-компьютера» на «Камера (PTP)» вместо «Media Device (MTP)
ID 1004:631d LG Electronics, Inc. Optimus Android Phone (Camera/PTP Mode)
Спасибо!
– josejuan
21 July 2015 в 20:53
У меня было то же сообщение в двух телефонах:
- Sony Xperia E
- Samsung Galaxy Core 2
и Android 4.4.2, и я решил это с помощью этих двух шагов:
1.- Обновление моего adb 1.0.31, загрузив последнюю версию Android SDK из SDK Manager
Вы можете проверить свою версию adb, набрав
adb version
2.- Как только телефон подключен к USB Режим отладки, появляется сообщение с просьбой разрешить этот компьютер для отладки. Вы должны пометить «Всегда разрешать этот компьютер» и нажать «Разрешить».
Надеюсь, что это поможет.
Шаги, которые работали на меня: 1. Отсоедините телефон от USB-кабеля 2. Отмените USB-отладку на телефоне 3. Перезагрузите устройство. 4. Подключите устройство. Наиболее важной частью была перезагрузка устройства. Не работал без него.
adb
, не имеет разрешения на обработку ключей. Если это произойдет с вами, попробуйте повысить права доступа (например,sudo
). – MatrixManAtYrService 27 August 2017 в 20:54