无论我在"adb shell"之后键入什么,它都会失败Permission denied:
D:\android-sdk-windows\platform-tools>adb shell find /data -name *.db
find: permission denied
D:\android-sdk-windows\platform-tools>adb shell test
test: permission denied
D:\android-sdk-windows\platform-tools>adb remount
remount failed: No such file or directory
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
所以,我正在尝试将一些文件推送到Android设备上的/ system(zte)我已经扎根,与ADB连接,
adb remount - >我得到权限否认adb shell su - >我能够访问shell并创建文件夹等并编辑文件系统
(但在shell中我无法将文件从我的计算机复制到设备)
请帮忙
在我的设备生根后,我需要运行adb root然后adb shell我才能访问我的应用程序数据库.在尝试运行时,adb root我不断得到"adbd无法在生产版本中以root身份运行".为什么是这样?唯一的另一个选择是使用Android模拟器进行测试,但我们都知道模拟器有多糟糕(不是真正可行的开发解决方案).
我已经创建了一个脚本来安装分区并在我的Android系统中执行一些操作.我将脚本保存为Android的/ bin文件夹中的install.sh.
我想从ADB调用脚本,它本身是从Windows上的批处理文件调用的,但它需要以root身份执行.
我尝试的第一个解决方案是使用调用脚本
adb shell "su -c sh /bin/script.sh"
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为它给我一个shell访问权限(具有root权限),但没有执行任何操作.我也试着打电话
adb root "sh /bin/script.sh"
Run Code Online (Sandbox Code Playgroud)
但我得到以下错误
adbd cannot run as root in production builds
Run Code Online (Sandbox Code Playgroud)
然后我试着写
su -c "command"
Run Code Online (Sandbox Code Playgroud)
对于我的脚本中需要root访问权限的所有命令,但我遇到了同样的问题.当我运行脚本时,我只获得了一个root shell,并且没有执行任何操作.
如果我手动使用第一个解决方案(例如我调用adb shell su,然后是我的脚本),它就可以了.但是,重点是自动化该过程,以便可以从另一个脚本调用adb shell.
你知道我怎么能做到这一点吗?
谢谢 !
我有一个基于Android的手机(2.3.6),具有未锁定的root权限.由于我想通过我的电脑访问我的手机,今天我已经安装了QtAdb和Android SDK.如果我打开命令提示符,我这样做
adb shell su
我明白了
#
所以我能够复制,删除,推送手机上的文件(在手机上我使用应用程序"SuperSU"收到通知.)
但是,如果我在Windows 7下启动QtAdb,我会收到以下错误:"adbd无法在生产版本中以root身份运行".我想念什么?QtAdb出了什么问题?
我正在使用 adb(Android 调试桥)并在 Genymotion 模拟器中使用 shell(我在本问题末尾提到了所有配置)。
我执行“adb shell”并成功获取 shell,但问题是我获得了模拟器的 root 访问权限。我不需要 root shell,我想要普通的 shell,就像我们在通过 USB 连接的实际设备上执行“adb shell”时得到的那样。如何实现呢?
任何帮助将不胜感激。
Ubuntu 13.10,32 位。
带 ADT 的 Eclipse 4.2。
Genymotion Emulator(具体来说,我这里使用的是Android 4.3)。
我正在尝试adb root在模拟器上运行命令;这是我连接的唯一设备:
$ adb devices
List of devices attached
emulator-5554 device
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误消息:
$ adb root
adbd cannot run as root in production builds
Run Code Online (Sandbox Code Playgroud)
我试过按照这个答案,adb shell su 工作但 adb root 没有,以解决我的问题:
通过设计 adb root 命令仅适用于开发版本(即默认情况下具有 ro.debuggable=1 的 eng 和 userdebug)。或者,您可以使用修改后的 adbd 二进制文件(不检查 ro.debuggable)
但是,我不清楚如何将构建更改为开发构建而不是生产构建?
更新 我发现了一些额外的说明,这让我相信要使其工作,您需要使您的模拟器成为“可写系统”(参见如何在模拟器可写的 AVD 中制作系统分区)。但是,如果我尝试
$ emulator -avd Nexus_5X_API_28 -writable-system
emulator: WARNING: System image is writable
emulator: ERROR: Running multiple emulators with the same AVD is an experimental feature.
Please use -read-only …Run Code Online (Sandbox Code Playgroud)