Есть ли хороший виджет переключателя отладки USB для Android?

12

Можете ли вы предложить мне виджет для переключения режима отладки USB для Android? Или не могли бы вы написать код и загрузить его на рынок, пожалуйста?

(Мне это нужно из-за того, что процесс инициализации HTC Desire и HD потребляет 100% ошибок процессора. При переключении сбрасывается до 0)

Ахмет Алп Балкан
источник
1
У меня был включен режим отладки usb с тех пор, как это исправление было впервые упомянуто, и кроме раздражающего всплывающего окна пропавшего драйвера из Windows, когда я подключаю его, я не заметил никаких побочных эффектов. Зачем вам нужно включать и выключать его?
Мэтт Х
Как я уже говорил, если я не поддерживаю режим отладки USB, процесс init начинает потреблять 100% процессоров в телефонах htc desire.
Ахмет Алп Балкан

Ответы:

7

Здесь установщик для легкой установки или виджет только для ручной установки


ИНСТРУКЦИЯ ПО УСТАНОВКЕ


Предпосылки:

  1. Вы должны быть укоренены
  2. Вы должны быть в состоянии написать в /system/app/папку. Отладка по USB - это параметр «Безопасный», поэтому этот виджет должен быть установлен как системное приложение. Он не будет работать, если вы установили в стандартное место установки даже на рутированном устройстве.


Простая инструкция (рекомендуется)

  1. Нико написал простой в использовании установщик для автоматизации установки /system/app/; скачайте его здесь и запустите установщик приложения.
  2. Добавьте виджет на домашний экран, как обычный виджет.


Ручная установка

Если простая инструкция не работает, попробуйте ручную установку:

  1. Скачайте ADBWidget.apk и сохраните его на свой компьютер
  2. Скопируйте ADBWidget.apk в / system / app

    • Метод 1 - Использование Android Debug Bridge (ADB)

      1. Перемонтировать /system/appдля чтения-записи (см. Раздел «Дополнительные инструкции» ниже)
      2. adb push ADBWidget-x.x.apk /system/app/ADBWidget.apk (замените хх на соответствующий номер версии)
      3. Перемонтировать только /system/appдля чтения
    • Способ 2 - Использование Recovery.zip Recovery (еще не были протестированы)

    • Способ 3 - Использование Root Explorer (еще не был протестирован)
  3. Добавить ADBWidget на домашний экран


Инструкция по обновлению

Если вы обновляете предыдущую версию, вам не нужно делать все вышеописанное снова. Вы можете просто установить обновление в обычную директорию приложения, используя обычные методы установки (например, открыв apk из проводника). Пока в /system/appкаталоге есть предыдущая версия виджета с тем же ключом подписи (т. Е. Мой ключ, если вы использовали загрузку apk выше), Android будет выдавать обновленную версию с /data/appтем же разрешением.


ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ

Нажмите на виджет, чтобы переключить отладку USB. Синий значок USB означает, что отладка USB неактивна, красный значок USB означает, что отладка USB включена.


УДАЛИТЬ ИНСТРУКЦИЮ

Поскольку виджет установлен в / system / app, вы не можете удалить его, используя стандартный деинсталлятор приложения. Итак, просто удалите .apk из / system / app.

su
remount /system as read write
rm /system/app/ADBWidget.apk
remount /system as read only


ДОПОЛНИТЕЛЬНАЯ ИНСТРУКЦИЯ


Перемонтирование / система / как чтение-запись

  1. Откройте «Terminal Emulator» или «adb shell»
  2. Получить разрешение root, введите su
  3. Получить имя устройства, тип mount | grep /system
  4. Вы должны увидеть что-то похожее на:

    /dev/<device-name> on /system type rfs (ro,codepage=utf8,vfat,fcache(blks)=128,xattr,check=no)

  5. Принять к сведению <device-name>, и введите:mount -o remount,rw /dev/<device-name> /system


Перемонтирование / система / только для чтения

  1. Шаг 1, 2, 3, 4 такой же, как указано выше
  2. тип: mount -o remount,ro /dev/<device-name> /system


ИСПРАВЛЕНИЕ ПРОБЛЕМ

  • Иногда виджет зависает и не реагирует на нажатия. Если это произойдет, удаление и повторное добавление виджета обычно решит проблему.


НОТА

  • Не жалуйтесь на уродливый значок по умолчанию и кнопку виджета, но если вы можете отправить мне лучшее изображение / значок виджета, я был бы рад добавить его. Теперь у нас есть значок, благодаря @Jay.
  • Не доверяйте незнакомцам, которые просят вас установить приложение в / system / app
  • Проверено на Samsung Spica i5700 SpicagenMod Froyo.
Ли Райан
источник
Круто, спасибо! Ты очень быстрый! Но зачем нам нужен root-доступ? AFAIK ручное включение не требует root-доступа. Спасибо, в любом случае.
Ахмет Алп Балкан
@Ahmet Alp Balkan: приложение «Настройки» (ручным способом) - системное приложение, т.е. оно установлено в / system / app. В некорневых телефонах Android этот раздел предназначен только для чтения, чтобы поддерживать целостность и безопасность системы, а приложения, которые не установлены в / system / app, не могут получить разрешение «Настройки безопасности записи». Для этого виджета требуется только root-доступ, поэтому вы можете установить его в / system / app, чтобы виджет мог получить разрешение «write secure settings», я не думаю, что вам нужен root для фактического использования разрешения, хотя я не тестировал на derooted телефон еще.
Ли Райан
Короче говоря, отладка по USB - это настройка «Безопасный», только системные приложения могут получить разрешение «Настройка безопасности записи», системные приложения должны быть установлены в / system / app, только рутированные телефоны могут записывать в / system / app, поэтому это приложение требует root. Приложение «Настройки» не требует root, поскольку оно предустановлено в / system / app. Кроме того, я могу легко запустить приложение «Настройка», чтобы вы могли самостоятельно отключить отладку по USB, но для этого требуется 3 щелчка (1 на виджете / значке, 1 на отладке USB, 1 при подтверждении) вместо 1 щелчка по виджету, просто сделав это, не требует root, но это все еще хлопот.
Ли Райан
Прекрасно работает, но человек этот значок уродлив! :-p В следующей версии любой способ сделать так, чтобы он указывал, что переключение было успешным, или указывает, включена ли отладка USB или нет? (т.е., возможно, значок одного цвета для включенного, другой для отключенного.) Просто мысль, но спасибо!
Привет, я смотрю ваш исходный код и пытаюсь добавить эту опцию в мое приложение (Widgetsoid), но это не работает для меня. У меня 02-22 11: 26: 07.260: ПРЕДУПРЕЖДЕНИЕ / Настройки (3652): настройка adb_enabled перемещена из android.provider.Settings.System в android.provider.Settings.Secure, возвращая значение только для чтения. 02-22 11: 26: 07.260: ПРЕДУПРЕЖДЕНИЕ / Настройки (3652): параметр adb_enabled перемещен из android.provider.Settings.System в android.provider.Settings.Secure, значение не изменяется. Что я делаю не так? Спасибо за помощь. С уважением, Джим
0

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

Supercereal
источник
0

Есть несколько приложений, которые делают это. Но все они должны быть сделаны системным приложением. Я не хотел этого делать. Поэтому я сам создал виджет, который работает так же, как и любой другой виджет. Вы можете получить это здесь:

https://github.com/alseambusher/adb-toggle

2991ambusher
источник