使用env->RegisterNatives时如何禁用‘无法解析对应JNI函数’警告
禁用Android Studio中RegisterNatives方式JNI函数的"无法解析对应JNI函数"警告
当使用env->RegisterNatives()绑定JNI函数时,确实无需在C++代码中添加extern "C" JNIEXPORT JNICALL这类签名,但Android Studio会对Java层的native方法抛出"无法解析对应JNI函数"的警告,以下是两种解决方式:
方法一:单个方法禁用警告
直接在对应的native方法上添加@SuppressWarnings("JniMissingFunction")注解即可:
static{ System.loadLibrary("lib"); } // 添加注解消除单个方法的警告 @SuppressWarnings("JniMissingFunction") public native void xxx(); @SuppressWarnings("JniMissingFunction") public native int xxxx();
方法二:全局禁用该警告
如果项目中有大量这类native方法,可通过配置lint规则全局消除:
- 在项目根目录或模块目录下创建
lint.xml文件(若已存在则直接编辑) - 添加如下配置:
<?xml version="1.0" encoding="UTF-8"?> <lint> <!-- 全局禁用JNI函数缺失的警告 --> <issue id="JniMissingFunction" severity="ignore" /> </lint>
内容的提问来源于stack exchange,提问作者lcwstudio
相关产品推荐
相关产品推荐

