如何在没有 root 的情况下从我的应用程序调用 Smartbear ssh?
How do I invoke Smartbear ssh from my application without root?
我正在尝试通过 popen()
从我的 C++ NDK 应用程序调用 ssh
执行 ssh
的命令,该命令在其他平台上运行良好。在 Android 读取管道时出现错误:
sh: ssh: not found
因此,我使用了我安装的Smartbear的完整路径ssh
,但仍然失败:
sh: /data/data/berserker.android.apps.sshdroid/dropbear/ssh: not found
然后我尝试从 ADB shell,但该命令仅在我先 su
到 root
时才有效。所以我想我没有权限查看安装了 ssh
的文件系统。我的应用程序可以请求 su
权限吗?如果可以,api 是什么,这会解决调用 ssh
的失败吗?
我应该如何通过 popen()
从我的应用程序中调用 ssh
?我如何控制权限以及我能否以某种方式将 ssh
放入 PATH
?我可以用不同的方式安装 Smartbear,这样就不需要 root 来访问 ssh
?
简而言之:如果您看到此错误,则不能。
除非应用 B 明确允许(通过 https://developer.android.com/training/secure-file-sharing/index.html),否则应用 A 无法访问应用 B 的数据。
我正在尝试通过 popen()
从我的 C++ NDK 应用程序调用 ssh
执行 ssh
的命令,该命令在其他平台上运行良好。在 Android 读取管道时出现错误:
sh: ssh: not found
因此,我使用了我安装的Smartbear的完整路径ssh
,但仍然失败:
sh: /data/data/berserker.android.apps.sshdroid/dropbear/ssh: not found
然后我尝试从 ADB shell,但该命令仅在我先 su
到 root
时才有效。所以我想我没有权限查看安装了 ssh
的文件系统。我的应用程序可以请求 su
权限吗?如果可以,api 是什么,这会解决调用 ssh
的失败吗?
我应该如何通过 popen()
从我的应用程序中调用 ssh
?我如何控制权限以及我能否以某种方式将 ssh
放入 PATH
?我可以用不同的方式安装 Smartbear,这样就不需要 root 来访问 ssh
?
简而言之:如果您看到此错误,则不能。
除非应用 B 明确允许(通过 https://developer.android.com/training/secure-file-sharing/index.html),否则应用 A 无法访问应用 B 的数据。