【问题标题】:How to include additional files in APK?如何在 APK 中包含其他文件?
【发布时间】:2015-07-28 02:49:46
【问题描述】:

我有我想要动态加载(使用 fopen)的 opengl 着色器文件。如何将这些文件打包到 APK 中?

我在 gradle 中试过这个(假设我的着色器文件 extn 是 glsh):

{
    ....
    dependencies {
        compile fileTree(dir: <shader file path>, include: '*.glsh')
    }
}

这不起作用。还尝试了“文件”依赖项,但我收到错误消息说只支持“jar”。

我正在使用 Android Studio。请任何人帮忙。

【问题讨论】:

  • 放入assets文件夹
  • 你让它工作了吗?我遇到了完全相同的问题
  • 是的,我通过将东西放在资产文件夹中使其工作。使用 AssetManager。

标签: android build gradle dependencies apk


【解决方案1】:

您可以将文件放入assets 文件夹(如果不存在,则与res 文件夹处于同一级别)并通过runtime 从中读取它们。

【讨论】:

  • 我试过了。就我而言,这将是一个问题。我的代码在 JNI 中,我需要将资源管理器从 java 传递给 jni 并使用 AAssetManager_fromJava。那么我的代码就不会干净了。相反,我只是简单地从当前路径加载一个文件。
  • @raknas 如果您在首次启动应用程序时将文件从资产复制到设备一次,该怎么办。在这种情况下,您不需要资产管理器实例。
  • 如果我需要做一次,我可以一直做。但正如我所说 - 在我的库模块中不太适合。从应用程序活动中,我需要将 ResourceManager 传递给我的库 Initializer,然后将其传递给 JNI 层。我试过了,它有效。但我更希望以更简洁的方式打包它——比如打包“.so”文件。
猜你喜欢
  • 2018-05-22
  • 2021-11-09
  • 1970-01-01
  • 2019-10-09
  • 2021-12-22
  • 2011-06-24
  • 1970-01-01
  • 2016-11-26
相关资源
最近更新 更多