【发布时间】:2018-08-20 12:31:48
【问题描述】:
我有一个 android_library.aar 文件,其中包含 library.so 以及一些其他资源和 java 文件。
我将 android_library.aar 导入到我的项目中。我的项目使用带有 NDK 的 c++ 代码。我的问题是我无法用 CMake 编译依赖于 library.so 的 C++ 代码。如何在 CMake 编译之前从 aar 中提取 library.so?我想直接将 library.so 包含到我的 C++ 代码中,而不需要 java。我知道如何在项目中包含 .so,但我不知道如何从 aar 内部进行。
【问题讨论】:
-
确实非常好! 我相信 gradle 如果 .aar 确实会提取 .so 文件 是一个依赖项。
-
我是这么认为的。但它不会在 cmake 构建之前提取。我不知道为什么。我搜索了一下,没有找到比这个方法更简单的答案。
-
...但在您的解决方案中,aar 并未声明为项目的依赖项,是吗?
-
它还必须将库声明为依赖项。由于库的 Java 部分。我不太了解依赖 decleration 是否也会影响 JNI 部分。
标签: android c++ android-ndk java-native-interface aar