码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-12-10 19:18:23      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

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

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

标签:

原文地址:http://www.cnblogs.com/dacainiao/p/5036730.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!