How to fix ADBD Cannot Run as Root in Production Builds
ADB Root Command will allow you to “adb push/pull” the system to the system directors and run different important commands such as “adb disable-verify” or “adb remount”.
However, many users have voiced their concern that they’re trying to run level commands but are instead greeted with the ADBD Cannot Run as Root in Production Builds error. This is happening despite the fact that their smartphone is rooted using Magisk.
If you’re getting the same error, then this guide will be helpful. In this guide, you will get to know how to fix ADBD Cannot Run as Root in Production Builds.
Page Contents show
Steps to fix ADBD Cannot Run as Root in Production Builds

Method 1: Using Magisk Module
This module will work only if “adbd” is located in /system/bun instead of /sbin. It needs to be an arm64 device. Here are the steps you should follow –
- First, you need to download the module on your smartphone from GitHub
- After that, launch Magisk, head over to Modules, choose the module, and then tap OK
- Wait for the module to get flashed
- Once it is done, you should hit Reboot
- Check if the “ADBD Cannot Run as Root in Production Builds” error
Method 2: Using SU command
The ADBD from the CMD window will execute commands on your smartphone as user:shell. If you need the ADBD to act as user:root, then you will need to execute adb root. However, it may not be possible on stock ROMs to grant ADBD root permissions. You can take the alternate route by executing the following commands and seeing if you can get the job done.
- First, you should download and extract Android SDK Platform Tools on your computer
- Enable USB debugging on your smartphone and connect it to your PC
- Open CMD in platform tools and give the following commands –
- You’ll see a Magisk request on your device, you need to tap on “Grant”
- Lastly, execute the desired command and check if the ADB Cannot Run as Root in Production Builds is fixed
Aviral Sharma
Aviral Sharma is a talented and passionate writer who has been using words to express his thoughts ever since he learnt how to hold a pen. He is passionate about outer space, history, sports and most importantly technology. Aviral is a regular writer for rootmygalaxy.net and has been getting better by the day.
Все в порядке, но.
Этот текст мало кто будет читать и мы можем написать здесь все, что угодно, например.
Вы живете в неведении. Роботы уже вторглись в нашу жизнь и быстро захватывают мир, но мы встали на светлый путь и боремся за выживание человечества. А если серьезно, то.
В целях обеспечения безопасности сайта от кибератак нам необходимо убедиться, что вы человек. Если данная страница выводится вам часто, есть вероятность, что ваш компьютер заражен или вы используете для доступа IP адрес зараженных компьютеров.
Если это ваш частный компьютер и вы пытаетесь зайти на сайт, например, из дома — мы рекомендуем вам проверить ваш компьютер на наличие вирусов.
Если вы пытаетесь зайти на сайт, например, с работы или открытых сетей — вам необходимо обратиться с системному администратору и сообщить, что о возможном заражении компьютеров в вашей сети.
- © 2005-2023, «4PDA». 4PDA® — зарегистрированный товарный знак.
Получить рута на андроиде без взлома
Пытался понять сам, но очень сложно вычленить из всего кулхацкерского спама какое-то разумное звено. Имеется Xiaomi Mi A2 с Android One 10. Хочу получить root. Ничего взламывать не хочу, какие-то сомнительные программы ставить не хочу. В идеале в меню какой-нибудь пункт нажать, но не нашёл такого пункта. Есть ли такой способ или все способы получения рута это по сути взлом устройства?
В Developer Menu есть пункт OEM unlocking, пока его не нажимал.
В целом вообще не до конца понимаю этой фразы «получить рута». Видел команды, что люди устанавливают su и через неё получают рута, но ведь эта команда будет спрашивать пароль рута. Хотелось бы это тоже понять.
Legioner ★★★★★
25.07.21 17:45:15 MSK
← 1 2 →
Ответ на: комментарий от vitruss 25.07.21 23:35:25 MSK
ifft не смотрел. В принципе уже получил рута, вроде всё получилось, довольно замудрёно, но жить можно.
Legioner ★★★★★
( 25.07.21 23:39:24 MSK ) автор топика
Ответ на: комментарий от Legioner 25.07.21 23:39:24 MSK
Я так долго жил на разных телефонах. Немного в начале напряжно, а потом всё работает как обычно.
vitruss ★★★★
( 25.07.21 23:40:32 MSK )
Ответ на: комментарий от Legioner 25.07.21 23:39:24 MSK
Прочитал в интернете, прога называется ifttt, но она не умеет. Есть tasker, пишут что он может.
vitruss ★★★★
( 25.07.21 23:42:44 MSK )
Ответ на: комментарий от Legioner 25.07.21 22:48:45 MSK

