1. 配置NDK路径设置

可以在cygwin中通过vim修改,也可以在windows安装目录中修改 home\<你的用户名>\.bash_profile 文件中最后添加环境变量

NDK=/cygdrive/e/Andriod/develop/android-ndk-r4

export PATH=$PATH:$NDK

其中NDK=/cygdrive/<你的盘符>/<android ndk 目录> ,"NDK"这个名字随便起,以后经常用不要太长。

重启cygwin,输入:

cd $NDK

可进入ndk对应目录说明设置OK。

2. JNI编译环境配置

工程右键,点Properties->C/C++ Build的Building Settings中去掉Use default build command,然后输入${NDKROOT}/ndk-build.cmd

在C/C++ Build中点击Environment,点Add...添加环境变量NDKROOT,值为NDK的根目录 E:\android\develop\android-ndk-r10d

3. 出现的提示信息如下:

Multiple markers at this line
  - Syntax error
  - Type 'JNIEnv' could not be resolved
  - Type 'JNICALL' could not be resolved

是由于没有将jni.h导入的缘故,而这个文件在ndk的目录下面。所以,参照以下步骤:
Project Properties -> C/C++ General -> Path and Symbols
选择include标签,Add -> E:\android_sw\android-ndk-r10d\platforms\android-19\arch-arm\usr\include
且选中All languages.最后Apply -> OK 这样错误就解决了。

4. 报错:Program "sh" not found in PATH

C:\cygwin64\bin目录添加到win7系统的path环境变量中。

5. Android NDK: Your Android application project path contains spaces: 'E:/ ./ (x86)/' 

Android NDK: The Android NDK build cannot work here. Please move your project to a different location.
E:\android\android-ndk-r10d\build/core/build-local.mk:155: *** Android NDK: Aborting. . Stop.

新建并配置一个Builder
 (1)点击Project->Properties->Builders->New,新建立一个Builder。在弹出的对话框上面点击Program,OK!如图四所示:

(图四)
(2)在弹出的对话框【Edit Configuration】中,配置选项卡【Main】:
      Location中需要填入nkd-build.cmd的路径(NDK安装目录下)。
      Working Diretcoty中需要填入TestNDK的工程根目录。
       如图五所示:

(图五)
(3)配置选项卡【Refresh】,如图六所示:
      勾选“Refresh resources upon completion”,
      勾选“The entire workspace”,
      勾选“Recuresively include sub-folders”。

(图六)
(4)配置选项卡【Build Options】,如图七所示:
      勾选“After a “Clean””,
      勾选“During manual builds”,
      勾选“During auto builds”,
      勾选“Specify working set of relevant resources”。
      点击“Specify Resources…”勾选TestNDK工程的“jni“目录 ,Finish!

保存设置,OK!

(图七)

(5)Project->clean->选择工程->点击OK。当在console里面看到如图八所示的信息,则表示一切正常,此时就已经是自动编译代码了。

 6. 自己测试的 eclipse ndk 工程设置,该工程还作为library,被其他工程调用

设置完之后,选择eclipse的Project->clean...,则先clean工程,再运行该Builder,调用ndk-build.cmd编译jni代码。

详细的设置如下图所示:

别的工程引用该library,开发时需要查看该library的源码,只要将该library源码和该工程进行关联即可。如下所示:

