如何使用Android Studio链接ndk模块

时间:2017-04-29 00:44:17

标签: android-studio android-ndk

我有一个Android Studio项目,我已经添加了一个ndk模块。我的ndk模块在各种构建/中间目录中构建并创建了许多不同的.so文件。但是,当我运行应用程序时,它无法从我的System.loadLibrary调用中加载库.so。

我在同一个模块中包含的Java文件很好,所以我希望Android Studio能够“找到”ndk文件。

在查看google hello-libs demo时,我看到他们在CMakeLists.txt文件中添加了一个步骤来设置LIBRARY_OUTPUT_DIRECTORY:

set(distribution_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../distribution) set_target_properties(gperf PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${distribution_DIR}/gperf/lib/${ANDROID_ABI}")

然后在app中添加了一个关联的引用:build.gradle

jniLibs.srcDirs = ['../distribution/gperf/lib']

向我的项目添加类似的条目使其能够正常运行。

是否有更简单的方法可以将ndk编译模块包含在主应用程序中?如果没有,有没有办法做到这一点,而不必弄清楚所有相对../../路径元素。我想我希望模块CMakeLists.txt会 相同的配置,无论它可能包含哪些其他项目,但必须知道包括项目在哪里,似乎打破了这一点。

0 个答案:

没有答案