Мне, например, root нужен только в adb
Если рут нужен только в adb, то можно на компе выполнить adb root , и тогда до следующей перезагрузки adb shell будет открывать рутовый шел.
Наличие su отдельной программой, которую можно выполнить из пользовательской сессии adb это потенциальная возможность любому приложению выполнить этот самый su . Или там теперь особый su , который выбирает, для какого приложения работать, а для какого — нет?
i-rinat ★★★★★
( 25.07.21 23:53:14 MSK )
Ответ на: комментарий от i-rinat 25.07.21 23:53:14 MSK
Если рут нужен только в adb, то можно на компе выполнить adb root, и тогда до следующей перезагрузки adb shell будет открывать рутовый шел.
$ ~/apps/android/platform-tools/adb root adbd cannot run as root in production builds
Наличие su отдельной программой, которую можно выполнить из пользовательской сессии adb это потенциальная возможность любому приложению выполнить этот самый su. Или там теперь особый su, который выбирает, для какого приложения работать, а для какого — нет?
Я так понял, он будет спрашивать подтверждение, прежде, чем разрешать приложению выполнять su. Для adb, по крайней мере спросил. Причём я это не заметил, протупил, это подтверждение по таймеру ответило «запретить» и потом я кучу времени потратил, пытаясь понять, как отменить это решение, т.к. он потом запрещал автоматом.
Legioner ★★★★★
( 26.07.21 00:13:44 MSK ) автор топика
Ответ на: комментарий от Legioner 26.07.21 00:13:44 MSK

будет спрашивать подтверждение
Доступ к терминалу есть как минимум, в Termux и ConnectBot. Там можно проверить.
i-rinat ★★★★★
( 26.07.21 00:46:40 MSK )
Ответ на: комментарий от Legioner 25.07.21 23:39:24 MSK
Яхз, я всегда просто анлочил бутлоадер, запускал TWRP с офсайта через fastboot boot и ставил через него zip магиска, скачанный с офсайта.
А, да, до этого я ещё покупал телефон, который поддерживается обоими проектами.
izzholtik ★★★
( 26.07.21 02:01:54 MSK )
В каких-то древних версиях андроида просто закидывали бинарник и ставили suid, но то было чуть ли не на 1.х. Сейчас там своя особая магия.
izzholtik ★★★
( 26.07.21 02:03:28 MSK )
Ответ на: комментарий от izzholtik 26.07.21 02:01:54 MSK

x86- ★
( 26.07.21 04:12:24 MSK )
Ответ на: комментарий от Solonix 25.07.21 20:49:53 MSK

У некоторых банков прям в договоре есть.
Что если ты возильщик с рутом, то если деньги стырят, то сам виноват.
fornlr ★★★★★
( 26.07.21 06:08:27 MSK )
Ответ на: комментарий от SR_team 25.07.21 22:39:55 MSK
Некоторые bootloader-ы перестают работать нормально после прошивки recovery
magisk не нужен имхо
nanosecond ★
( 26.07.21 17:37:02 MSK )
Ответ на: комментарий от nanosecond 26.07.21 17:37:02 MSK
Шей от своего девайса, или шей только бут с Magisk, или просто загрузись с нужным boot не сохраняя его на телефон — после перезагрузки бут будет из оригинальной прошивки
SR_team ★★★★★
( 26.07.21 17:53:40 MSK )
Ответ на: комментарий от Legioner 25.07.21 18:12:30 MSK
А в целом я не очень понимаю, почему на моём устройстве я не имею полных прав, меня это чисто эстетически раздражает.
Ты затрешь системные программы и побежишь в гарантийку восстанавливать. Им эти расходы нужны?
anonymous
( 26.07.21 18:07:00 MSK )
Ответ на: комментарий от SR_team 26.07.21 17:53:40 MSK
Режим прошивалки от вендора на некоторых устройствах, если изменить recovery и он вдруг сломается то прошить recovery не из recovery проблематично будет, так просто сообщаю, а то вдруг,
т.е. то что запускает fastboot сломается,
подобное может быть и с другими разделами, файлами, аппаратными модулями и т.д.
Наличие recovery для конкретного аппарата ничего не гарантирует, та же lineage есть для устройств к которым нет человеческой разблокировки boot.
Не знаю зачем boot раздел, там вроде ядро, смысл его менять не понимаю, особенно какими-то патчами magisk, которые мне лень искать по бесполезным смузи-иличтотам-форумам где даже кода ни к чему нет.
Я для себя сделал вывод, это все равно что в жопе копаться, не благодарное дело быть рабом жопы, если не умеешь это все месить
nanosecond ★
( 26.07.21 20:13:50 MSK )
Ответ на: комментарий от SR_team 26.07.21 17:53:40 MSK
А понял мы про разное просто
nanosecond ★
( 26.07.21 20:17:31 MSK )
Ответ на: комментарий от anonymous 26.07.21 18:07:00 MSK
Ты и винду на ноуте можешь поломать и не знать как самостоятельно восстановить/переустановить. На это просто не дают гарантию и все, с телефонами можно делать так же
SR_team ★★★★★
( 26.07.21 20:26:54 MSK )
Последнее исправление: SR_team 26.07.21 20:27:05 MSK (всего исправлений: 1)
Ответ на: комментарий от Solonix 25.07.21 20:49:53 MSK

