Android: adbd не может работать как root в производственных сборках

У меня есть Android-телефон (2.3.6) с разблокированными привилегиями root. Поскольку я хотел бы иметь доступ к моему телефону через свой компьютер, сегодня я установил QtAdb и Android SDK. Если я открываю командную строку, и я делаю

adb shell su

я получаю

#

И поэтому я могу копировать, удалять, нажимать файлы на свой телефон (по телефону я получаю уведомление с помощью приложения "SuperSU".)

Но если я запустил QtAdb - под Windows 7 - я получаю следующую ошибку: "adbd не может работать как root в производственных сборках". Я что-то пропустил? Что-то не так с QtAdb?

Ответ 1

Проблема заключается в том, что, хотя ваш телефон укоренен, сервер adbd на телефоне не использует права root. Вы можете попытаться обойти эти проверки или установить другой adbd на свой телефон или установить собственное ядро ​​/дистрибутив, в который входит исправленная adbd.

Или гораздо проще использовать "adbd insecure" от chainfire, который будет патч adbd "на лету". Он не является постоянным, поэтому вам нужно запустить его перед запуском сервера adb (или настроить его для запуска каждой загрузки). Вы можете получить приложение из игрового магазина google для пары долларов:

https://play.google.com/store/apps/details?id=eu.chainfire.adbd&hl=en

Или вы можете получить его бесплатно, автор опубликовал бесплатную версию на xda-developers:

http://forum.xda-developers.com/showthread.php?t=1687590

Установите его на свое устройство (скопируйте его на устройство и откройте файл apk с файловым менеджером), запустите "adb insecure" на устройстве и, наконец, уничтожьте сервер adb на вашем компьютере:

% adb kill-server

И затем перезапустите сервер, и он уже должен быть root.