android使用so文件

一、编辑module的build.gradle文件

android {
......
defaultConfig {
        ......
        ndk {
moduleName "ncnn"//根据实际情况定义,可以没有
abiFilters "armeabi-v7a", "arm64-v8a"//根据实际情况选用。
}
}
sourceSets{
main{
jniLibs.srcDirs = ['libs']
}
}
}

二、创建使用so的类
特别说明:该类需要和so中所使用的包名保持一致。
举例说明如下:
package com.tencent.yolov5ncnn;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
public class YoloV5Ncnn {
public native boolean Init(AssetManager mgr);
public class Obj {
public float x;
public float y;
public float w;
public float h;
public String label;
public float prob;
}
public native Obj[] Detect(Bitmap bitmap, boolean use_gpu);
static {
System.loadLibrary("yolov5ncnn");//so文件的文件名(我的so文件名为“libyolov5ncnn.so”,这里并不需要"lib")
}
}




posted @ 2022-03-31 15:10  Prime_T  阅读(469)  评论(0编辑  收藏  举报