Большому зелёному не пофиг даже на MyPhoneExplorer.
Про production build и root. Часть 1.

В сети легко найти как получить рут доступ для почти любого устройства на Android. Программы для этого и методики отличаются, но вариант всегда есть. Большинство, получив рут, даже не задумываются о том, как он был получен. Я не смогу рассказать про все способы и как они работают. Но я смогу рассказать про одну интересную вещь, которая связана с получение root доступа.
Я предполагаю, что читатели хотя бы поверхностно знаю об утилите для Android — ADB. Если кто-то еще не слышал, можете легко поиском найти что это такое. Это утилита для отладки устройств. С её помощью можно получить доступ к командной строке (shell) устройства на Android, передавать и принимать файлы и делать много интересных вещей. В большинстве скриптов для получения рута или всяких модов для вашего устройства так или иначе используется ADB.
У ADB есть команда root. Она должна перевести режим работы в root доступ. Казалось бы так можно элементарно получить рут на любом устройстве. Но работает она не всегда. Часто, даже на устройстве с уже полученными root правами при попытке выполнить «adb root» можно получить следующую ошибку:
adb cannot run as root in production builds
Что значит, что ADB не будет запускаться из-под root’а в продакшен (финальном) билде (речь о прошивке). Если у вас есть рут, вы можете и без этого зайти в шелл (adb shell), и уже там получить root права, набрав su. При этом adb root упорно не будет работать, сетуя на продакшен билд.
Сделано это конечно же специально, чтобы не дать получить root на реальных устройствах для конечных пользователей. С другой стороны некоторые прошивки без проблем дают выполнить эту команду или даже скажут, что ADB уже работает от root’а, если в них это разрешено.
Раз работает по разному в разных прошивках, догадливый читатель поймет, что это может регулироваться какой-то настройкой. И если эту настройку сменить, то можно будет получить root просто через adb root. Конечно же так и есть. Но конечно же эта настройка храниться в «недрах» прошивки и просто так её поменять не дадут. Во всяком случае в современных прошивках без наличия root прав заранее точно не получится «на лету».
Настройки эти являются обычными свойствами (prop), навроде тех, что хранятся в build.prop. Называются ro.debuggable и ro.secure. Только хранятся они в /default.prop. Т.е. в отличии от build.prop, которых хранится в /system, эти хранятся прямо в корне. Проблема в том, что даже если при наличии root прав отредактировать этот файл, то изменения не вступят в силу, а после перезагрузки содержимое файла вернется назад.
Дело в том, что default.prop, как и вся корневая файловая система в Android не является обычной. Это специально подготовленный образ ramdisk. Т.е. он загружается из прошивки в память (ОЗУ) и все изменения происходят только в памяти. Следовательно после перезагрузки все изменения теряются. Для их редактирования нужно снять образ раздела BOOT, распаковать его, достать оттуда образ ramdisk’а (initramfs) и отредактировать в нём default.prop. Далее проделать всё в обратном порядке. Но как записать данные назад, если нет доступа? Хорошо, если root у нас уже есть и мы просто хотим напрямую разрешить adb root по каким-то причинам. А если root еще нет? Получается проблема — чтобы получить root, нужно иметь root.
Чтобы статья не получилась слишком длинная, я разбил её на две части. Продолжение о том, как можно обойти это дело вы сможете прочитать в следующей части.