Страницы

Поиск по вопросам

Показаны сообщения с ярлыком adb. Показать все сообщения
Показаны сообщения с ярлыком adb. Показать все сообщения

пятница, 24 января 2020 г.

Как запускать команды в fastboot mode?

#android #adb #android_adb


Описание проблемы:

Нужно запустить команду "fastboot oem off-mode-charge 0" для того что бы планшет
загружался при подаче питания.

Что есть:


nexus 7
twrp
root
locked bootload
android 4.2.2
windows и linux десктопы
нерабочий usb (по крайней мере комп его не видит, и штатными
способами не выходит это исправить)
планшет вклеен в торпеду машины (то есть доступа к девайсу почти
нету, только кнопки есть)
fastboot и adb бинарники в устройстве


Что пробовал:


Загружаюсь в recovery mode (twrp), запускаю консоль и пробую
воспользоваться утилитой fastboot, но эта утилита пытается найти
подключенный другой девайс.
Хотел построить соединение между windows adb и планшетом посредством
wifi adb mode. Windows определяет девайс (adb devices), подключается,
но не авторизируется, так как авторизация доступна только через
первое подключение через USB. Хотел обмануть первое знакомство с
помощью virtual usb (usb over ip), но понял что это трудно и
бессмысленно та как fastboot команды невозможно передавать через
wifi, только adb команды, в bootload mode wifi просто недоступен


Что нужно:

Заставить планшет загружался при подаче питания, в настройке не использовать компьютер
и не пытаясь починить usb

Рассуждения:


TWRP ведь под капотом запускает fastboot команду flash, значит
теоретически в recovery режиме можно запускать fastboot команды
Может можно записать куда-нибудь fastboot команду, и при перезагрузке
bootloader выполнит ее.
Может можно напрямую послать команды бутлодеру (/dev/block/bootdevice/by-name) находясь
в recovery режиме

    


Ответы

Ответ 1



Не готов дать конкретный ответ. Могу только задать направление. Очень интересна выдача по запросу: android turn on device on plug cable Может что-нибудь подойдет Вам. Ну и способ, который должен помочь: Находите точно такой же девайс, но с рабочим кабелем. Делаете все желаемые действия. Делаете полную резервную копию девайса через TWRP. На проблемном устройстве восстанавливаете эту резервную копию на свой страх и риск. Только не восстанавливайте разделы, которые относятся к телефонии и IMEI, иначе получите устройство без связи.

четверг, 23 января 2020 г.

Lubuntu 15.04, android-studio, подключение телефона

#android #ubuntu #adb


Lubuntu 15.04, android-studio.

Запускаю студию

:~$ sudo sh ./studio.sh


lsusb девайс видит, но не отображает имя.

:~$ lsusb 
Bus 001 Device 011: ID 2970:0c02  
Bus 001 Device 003: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 046d:c52f Logitech, Inc. Unifying Receiver
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


Смотрим на сам дивайс, все в порядке.

:~$ lsusb -D /dev/bus/usb/001/011
Device: ID 2970:0c02  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x2970 
  idProduct          0x0c02 
  bcdDevice            2.16
  iManufacturer           2 Fly
  iProduct                3 IQ4514 Quad
  iSerial                 4 0123456789ABCDEF
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           62
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol      0 
      iInterface              5 MTP
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x001c  1x 28 bytes
        bInterval               6
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass     66 
      bInterfaceProtocol      1 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered


adb devices показывает 1 пустую строку (как я понимаю эта пустая строка и есть мой
дивайс)

:~$ adb devices 
List of devices attached 

:~$ 


Пробовал давать права 777 /dev/bus/usb/001/011.
Пробовал делать все под root.
android-studio вообще не видит девайс.
Отключал, подключал USB.
udev reload
В телефоне поставил отладку по USB, включил режим "для программистов".
Честно испробовал все, что только попалась по запросам:

ubuntu lsusb device without name
ubuntu lsusb device
ubuntu adb empty list
ubuntu adb doesn't see device
ubuntu android studio doesn't see device
etc.


Может все проще? Как сделать так чтобы android-studio увидело девайс? Перепробовал
100500 смежных решений по данному вопросу, не сработали.
    


Ответы

Ответ 1



