用cygwin把C文件编译成so文件:
1:首先,要准备好一个jni文件夹,里面包含三个文件:
makefile文件:
LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:=test-jni
LOCAL_SRC_FILES := test-jni.c
include $(BUILD_SHARED_LIBRARY)
如果有多个文件,可能有所不同吧,尚未尝试。
源文件:根据头文件,完善源码。
2:将jni文件夹拷贝到Android项目目录下
3:运行cygwin,使用CD命令,切换目录到Android项目目录
4:输入命令 $NDK/ndk-build,屏幕显示如下:
$ $NDK/ndk-build
Cygwin : Generating dependency file converter script
Compile thumb : test-jni <= test-jni.c
SharedLibrary : libtest-jni.so
Install : libtest-jni.so =>libs/armeabi/libtest-jni.so
表示生成成功。
1)首先创建HelloWorld.java文件:
class HelloWorld{
public native void hello()//创建一个native函数,需要用C实现
static{
System.loadLibrary("hello") //这里加载的库是hello.so或者hello.dll等,我们使用.so
}
public static void main(String[] args)
{
new HelloWorld().hello()
}
}
2)将上述文件保存为HelloWorld.java
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)