eclipse生成SO文件
来源:互联网 发布:淘宝宝贝图片怎么修改 编辑:程序博客网 时间:2024/05/22 22:32
Eclipse生成so文件:
1.首先需要eclipse,jdk能正常开发
2.点Window->Preferences->Android->NDK,设置NDK路径(先要下载。如:E:\android-ndk-r9c)
3.在工程上右键点击Android Tools->Add Native Support...,然后给我们的.so文件取个名字,
例如:myndk(myndk.so)
这时候工程就会多一个jni的文件夹,jni下有Android.mk和my-ndk.cpp文件。
Android.mk是NDK工程的Makefile,myndk.cpp就是NDK的源文件
4.建议单独写一个类文件来加载动态库。
如:
public class Load {
static {
System.loadLibrary("NDKTest");//加载so
}
public native int addInt(int a, int b); //调用方法
}
5.现在就可以去写myndk.cpp的代码了。
#include <jni.h>
#include "com_example_ndktest_Load.h"
//JNI接口的命名规范是:Java_ + 调用该方法的包名(包名的点用_代替) + _ + 调用该接口的类名 + _ + 方法名,对于实例方法,
//有两个参数是必要的,一个JNI的环境指针JNIEnv *,另一个是调用该方法的Java实例jobject
JNIEXPORT jint JNICALL Java_com_example_ndktest_Load_addInt (JNIEnv *, jobject, jint a, jint b) {
return a + b;
}
6.注意事项
1.编译头文件
(1) cmd进入文件目录,一般到src目录就可以了
(2) 调用:javah -classpath . -jni 包名.类名。(如:javah -classpath . -jni com.buaa.testjni.TestJNI)
(这时编译成功的话在jni文件夹下就有.h文件了)
2.编译也许会遇到Unable to launch cygpath. Is Cygwin on the path?错误,解决办法如下:
工程右键,点Properties->C/C++ Build的Building Settings中去掉Use default build command,然后输入${NDKROOT}/ndk-build.cmd
3.cmd进入到项目目录下(可以是src输入:ndk-build 就可以得到so文件(前提是配置好了NDK)
在C/C++ Build中点击Environment,点Add...添加环境变量NDKROOT,值为NDK的根目录(如:E:\android-ndk-r9c)
1.首先需要eclipse,jdk能正常开发
2.点Window->Preferences->Android->NDK,设置NDK路径(先要下载。如:E:\android-ndk-r9c)
3.在工程上右键点击Android Tools->Add Native Support...,然后给我们的.so文件取个名字,
例如:myndk(myndk.so)
这时候工程就会多一个jni的文件夹,jni下有Android.mk和my-ndk.cpp文件。
Android.mk是NDK工程的Makefile,myndk.cpp就是NDK的源文件
4.建议单独写一个类文件来加载动态库。
如:
public class Load {
static {
System.loadLibrary("NDKTest");//加载so
}
public native int addInt(int a, int b); //调用方法
}
5.现在就可以去写myndk.cpp的代码了。
#include <jni.h>
#include "com_example_ndktest_Load.h"
//JNI接口的命名规范是:Java_ + 调用该方法的包名(包名的点用_代替) + _ + 调用该接口的类名 + _ + 方法名,对于实例方法,
//有两个参数是必要的,一个JNI的环境指针JNIEnv *,另一个是调用该方法的Java实例jobject
JNIEXPORT jint JNICALL Java_com_example_ndktest_Load_addInt (JNIEnv *, jobject, jint a, jint b) {
return a + b;
}
6.注意事项
1.编译头文件
(1) cmd进入文件目录,一般到src目录就可以了
(2) 调用:javah -classpath . -jni 包名.类名。(如:javah -classpath . -jni com.buaa.testjni.TestJNI)
(这时编译成功的话在jni文件夹下就有.h文件了)
2.编译也许会遇到Unable to launch cygpath. Is Cygwin on the path?错误,解决办法如下:
工程右键,点Properties->C/C++ Build的Building Settings中去掉Use default build command,然后输入${NDKROOT}/ndk-build.cmd
3.cmd进入到项目目录下(可以是src输入:ndk-build 就可以得到so文件(前提是配置好了NDK)
在C/C++ Build中点击Environment,点Add...添加环境变量NDKROOT,值为NDK的根目录(如:E:\android-ndk-r9c)
1 1
- eclipse生成SO文件
- eclipse下NDK生成.SO文件
- 使用eclipse直接生成so文件
- eclipse直接生成so
- 在Eclipse 下集成ndk 自动编译生成so文件
- linux下利用NDK(Eclipse)生成so文件
- Eclipse下用NDK编译生成so文件
- Eclipse下用NDK编译生成so文件
- Eclipse下用NDK编译生成so文件
- eclipse配置生成.h和.so文件过程
- android生成so文件
- android生成so文件
- 生成so文件
- NDK生成so文件
- NDK生成so文件
- 使用eclipse编译生成so
- 利用NDK生成.so文件
- 利用NDK 生成.so文件
- 回顾android的学习
- Suse 11 Install Mysql 5.7.15
- ProgressBar的样式和Dialog的样式文件
- iOS运行时的用途一 -- 交换方法
- HDU 1074 Doing Homework(状压dp)
- eclipse生成SO文件
- 关卡设计
- Vert.x Web 模块(一)
- 数据库概念 用户登录及dbca命令方式创建数据库
- 【httplistener监听获取Post请求参数】
- 人脸识别简史与近期进展
- 串口电平转换
- 判断手机号是否合法(简单判断)
- 记录下sql中的DECLARE关键字的使用