【问题标题】:how to link .so files from local aar module in android to application android.mk file如何将 .so 文件从 android 中的本地 aar 模块链接到应用程序 android.mk 文件
【发布时间】:2019-04-13 18:42:45
【问题描述】:

我的项目依赖如下

应用程序 -> lib1 -> lib2

lib1 的 gradle 依赖如下所示

依赖{ implementation project(':lib2') // 因为这个库源在本地可用 }

lib1 中的一些本机文件正在使用 lib2 中的函数。

问题: gradle build 失败,在 lib1 中链接 lib2 时未定义对 lib2 中函数的引用。

我提到了https://developers.google.com/ar/develop/c/enable-arcore,但我的 gradle 构建失败了,因为我的库项目源在本地可用。

【问题讨论】:

  • 引用一些网站是不够的。那些 3 build.gradle 将允许理解问题。 Android.mk 也提示 android.useDeprecatedNdk=true。最好改用cmake

标签: android aar


【解决方案1】:

一个本地库依赖于同一项目中的另一个本地库,这可能是这些问题的根本原因。合并这两个库可能是摆脱这些跨模块依赖所产生的情况的最简单方法……它们在最终包中只能存在一次。

【讨论】:

  • 如何合并两个库?
  • 只需将其中一个的代码放入另一个...使用 IDE 重构很容易。这消除了可能存在的任何跨模块依赖关系 - 并完全规避了您面临的问题。你仍然可以将它们组织成两个包,但它们必须在同一个模块中。
猜你喜欢
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-07
  • 2014-01-29
相关资源
最近更新 更多