希望得到" 无效 "一词来源的基础知识,以及为什么它被称为无效.这个问题的目的是帮助那些没有C经验的人,并突然看到一个基于C的代码库.
我有.so(共享库)用C++编写,让我们称之为function.so,其中我实现了不同的函数,这里是一些函数的列表:
1. unsigned long Initialize(void* userData);
2. unsigned long Uninitialize(void);
3. unsigned long DeviceOpen( unsigned long id, unsigned long* device);
4. unsigned long DeviceClose( unsigned long device );
Run Code Online (Sandbox Code Playgroud)
等等 ...
我想在我的java应用程序中使用这个库的(functional.so)功能.为此我在我的android应用程序项目文件夹中创建jni文件夹并放置文件:
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Test_library
LOCAL_SRC_FILES := Test_library.c
## Linking functionality library
LOCAL_LDLIBS := -lfunctionality
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)Test_library.c
#include <string.h>
#include <jni.h>
#include "Test_library.h"
jint Java_com_Dsm_Test_DsmLibraryTest_vtUninitialize(JNIEnv* env, jobject thiz) {
return Uninitialize( );
}
jint Java_com_Dsm_Test_DsmLibraryTest_vtDeviceClose(JNIEnv* env, jobject …Run Code Online (Sandbox Code Playgroud)