eclipse环境NDK问题汇总的更多相关文章

  1. eclipse环境下无法创建android virtual Devices(AVD)问题解决的方法汇总

    首先,要在eclipse环境下成功的创建一个安卓虚拟机,须要有三项东西,第一就是eclipse,第二就是android SDK Manager,第三就是ADT,也就是eclipse环境下的一个安卓虚拟 ...

  2. EClipse开发NDK流程

    EClipse开发NDK流程(现在studio也在2.2之后支持了非常简单,只要创建项目的时候勾选c++支持就可以了)   什么情况下使用ndk,1.保护代码,java很容易反编译,c/c++反汇编比 ...

  3. CentOS_7 OpenWrt Eclipse 环境搭建与 Dr.com 开发笔记

    一:内核的编译. 1,linux 编译环境的搭建与源码的准备工作 2,常用软件的安装 (make menuconfig) 3,  针对TP-Link WR740N 一些软件的openwrt 的移植 4 ...

  4. 利用Continuous Testing实现Eclipse环境自动单元测试

    当你Eclipse环境中修改项目中的某个方法时,你可能由于各种原因没有运行单元测试,结果代码提交,悲剧就可能随之而来. 所幸infinitest(http://infinitest.github.io ...

  5. selenium eclipse环境搭建

    1.python 3.5下载及安装 2.setuptools 与pip 下载地址是:http://pypi.Python.org/pypi/setuptools http://pypi.Python. ...

  6. 详细的图文教程来实现 eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上

    很多初学,尤其自学JavaWeb的朋友首次在eclipse下配置tomcat时,总会有种难下手的感觉,在此,通过图文解说的方法,最直观的向大家演示一遍该配置过程. 第一部分:eclipse环境下如何配 ...

  7. Eclipse环境下JBoss调试,解决引用的工程不被部署的问题

    其实算是一个很小的经验,在eclipse环境下进行jboss的部署,因为要定义某公共包的问题,将代码down下来做了个工程,部署时发现jboss提示:class not found! 从jboss部署 ...

  8. 利用Continuous Testing实现Eclipse环境自己主动单元測试

    当你Eclipse环境中改动项目中的某个方法时,你可能因为各种原因没有执行单元測试,结果代码提交,悲剧就可能随之而来. 所幸infinitest(http://infinitest.github.io ...

  9. Eclipse中文乱码解决汇总(应该比较全):

    Eclipse中文乱码解决汇总(应该比较全,欢迎补充): 方法一: 把GBK改成utf-8. 方法二: Window->preference->general->content ty ...

随机推荐

  1. EF中使用语句 或存储过程 查询(转)

    EF中使用语句 或存储过程 查询 1.无参数查询 var model = db.Database.SqlQuery("select* from UserInfoes ").ToLi ...

  2. (hdu)1950 Bridging signals(最长上升子序列)

    Problem Description 'Oh no, they've done it again', cries the chief designer at the Waferland chip f ...

  3. Win7下Boost库的安装

    Boost库是C++领域公认的经过千锤百炼的知名C++类库,涉及编程中的方方面面,简单记录一下使用时的安装过程 1.boost库的下载 boost库官网主页:www.boost.org 2.安装 将下 ...

  4. CentOS6.5下docker的安装及遇到的问题和简单使用

    Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.利用Linux的LXC.AUFS.Go语言.cgroup实现了资源的独立,可以很轻松的实现文件.资 ...

  5. Linux文件权限学习总结

    一.用户对文件或目录都有哪些权限? 四种:读.写.执行.没有权限 二.如何表示这四种权限? 如果用十进制数字表示,分别为:4.2.1.0:如果用字符表示,分别为:r.w.x.-.个人觉得,使用chmo ...

  6. 思维导图软件VYM

    http://www.insilmaril.de/vym/ 点击打开链接http://www.oschina.net/p/vym 有人说VYM就跟目录是一回事,确实是这样, 只不过与excel之类的比 ...

  7. WORDPRESS开发(一)自定义页面显示分类目录

    第一步:自定义一个页面,如index.php 第二步:打开index.php文件,引用wp-blog-header.php文件 require('wp-blog-header.php'); 第三步使用 ...

  8. 获取本机IP、mac地址、计算机名

    python获取本机IP.mac地址.计算机名 在python中获取ip地址和在php中有很大不同,我们先来看一下python 获得本机MAC地址: >>> import uuid ...

  9. C语言头文件书写

    说一下C语言的存储类说明符: 1.Auto       只在块内变量声明中被允许,表示变量具有本地生存期. 2.Extern    出现在顶层或块的外部变量函数与变量声明中,表示声明的对象具有静态生存 ...

  10. 用powerdesigner建模工具生成数据库

    1,使用powerdesignerP:主键 F:外键 M:是否可为空 2,两张表建立主外键关系时,主外键名称要相同.比如A表 A_id name  说明id(P) B表 B_id name  说明id ...