Android Studio 动态库编译
*2.**在app\main\cpp\中的CMakeList.txt中添加需要编译的c、cpp文件。**3.**在app.src.java.com中MainActivity中添加头文件接口。//para1 :传入数组para2:输出数组single:输出单个值。注 : typedefunsigned charuchar。以及native-lib.cpp。**5.**开始makefile。**1.*
·
1.创建工程
2.在app\main\cpp\中的CMakeList.txt 中添加需要编译的c、cpp文件
以及native-lib.cpp
3.在app.src.java.com中MainActivity中添加头文件接口
如:
//原接口.C/.cpp
para1 :传入数组 para2:输出数组 single:输出单个值
//public int test(uchar* para1,uchar* para2,float* signle)
//声明对应的android 接口
public native int test(byte[] para1,byte[] para2,float[] signle)
注意:android的接口名不要带有下划线,否则会被认为包名分隔符,结果会出现不存在改函数接口
4.在app.src.main.cpp的native-lib.cpp中定义adroid接口函数:
extern "C" JNIEXPORT jint JNICALL
Java_com_*****_test(JNIEnv* env,jobject CsFpAlg,jbyteArray para1,
jbyteArray para2,jfloatArray single)
{
int ret;
float s;
uchar * p1=(uchar*) env->GetByteArraryElements(para1,0);
uchar p2[1000];
ret=test(p1,p2,&s);
env->SetByteArraryRegion(para2,0,1000,(jbyte*)p2);
env->SetByteArraryRegion(single,0,1,&s);//同 int
return ret;
}
注 : typedef unsigned char uchar
5.开始makefile
更多推荐
已为社区贡献1条内容
所有评论(0)