Eclipse Ndk开发中的Method 'NewStringUTF' could not ...

最近须要用到android的ndk,可是在eclipse中,一直提示Method 'NewStringUTF' could not be resolved,诸如此类的错误。
可问题是,jni.h等一系列的依赖库,我都已经导入了,而且也能正常的使用build来编译出动态库文件。可是sb的就是eclipse的cdt,仍旧会不停的提示这类的错误,致使整个项目没办法编译过去。

后来,我先问了baidu,而后又问了google,最终折腾了两天也没办法很好解决这个问题,只好苦逼的使用code::block来写c的jni代码,而后关闭eclipse的code 检查功能,最终才使得项目能够完整编译过去。

后来我思考了一下,并作了一些实验,发现这个估计是adt自己的一个bug,或者说是一个信号??首先,我使用adt的add native support library 来使得jni能够合并到项目中。这时候我发现默认生成的是cpp文件。。c++??这个问题以前我一直忽略了,因此我干脆使用c++来写这个库,结果我发如今cpp文件中,不管你是按照c++语法来写,仍是c语法来写,最终结果都是正常的。不会出现这种好似没有导入的错误。 这不得不让我感受是否google下一步的ndk开发,主要是支持c++了???

但是更加苦逼的是,我仍旧没有好的解决办法,总不能以前的代码在用c++写一遍吧?要不就是继续关闭cdt的语法分析检查,委曲求全的来继续开发?这的确是一个苦逼的问题。

后来,我实在没办法只好去android的官网去看看是否又解决的办法,嘿,别说还真让我找到了。
android自己有一个定制的eclipse版本,我晚上的时候仅仅只是报着死马当活马医的想法下载下来了,结果却发如今这个定制eclipse版本中,竟然不会在有问题了?这不得不说是一个很是好的事情,我能够继续在eclipse下工做了,毕竟这个ide是我最喜欢的ide。

但是另外一方面,我仍旧是对这个问题感到困惑。我从eclipse的bug提交中发现早在2011年就有人反馈这个bug了,最终他本身关闭了这个bug,说已经解决了,可是如何解决却没有说。我想是不是从那时候开始就一直有这个问题呢?

最后说下个人开发环境:
ubuntu 12.04桌面版
eclipse 4.2.1/4.3(都不能用,或出现上文中我所说的问题)
Eclipse IDE with built-in  ADT 21.01(正常,终于解决了使用ndk开发的问题了)
下载地址:http://eveloper.android.com/intl/zh-CN/sdk/index.html#download

ps。不知道windows上开发的朋友,是否也会遇到相似的问题?李昱但愿本文能对在linux下开发的朋友起到必定的帮助,毕竟我翻了baidu,google几百页了,也没有找到完美解决的方案。固然,若是您直接使用c++作jni的开发,那么这个问题应该不会影响到你的。
相关文章
相关标签/搜索