Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ADB root is not working on emulator (cannot run as root in production builds)

I have just updated emulator 26.0.3, now I cannot run adb root command for new created emulator.

the error shown is below:

adbd cannot run as root in production builds

I have killed and restart adbd like:

adb kill-server adb devices 

Nothing helps, any ideas?


I am not sure what is the difference and how to select different build but, if following settings are enabled while creating, then it has root.enter image description here

like image 642
guness Avatar asked May 11 '17 19:05

guness


People also ask

How do I enable root on ADB?

So to enable the adb root command on your otherwise rooted device just add the ro. debuggable=1 line to /system/build. prop file. If you want adb shell to start as root by default - then add ro.

Is root required for ADB?

You don't need to be rooted to use ADB, all android phones can use ADB without being rooted. You must be rooted to push applications to /system/apps/ to make them system applications.

How to fix ADB cannot run in production builds?

Ever been using adb and tried to "adb root" but come up with the error "adbd cannot run in production builds"? NOTE: this will be a tool in the future, it will be for windows and linux. Step 1. Decompile the kernel (not gonna go into detail) Step 2. In the root of the decompiled files find default.prop Step 3.

Why can't I install adbd on my rooted phone?

The problem is that, even though your phone is rooted, the 'adbd' server on the phone does not use root permissions. You can try to bypass these checks or install a different adbd on your phone or install a custom kernel/distribution that includes a patched adbd.

Why can’t I Root my Emulator?

You are using the wrong emulator image if you want root access. As the error message states, root is not allowed in production builds, use an userdebug build instead. I have just created an emulator from Android Studio menu, just as I did before.

How do I enable root access on my Android TV emulator?

To enable root access: Pick an emulator system image that is NOT labelled "Google Play". (The label text and other UI details vary by Android Studio version.) Exception: As of 2020-10-08, the Release R "Android TV" system image will not run as root. Workaround: Use the Release Q (API level 29) Android TV system image instead.


1 Answers

To enable root access: Pick an emulator system image that is NOT labelled "Google Play". (The label text and other UI details vary by Android Studio version.)

Exception: As of 2020-10-08, the Release R "Android TV" system image will not run as root. Workaround: Use the Release Q (API level 29) Android TV system image instead.

Test it: Launch the emulator, then run adb root. It should say

  • restarting adbd as root

or

  • adbd is already running as root

not

  • adbd cannot run as root in production builds

Alternate test: Run adb shell, and if the prompt ends with $, run su. It should show a # prompt.

Steps: To install and use an emulator image that can run as root:

  1. In Android Studio, use the menu command Tools > AVD Manager.
  2. Click the + Create Virtual Device... button.
  3. Select the virtual Hardware, and click Next.
  4. Select a System Image.
    • Pick any image that does NOT say "(Google Play)" in the Target column.
    • If you depend on Google APIs (Google Sign In, Google Fit, etc.), pick an image marked with "(Google APIs)".
    • You might have to switch from the "Recommended" group to the "x86 Images" or "Other Images" group to find one.
  5. Click the Download button if needed.
  6. Finish creating your new AVD.
    • Tip: Start the AVD Name with the API level number so the list of Virtual Devices will sort by API level.
  7. Launch your new AVD. (You can click the green "play" triangle in the AVD window.

[Credit belongs to @Merk but this should be posted as an answer rather than a comment.]

like image 70
Jerry101 Avatar answered Sep 19 '22 06:09

Jerry101