eclipse的ndk开发环境建差不多后打开jni的samples里的hello-jni项目。添加native和运行都没有问题,但是打开hello-jni.c看到一片红:

光这一个文件牵涉的问题有下面一些,罗列出来方便搜到。

Unresolved inclusion: <string.h>

Unresolved inclusion: <jni.h>

Type 'jstring' could not be resolved

Type 'JNIEnv' could not be resolved

Type 'jobject' could not be resolved

还可能有NewStringUTF的Unresoved问题(解决方法在最下面)

原理没研究,解决方法根据情况不同可能涉及到下面的一种或两种方法

方法一,通过重建.project和.cproject解决

来源:http://stackoverflow.com/questions/23122934/eclipse-adt-unresolved-inclusion-jni-h

1. 关闭eclipse

2. 用notepad++等工具打开hello-jni文件夹中的.project文件,把下面三块内容删除

        <buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
        <buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
        <nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>

3. 保存

4. 删除同文件夹下的.cproject文件

5. 重新打开eclipse

6. 右键项目-->Android Tools-->Add Native Support...点击finish

如果问题没有解决,

方法二,添加c和c++库的路径

右键项目 --> Properties --> C/C++ General --> Path and Symbols --> Includes 点击右边的Add...按钮添加include路径在ndk路径里,我的是:

D:\XunLeiDownload\android-ndk-r10e\platforms\android-16\arch-arm\usr\include

Refresh项目,问题解决:

对于NewStringUTF的Unresoved问题,找了下,不完美的解决方法是 Window --> Preferences --> C/C++ --> Code Analysis里把Method cannot be resolved这个检查项去掉即可。

unresolved inclusion in the java header in JNI的更多相关文章

  1. JAVA Native Interface (JNI)

    1.  Introduction At times, it is necessary to use native (non-Java) codes (e.g., C/C++) to overcome ...

  2. Java安全之JNI绕过RASP

    Java安全之JNI绕过RASP 0x00 前言 前面一直想看该JNI的相关内容,但是发现JNI的资料还是偏少.后面发现JNI在安全中应用非常的微妙,有意思. 0x01 JNI概述 JNI的全称叫做( ...

  3. Java层与Jni层的数组传递(转)

    源:Java层与Jni层的数组传递 Android开发中,经常会在Java代码与Jni层之间传递数组(byte[]),一个典型的应用是Java层把需要发送给客户端的数据流传递到Jni层,由Jni层的S ...

  4. eclipse - unresolved inclusion: <stdio.h>

    在linux 上安装eclipse上配置好cdt后,新建项目时,当查找头文件时, 却出现如下错误提示: unresolved inclusion: <stdio.h> 这是c/c++标准库 ...

  5. Android开发实践:Java层与Jni层的数组传递

    转载:http://www.linuxidc.com/Linux/2014-03/97561.htm Android开发中,经常会在Java代码与Jni层之间传递数组(byte[]),一个典型的应用是 ...

  6. NDK(4)"Unresolved inclusion jni.h”的解决方法

    参考 :  http://blog.csdn.net/zhubin215130/article/details/39347873 3种解决办法: 一,重新初始化eclipse对该project的nat ...

  7. 解决NDK开发中Eclipse报错“Unresolved inclusion jni.h”的最终方法

    http://blog.csdn.net/zhubin215130/article/details/39347873

  8. android NDK jni下的c文件 Unresolved inclusion

    原因是在eclipse编辑环境中没有找到对应的include中的文件.解决方法是将包含该文件的include目录作为新的linked folder加入工程中.具体方法如下:1. 右击工程->Ne ...

  9. Java採用JNI调用VC++生成的dll(Java与C++交互)

    应项目需求,须要android调用java,java再调用C++实现android一个图片匹配的功能,我们作为java组须要和C++和Android进行交互.以下是java和C++採用JNI的方式进行 ...

随机推荐

  1. UVa #11582 Colossal Fibonacci Numbers!

    巨大的斐波那契数 The i'th Fibonacci number f (i) is recursively defined in the following way: f (0) = 0 and  ...

  2. JavaScript、全选反选-课堂笔记

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. SQL Server 2008 R2数据库镜像部署

    概述 “数据库镜像”是一种针对数据库高可用性的基于软件的解决方案.其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中.建议使用不同位置的两台服务器来承载.在 ...

  4. ionic 踩过的坑-基本布局

    目录: 标题栏 : ion-header-bar 页脚栏 : ion-footer-bar header/footer : 样式及内容 内容区 : ion-content 滚动框 : ion-scro ...

  5. Mybatis缓存处理机制

    一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Se ...

  6. Netty In Action

    1 introduction 1.2 Asynchronous by design two most common ways to work with or implement an asynchro ...

  7. adv钓鱼题

    4 10 4 5 6 2 10 2 10 4 5 6 2 10 2 60 1 20 29 20 50 20 60 1 20 20 20 60 20 #include<iostream> u ...

  8. warnin php startup in unknown on line 0:

    PHP Warning:  PHP Startup:  in Unknown on line 0 这种情况是因为扩展路径有问题导致的路径或错,或没有该扩展但ini中开启了此扩展

  9. ubuntu下的时间设定(硬件时间,系统时间,本地时间)

    问题的来由是在这里: 在cron里设定任务是在凌晨6点执行,检查日志时发现时间总是不对,是在22点左右的时间执行的.研究发现,任务是在本地时间的6点执行了,但不知为什么syslog中的时间都是为utc ...

  10. 浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案

    浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案 本文是截止目前为止最强攻略,按照本文方法基本可以无压力应对caffe和Ross B. Girshick的 ...