我现在已经挣扎了好几天了.目前我只是用一个简单的C项目(1 .h& 1 .cpp文件)和一个简约的应用程序来测试它,包括ndk helloJNI示例代码(它很容易完美地工作):
目标
将现有的C/C++文件(项目)导入Android Studio
途径
在尝试了一些(几十种)不同的可能性后,我认为/认为以下步骤将是我的目的的最佳解决方案:
>从Visual Studios 2015创建共享库(Calculator.so)“为Android创建共享库”(或其他)[成功]
>在src / main /中创建jniLibs文件夹及其子文件夹(x86是我的相关文件夹)
>在src / main / jniLibs中添加Android.mk文件,该文件必须放在那里(?)
>包含语句:System.loadLibrary(“Calculator”),MainActivity中没有“lib”和“.so”
该库在Android Studio的jniLibs文件夹中列出,就像Android.mk一样.此外,如果我构建apk,库成功打包(通过解压缩验证),我不会得到任何错误.
但是:我怎样才能调用库中的方法?我尝试了其他线程中提供的不同解决方案,但我想我错过了我的.mk或我上面描述的步骤.
试着
>不同的#include< myLib> native-lib.cpp中的语句,如s
>不同的Android.mk设置(但我是新手制作文件所以甚至教程都没有帮助我解决我的具体问题:):)
> libCalculator.so的其他位置,如子文件夹x86中
>和许多其他人 – 根本不提醒atm(wasntme)
非常感谢您的帮助!
Android.mk
LOCAL_PATH := $(call my-dir)
APP_ABI := x86
# library info
include $(CLEAR_VARS)
LOCAL_MODULE := Calculator
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/Calculator.so
LOCAL_EXPORT_C_INCLUDES := ..../Visual Studio 2015/Projects/SO_Library/SO_Library
include $(BUILD_SHARED_LIBRARY)