【发布时间】:2015-04-23 15:17:46
【问题描述】:
我正在使用 Eclipse 和 NDK 将我的 C++ 应用程序移植到 Android。在 Linux 上,它是您在 shell 中使用参数调用以执行任务的应用程序,不提供 GUI,它只是一个命令行界面。目前,我已经在 java 中添加了一个非常基本的 GUI 包装器,它封装了传递给 NDK 中移植的 C++ 代码的参数规范,但是,我还希望有一个可以在我 ssh 进入我的 android 手机时调用的应用程序.
在 Android 上,我看到某些应用程序可以从 shell 启动。例如,从 Google Play 商店安装的SSH Droid,除了它的 GUI 之外,还有一个 shell 可调用版本。我在路径名 /data/data/berserker.android.apps.sshdroid/dropbear/ssh 下看到了这个,而它的 APK 位于 /data/app/berserker.android.apps.sshdroid-1.apk。对于我的 APK,我在 /data/data/com.mydomain.myapp-37.apk 中找不到可执行文件,只有目录 cache、files 和 lib。
使用 Eclipse,如何将本机可执行二进制文件打包到我的应用程序的 APK 存档中?一旦出现在我的 APK 中,我如何在安装中自动提取和设置可执行权限,以便我可以通过 shell 启动它?看来 SSH Droid 已经完成了这两件事,我也想这样做。有没有一个简单的例子说明这是如何完成的?
我什至需要一个 apk,我能以某种方式创建一个更符合我现有 Linux 端口版本的命令行界面可执行文件吗?
如何为 shell CLI 指定参数?您是否像在 C++ 应用程序中一样使用 argc 和 argv?
【问题讨论】:
标签: c++ shell android-ndk apk-expansion-files dropbear