【问题标题】:Can I bundle a binary utility and call it from app?我可以捆绑一个二进制实用程序并从应用程序调用它吗?
【发布时间】:2011-11-09 15:34:44
【问题描述】:

是否可以创建应用程序并从中调用命令行实用程序(与应用程序捆绑在一起),就像在 linux 中使用桌面应用程序一样?

例子:

我的应用程序想要加载一些文件,但需要对其进行转换,因此首先它使用命令行调用实用程序(如“jpgconv -r -t image.png”)来创建转换后的副本。在 Android 上技术上可行吗?

【问题讨论】:

    标签: android command-line


    【解决方案1】:

    您要做的基本上是从您的应用程序中调用 Android shell 并将其传递给二进制文件。

    Android 的 shell 似乎不接受 Intent,在这种情况下这是不可能的,而且无论如何它都受到严重限制,这就是为什么大多数需要 shell 的用户(这是 Android 用户的一小部分)安装单独的 shell应用程序,并适当地调整其文件系统。

    但是,您可以尝试使用 NDK 嵌入二进制文件,因为例如 BusyBox 是直接 C。

    【讨论】:

    • thx Kheldar,我有兴趣运行一个开源实用程序(如控制台命令),除了命令参数外,没有直接传递任何数据,只是存储中的一些文件由实用程序处理/创建.我认为 GPL 允许将实用程序与我的应用程序一起分发,但我必须通过命令行调用它才能完成许可证。为什么要谈论意图? (抱歉,我是 Android 开发新手)
    • Intents 是 Android 程序相互通信的方式(甚至是程序内部的活动)。如果您是 Android 新手,您应该阅读编写良好的 Android 文档 developer.android.com/guide/basics/what-is-android.html ,它包含您需要的一切来加快速度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 2014-08-26
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    相关资源
    最近更新 更多