Android: 运行 非 root 设备上的脚本

Android: run a script on non-rooted device

我可以 运行 我的二进制可执行文件或脚本 bash 文件在非根设备上吗? 我有一个像这样的小脚本:

#helloworld.sh
echo "hello world"

我将其保存在 /sdcard 中并尝试 运行,但我得到了 "Permission denied"。我研究过,原因是 SDCard 的执行权限被阻止了。

可以运行吗?如果没有 SU 命令,我该怎么做?我认为如果能以某种方式执行任何脚本文件是非常有帮助的。

在非 root 设备上,您可以在 SDcard 上使用 sh 命令 运行 脚本:

    adb shell sh path_to_script_on_sdcard/script.sh

哦,我可以 运行 我的脚本无需 SU 许可,只需使用 sh 命令:

$ cd /sdcard
$ sh helloworld.sh
hello world

我认为我们不能对二进制可执行文件做同样的事情。

对于 shell 脚本,您可以在 phone 中设置 Termux or Terminal Emulator,为其启用存储权限,启动它,然后 运行 脚本如下:

sh PATH_TO_FILE

将PATH替换为/sdcard下的文件路径。它应该工作。

为了 运行 一个兼容的二进制文件,使用以下方法将文件从 sdcard 移动到 Termux 的主页:

mv PATH_TO_FILE $HOME

然后验证并启用(如有必要,使用 chmod +x $HOME/FILENAME)对该移动的文件及其 运行 的可执行权限。