我有一个部分扎根的Android设备。所谓部分root,是指我只能通过ADB运行root命令。我已经想出了如何在设备本身的终端模拟器中本地运行这些命令。我的问题是,我将如何着手编写Android应用程序的代码,从按钮按钮执行一个ADB命令(或多个命令)?我找不到任何解释如何通过应用程序界面运行直接ADB命令的东西。只是为了澄清,任何涉及“su”的东西都不会在这个设备上工作。它只接受ADB输入进行根访问。
不确定它是否适用于Android,但您是否尝试过:
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("adb do something as root");
如果您提供了更多关于您需要以这种方式使用adb的信息,那么可能会有更好的解决方法。这是非常不可能的,你们真的需要在应用程序中的这种行为,我相信这将是普遍不赞成的。听起来你希望你的应用程序有根,但这似乎是一个非常不可移植和不必要的方法。
问题内容: 我正在使用的程序使用ADB(Android调试桥)将文件发送到手机: 我希望程序等待ADB完成传输,但是ADB作为守护程序运行,因此永远无法完成。但是该程序仍在继续运行,并且某种程度上文件没有发送到我的手机(日志中没有例外)。当我从控制台运行命令时,它可以正常工作。 我究竟做错了什么?如何正确通过ADB发送文件? 注意:这将不起作用,因为ADB守护程序会将 所有输出 写入系统标准输出。
例如,我想执行本教程中的这个命令: 我怎么做?我在哪里输入命令?我试着把它输入终端,但它说“$”是无法识别的。 我也尝试删除'$',但它接着说“'ADB'不被识别为内部或外部命令、可操作程序或批处理文件。”
有没有人能说,是否可以通过我的android应用程序执行< code>adb命令。如果有可能执行,如何实现?
问题内容: 在Windows上制作mysqldump非常简单,只需: 打开并放入mysqldump uroot ppassword数据库> c:/data.sql 这将为所需的数据库生成一个SQL转储文件。 我正在编写一个控制台应用程序,因此我可以运行以下命令: 我尝试以下代码无济于事: 如何启动进程并成功发送命令? 问题答案: 为什么不直接调用mysqldump是有原因的? 如果 是 有原因的,
问题内容: 如何通过android app向终端发送命令并获取输出?例如,发送“ ls /”并获取输出以在GUI中将其打印出来? 问题答案: 您必须使用反射来调用android.os.Exec.createSubprocess():
我曾试图关闭android应用程序使用adb命令和appium服务器,但它是最小化应用程序,而不是关闭。我用下面的命令关闭。 adb shell am force-stop com.package.name 如果我尝试这个命令杀死进程,它会说,