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. BZOJ4572: [Scoi2016]围棋

    Description 近日,谷歌研发的围棋AI—AlphaGo以4:1的比分战胜了曾经的世界冠军李世石,这是人工智能领域的又一里程碑. 与传统的搜索式AI不同,AlphaGo使用了最近十分流行的卷积 ...

  2. linux内核分析作业3:跟踪分析Linux内核的启动过程

    内核源码目录 1. arch:录下x86重点关注 2. init:目录下main.c中的start_kernel是启动内核的起点 3. ipc:进程间通信的目录 实验 使用实验楼的虚拟机打开shell ...

  3. POJ 1274 The Perfect Stall、HDU 2063 过山车(最大流做二分匹配)

    The Perfect Stall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 24081   Accepted: 106 ...

  4. jQuery简单易用的网页内容打印插件

    简要教程 jQuery.print是一款简单易容且功能强大的网页内容打印jQuery插件.该网页打印插件可以打印指定区域的网页元素,可以指定跳过不打印某些元素,还可以打印整个页面内容.并且提供了丰富的 ...

  5. iOS知识总结

    mindNote文件下载地址 : 知识总结.zip

  6. 几何服务,cut功能,输入要素target(修改后)内容。

    几何服务,cut功能测试,输入要素target(修改后)内容. {"displayFieldName":"","fieldAliases": ...

  7. Page in/Page out/Page fault

    Paging refers to writing portions, termed pages, of a process' memory to disk. Swapping, strictly sp ...

  8. spring使用cache

    考虑两方面: i) 声明某些方法使用缓存(注解方式) ii) 配置Spring对Cache的支持. 一.基于注解的支持 一般我们常用的注解:@Cacheable和@CacheEvict. 1.1.@C ...

  9. shell常用命令归类整理

    shell 命令整理     bash shell 含有许多功能,因此有许多可用的命令:本文档仅罗列了一些常用命令及其使用频率较高的参数.#本文档仅罗列了一些常用命令及其使用频率较高的参数.#vers ...

  10. Java实现归并排序

    package Sort; import java.util.Arrays; public class MergeSort { public static void merge(int[] list, ...