Android,Java,运行可执行资源

时间:2014-12-15 10:51:03

标签: android android-ndk apk

环境

  • Windows(x64)主机
  • Android 5.0 USB连接到Windows机器
  • Un-rooted 三星Galaxy 5

用例

  • Java APK应用程序
  • 原生C ++可执行文件打包为APK
  • 的原始资源部分
  • 启动时,可执行文件被〜解压缩到临时文件夹,执行

问题/讨论

Android操作系统是否支持上述用例?

据我所知,正在运行的应用程序无法访问'/ data / local / tmp'(但是对于shell和root),是否存在可以提取文件并执行的目录? (dir必须具有执行权)

实现上述目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

是的,你可以这样做。您需要确保本机可执行文件适用于适当的目标体系结构(通常是某种类型的ARM处理器)。

但是你不应该把它提取到/data/local/tmp。您需要将其解压缩到/data/data/application.package.name/lib,这是您的应用具有读/写权限的目录。

还有更多详情in this question and its accepted answer。如果您将其命名为库文件而不是独立的可执行文件,则看起来您可以自动为您提取可执行文件。