Android NDK开发编译时提示 Native method not found,NDK *** could not be resolved

Type ‘*****‘ could not be resolved

Method ‘******‘ could not be resolved 等等很多诸如此类的错误

解决方法:

是由于没有将jni.h导入的缘故,而这个文件在ndk的目录下面。

所以,参照以下步骤:

Project Properties -> C/C++ General -> Path and Symbols 选择include标签,Add -> $Android_NDK_HOME/platforms/android-**/arch-arm/usr/include 且选中All languages. 最后Apply -> OK 这样错误就解决了。

如果添加了头文件还是问题,那可能是因为工程是C++工程,但代码是用的C风格的代码

1、如果不是.cpp文件,看一下NDK层的函数名是否正确,一般为 Java_包名_主Activity名_函数名

如包名为: com.test.abc, 主Activity为: MainActivity  声明的本地函数名为: Mytest

NDK层的函数名应该就是  Java_com_test_abc_MainActivity_Mytest

2、如果是 .cpp 文件, 则用 extern "C" {"方法在这里"},大括号里是本地方法,学习下javah生成的头文件。

#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT jbyteArray JNICALL Java_com_example_myeclipsejni_MainActivity_Mydecrypt
        (JNIEnv *ent, jobject obj, jbyteArray paramArrayOfByte, jstring paramString)
{
 //code
}
#ifdef __cplusplus
}
#endif

时间: 2024-12-23 18:18:06

Android NDK开发编译时提示 Native method not found,NDK *** could not be resolved的相关文章

android NDK开发编译C++文件出现Type 'jint' could not be resolved和Unresolved inclusion: <jni.h>的解决办法

今天在编译android NDK工程的时候,在jni文件夹下的cpp文件中报了一大堆错误,诸如:Unresolved inclusion: <jni.h>.Type 'jint' could not be resolved.Type 'jintArray' could not be resolved等,根据经验,这样的错误肯定是没有包含相应的头文件导致的. 解决方案: 选中工程,右键->Properties,点击C/C++ General展开,点击Path and Symbols,在右边

VS2013下开发VC++程序,编译时提示错误error MSB8020: The build tools for v140 (Platform Toolset = &#39;v140&#39;) 的解决方案

1. 问题描述: 提示如下错误:error MSB8020: The builds tools for v140 (Platform Toolset = 'v140') cannot be found. To build using the v140 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Inst

sublime text 编译时提示[WinError 2] 系统找不到指定的文件。

问题描述: [WinError 2] 系统找不到指定的文件. [cmd: ['g++', 'D:\\source-code\\sublime\\test.cpp', '-o', 'D:\\source-code\\sublime/test']] [dir: D:\source-code\sublime] [path: D:\program\basic\python3.4.0;C:\Windows\system32;C:\Windows;C:\Windows\system32\wbem] 如下图:

vc6.0 点编译时提示Cannot complile the file &amp;#39;D:\souce-code\vc-workspace\对话框\MainFrm.h&amp;#39;; no compile tool is

问题描写叙述: vc6.0程序,点击编译时提示对话框,内容为: Cannot complile the file 'D:\souce-code\vc-workspace\对话框\MainFrm.h'; no               compile tool is associated with the file                                                                           extension. 解决方式:

VS2010 项目引用了DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称 &lt;转&gt;

昨天写了一个很小的winform程序,其中引用了自己写的两个dll文件. 本来认为轻松搞定,结果一编译居然提示:未能找到类型或命名空间名称..... 于是删掉两个dll重新引用,再编译结果依旧!很是郁闷. 后来经过调查,终于发现了解决方法: 在项目上点右键-->属性-->应用程序-->目标框架-->修改为.NET Framework 4. 而我原来的设置是.NET Framework 4 Client Profile.问题就出在这里. 以下是MSDN给出的提示: If you ar

python3.4 编译时提示错误 IndentationError: unexpected indent

Farm Tour Description When FJ's friends visit him on the farm, he likes to show them around. His farm comprises N (1 <= N <= 1000) fields numbered 1..N, the first of which contains his house and the Nth of which contains the big barn. A total M (1 &

VS2015+OpenGL4.0开发编译时弹出错误:glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数 [email&#160;protected] 中被引用

一.问题描述: VS2015+OpenGL4.0开发编译时弹出如下所示的错误: 1>glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数 [email protected] 中被引用 1>glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _vsprintf,该符号在函数 _PrintMessage 中被引用 二.问题原因: VS2015默认编译时将许多标准库采用内联方式处理,因而没有可以链

Android Studio运行app时提示Please select Android SDK

Android Studio运行app时提示Please select Android SDK 从github clone 代码到本地放到AS后发现,发现并不能点"Run"键运行app,并报错Error:Please select Android SDK: 最后在File->Project Structure中将Build tools version修改,问题解决. 有人说 也可以注释掉build.gradle中"buildToolsVersion '26.0.0'&q

Android应用开发编译框架流程与IDE及Gradle概要

1 背景 建议阅读本文之前先阅读<Android Studio入门到精通>和<Groovy脚本基础全攻略>及<Gradle脚本基础全攻略>三篇博客作为背景知识,这样才能更好.更系统的串起来.本文的核心就是下图: 关于Gradle的Android插件本文不会过多的说明,只给一个抛砖引玉的提示,详细使用参见文档API及Gradle配置,其实个性化的构建配置一般都是Gradle与Groovy的编写,与Android插件没太多关系,所以重点还在Groovy与Gradle构建.