Android.mk,负责配置如下内容:
(1) 模块名(LOCAL_MODULE)
(2) 需要编译的源文件(LOCAL_SRC_FILES)
(3) 依赖的第三方库(LOCAL_STATIC_LIBRARIES,LOCAL_SHARED_LIBRARIES)
(4) 编译/链接选项(LOCAL_LDLIBS、LOCAL_CFLAGS)
Application.mk,负责配置如下内容:
(1) 目标平台的ABI类型(默认值:armeabi)(APP_ABI)
(2) Toolchains(默认值:GCC 4.8)
(3) C++标准库类型(默认值:system)(APP_STL)
(4) release/debug模式(默认值:release)
由此我们可以看到,本文所涉及的编译选项在Android.mk和Application.mk中均有出现,下面我们将一个个详细介绍。
Android1、下载NDK,并在Eclipse中配置路径:2、创建一个Android工程hellojni。右键工程,选择AddNativeSupport自动生成C/C++工程:3、修改C/C++代码,配置一下Android.mk:4、点击保存就会自动生成动态链接库libhellojni.so。也可以通过命令ndk-build手动生成。Windows1、打开VisualStudio,创建一个Win32工程hellojni:2、在应用类型中选择DLL:3、配置头文件和库的路径:4、点击build就可以生成hellojni.dll。MacOSX1、打开Xcode,创建一个工程hellojni:2、framework选择STL:3、在build设置里,配置JavaVM头文件路径和库路径:4、点击build就可以生成libhellojni.dylib。Java工程中如何使用JNI:1、申明native接口:publicnativeStringstringFromJNI();publicnativestaticvoidnativePrint();2、加载动态链接库:static{System.loadLibrary(“hellojni”);}欢迎分享,转载请注明来源:内存溢出
评论列表(0条)