Закройте студию и работайте только с adb. На данном этапе студия будет только мешать. Да и её не стоит запускать через sudo. Устройство должно быть подключено, в настройках включена отладка по USB. Добавьте в файл ~/.android/adb_usb.ini строку (Каталог .android и этот файл уже должны созданы у вас в home): 0x2970 Посмотрите adb devices. Если не помогло, то дальше будет стандартный мануал. Создайте файл /etc/udev/rules.d/51-android.rules с содержимым: SUBSYSTEM=="usb", ATTR{idVendor}=="2970", MODE="0666" Установите чтение для всех на этот файл: $ sudo chmod a+r /etc/udev/rules.d/51-android.rules Убейте все запущенные процессы adb, если они есть $ sudo killall adb Перезапустите udev: $ sudo service udev restart Посмотрите ещё раз adb devices. Если и это не помогло, то попробуйте тупо сменить USB кабель. С такими телефонами обычно идут кабели очень низкого качества. Ну или либо он у вас просто слишком длинный. В таких случаях часто ничего не работает, хотя и устойство отображается в lsusb.

вторник, 7 января 2020 г.

adb windows 8 64bit

#android #adb #windows_8


К сожалению, купил и установил на компьютер Windows 8 Pro 64 и теперь возникла проблема
с подключением девайса. Повествование касательно самсунг, но думаю с другими вендорами
будет аналогично. Установил все нужные тулзы для разработки, установил Samsung kies
- подключил по usb девайс - он его не видит. Драйвера через кайс ставил - результат
аналогичный. Смутило, что обычно win 7, например, ставил драйвера устройства и потом
все хорошо, девайс видно из Eclipse. Теперь же такого не было.
Слышал, что это из-за того, что стоит настройка отказа установки устройства с неподписанным
драйвером, но пока не нашел где эту шнягу выключить.
Может, ну может, кто-нибудь, ну пожалуйста :) сталкивался с подобной проблемой и
знает ее решение?
Второй вопрос тоже наметился: avd не запускается(видимо из-за C:/Users/русские буквы)
- напомните как решить и это за одно. Помню как-то перемещал avd и указывал путь.    


Ответы

Ответ 1



У меня тоже Windows 8 Pro x64, Eclipse 3.7.2 с установленным AVD,SDK, драйвер (samsung_usb_driver_for_mobile_phones) для моего Samsung Galaxy W, и установлена галочка "Отладка USB", всё работает без проблем. Кайс вообще не использую.) Слышал, что это из-за того, что стоит настройка отказа установки устройства с неподписанным драйвером, но пока не нашел где эту шнягу выключить. Впервые слышу.) Второй вопрос тоже наметился: avd не запускается(видимо из-за C:/Users/русские буквы) - напомните как решить и это за одно. Помню как-то перемещал avd и указывал путь. Пишем своё первое приложение на Android - в самом низу описано. такая же была проблема.

Ответ 2



Все решается иначе, спасибо хабраюзеру serso за ссылку - PdaNet

Ответ 3



Запрет установки не подписанных драйверов в Windows отключается в консоли. Cmd Bcdedit.exe -set testsigning on Эта команда переводит систему в тестовый режим для разработчиков. В этом режиме отключается проверка цифровой подписи

понедельник, 15 июля 2019 г.

Как получить список текущих уведомлений в статус баре на 17 API?

Задача состоит в извлечении текста из уведомлений в статус баре через adb. На данный момент написал Service, который следит за уведомлениями, наследующийся от NotificationListenerService и Broadcast, который по запросу с adb отдает данные уведомления от определенного пакета. Но сам NotificationListenerService доступен только с 18 API, а поле extras класса Notification (я с него беру текст и заголовок) - с 19го.
Может есть какая-то возможность получить те же данные, но на 17ом API?


Ответ

К счастью, ответ найден!
Решение довольно банально - данные обо всех уведомлениях можно получить через команду shell dumpsys notification. Но extras получить пока не удалось. Правда у меня все устройства рутованные, отпишите, пожалуйста, в комментариях, работает ли без рута.

вторник, 14 мая 2019 г.

adb windows 8 64bit

К сожалению, купил и установил на компьютер Windows 8 Pro 64 и теперь возникла проблема с подключением девайса. Повествование касательно самсунг, но думаю с другими вендорами будет аналогично. Установил все нужные тулзы для разработки, установил Samsung kies - подключил по usb девайс - он его не видит. Драйвера через кайс ставил - результат аналогичный. Смутило, что обычно win 7, например, ставил драйвера устройства и потом все хорошо, девайс видно из Eclipse. Теперь же такого не было. Слышал, что это из-за того, что стоит настройка отказа установки устройства с неподписанным драйвером, но пока не нашел где эту шнягу выключить. Может, ну может, кто-нибудь, ну пожалуйста :) сталкивался с подобной проблемой и знает ее решение? Второй вопрос тоже наметился: avd не запускается(видимо из-за C:/Users/русские буквы) - напомните как решить и это за одно. Помню как-то перемещал avd и указывал путь.


Ответ

Все решается иначе, спасибо хабраюзеру serso за ссылку - PdaNet