【问题标题】:Android Studio use native executable and ship them inside the apkAndroid Studio 使用本机可执行文件并将它们发送到 apk 中
【发布时间】:2017-06-07 16:46:07
【问题描述】:

我正在尝试在我的应用程序中使用一些可执行文件。这个可执行文件是基于 C++ 的(以图像和日志作为输出),可能有其他方法可以使用 C++ 代码,但在这个特定的上下文中,最好将它用作只需要参数的可执行文件。 (NDK f.e. 对使用的库会有太多变化,我希望有一天可能有一种方法可以并行化这个过程)

我的研究表明,其他一些人也在寻找类似的问题。似乎最好的方法是将这些外部程序添加到资产文件夹(app/src/main/assets)中。这就是我所做的,但现在我不太确定如何在资产文件夹中获取我的数据。一些帖子说必须将这些文件提取到另一个文件夹中才能正常工作。

所以我尝试了这个方法: How to copy files from 'assets' folder to sdcard?(结果:应用关闭)

我想添加一些代码,但目前没有太多。正如我已经告诉我的可执行文件应该在资产内,它的名字是 f.e. exec,我也将它命名为 libexec.so,因为我在某处读到您必须将这些文件命名为 lib"...".so 才能将它们提取出来。一般来说,我的目标是使用这个可执行文件,如: data/exec

现在回答我的问题:

  1. 如何访问我的资产文件?
  2. 或者我应该使用另一个文件夹而不是资产,它会更容易使用吗?我怎样才能在那里添加一个外部可执行文件?

【问题讨论】:

    标签: android c++ android-studio assets


    【解决方案1】:

    一段时间后,我设法完成了它: https://github.com/flipagram/android-assetcopier

    我只需要改变一些东西: 示例是: File destDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);

    我已将其更改为:File destDir = (MainActivity.this).getFilesDir(); - 所以权限没有问题(我猜)。

    但请注意:复制成功,但我没有成功运行程序。也许整个过程会被安全管理器杀死,或者其他什么都行不通。

    【讨论】:

      猜你喜欢
      • 2014-06-12
      • 2011-10-23
      • 1970-01-01
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多