我在Android代码中使用NDK。我有一个预构建的.so文件,其中包含一个C库,它是我的Android项目的依赖项。我还有一个单独的包装器文件,它使用JNI与我的主Java代码进行通信。我计划将它放在自己的.so文件中,以便我可以本地调试它。这是包装代码-JWrapp.c:
LOCAL_PATH := $(call my-dir)
LOCAL_SHARED_LIBRARIES := libOpenVokaturi.so
LOCAL_MODULE_FILENAME := Jwrapp
LOCAL_SRC_FILES := JWrapp.c
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
include $(PREBUILT_SHARED_LIBRARY)
这是我的Android.mk:
NDK_TOOLCHAIN_VERSION=4.9
APP_PLATFORM := android-23
APP_ABI := armeabi armeabi-v7a
这是我的Application.mk:
<property name="filterChainDefinitions"></property>
当我构建apk并在我的设备上测试它时,该项目编译良好并且运行良好。但是当我尝试加载libJWrapp.so时,它没有工作并且给我一个错误,说它根本找不到。我也没有在项目视图的libs列表中注意到它。即使在使用Make Project之后,它仍然不会生成libJWrapp.so文件。如何让Android Studio正确编译和构建.so。