注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

秋风扫落叶

 
 
 

日志

 
 
 
 

Eclipse Ndk中的Method 'NewStringUTF' could not be resolved问题  

2013-02-03 03:28:37|  分类: android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
最近需要用到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的开发,那么这个问题应该不会影响到你的。
  评论这张
 
阅读(1918)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017