警告, 这篇文章是老的配置方式, 随着goolge工具的完善,有了更高级的配置方式,参考文章:

1.http://jingyan.baidu.com/article/3ea51489e7a9bd52e61bbac7.html

2. 配置好环境后, 想进行debug调试:http://www.cnblogs.com/hmxp8/p/3971549.html

优化:

1. 目录里千万不能含有空格,否则就是“No symbol table is loaded. Use the "file" command”,一头雾水,哪里出错都不知道;

2. 在Java代码里System.loadLibrary加上断点,可以很好地避免断点无法挂上的情况(按理论上这不会起作用的,Java/GDB 两个Debugger只能启其一),由于NDK中的断点环境启动较慢, 所有在System.loadLibrary上加入断点,等待NDK准备好;

原文已经不在推荐,使用上面的方法更好:

1 建立工程

  运行Eclipse,新建一个android project,取名hello-jni(或者你喜欢的其他比如fxxk-jni也行)。

工程代码就从你的NDK/samples/hello-jni拷贝一份即可,记得拷贝jni那个目录,最终的目录结构如图。

Libs目录一会会自动创建,现在木有也没关系。

  如果你现在运行这个工程,就会在android控制台看到如下错误:

  java.lang.UnsatisfiedLinkError: Library hello-jni not found

  因为你还没有造出那个libhello-jni.so出来。

2. 配置工程属性

   打开hello-jni工程属性,选择builder,选择program,点OK

  

  

配置如下,名字随便取一个,location和working directory要和你的cygwin目录一致,arguments要和你的工程目录一致。

我的arguments是:--login -c "cd /cygdrive/e/workspace/hello-jni && $ANDROID_NDK_ROOT/ndk-build"

上面的图片应该看得清吧,然后勾选其他配置如下

注意在勾选Specify working set of relevant resources时指定资源选择你的工程的jni目录即可。

当以上步骤都正确配置无误,保存配置后应该就会自动编译jni目录下的C相关代码并输出相应的.so库文件到工程的libs目录下,libs目录会自动创建。

编译时控制台输出类似如下:

再运行工程,结果正确。

以后修改了C代码,保存后也会自动触发编译,省时省力。

创建eclipse针对NDK的联合编译环境。的更多相关文章

  1. Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子

    [学习笔记] Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子: 在eclipse oxygen上创建一个普通的java项目,然后把spark ...

  2. ADT+NDK搭建jni编译环境

    jni是android调用C++编写的库的接口.C++和java的差别不在此文的讨论范畴,另外这里也仅仅是记录下.怎样搭建好开发环境. 首先是下载ADT包和NDK包. ADT包包括了eclipse.所 ...

  3. 创建一个简单的配置android编译环境的脚本

    由于有多个Android项目,每个项目配置编译环境时选项都不同,所以尝试写一个sh脚本来完成这个功能.     首先进入bin文件夹,新建一个文件enbuild $ cd ~/bin $ touch ...

  4. 在eclipse中配置android ndk的自动编译环境builders

    无论linux还是mac在jni目录中直接运行  ndk-build 就可以生成 lib目录及所需要的 so文件: windows 装上lnx模拟器也是一样: 每次修改完 c++代码, 都要运行一下 ...

  5. Windows下为 Eclipse 配置 C/C++ 编译环境(转)

    1.Eclipse及CDT的安装 CDT的全称是C/C++ DevelopmentTools,CDT使得Eclipse能够支持C/C++的开发.直接下载 eclipse CDT 集成版 下载地址:ht ...

  6. Cocos2d-x 2.2.3 使用NDK配置编译环境

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/wwj_748/article/details/30072379 Cocos2d-x 2.2.3 使用 ...

  7. NDK开发-简介&环境搭建(Eclipse,Android Studio)

    NDK简介 NDK(Native Development Kit)是一套工具集,允许你在Android应用中嵌入c或c++. 使用NDK的好处主要有以下4点: 安全:由于apk的java层代码很容易被 ...

  8. Ubuntu(Linux)使用Eclipse搭建C/C++编译环境

    转自:http://www.cppblog.com/kangnixi/archive/2010/02/10/107636.html 首先是安装Eclipse,方法有两种:       第一种是通过Ub ...

  9. 【转】ubuntu下安装eclipse以及配置python编译环境

    原文网址:http://blog.csdn.net/wangpengwei2/article/details/17580589 一.安装eclipse 1.从http://www.eclipse.or ...

随机推荐

  1. cocos2d-x 系列文章介绍

    学习 cocos2d-x 一年多,从3.0bata 到 现在的 3.6 ,从最早没什么教程到现在官网繁多的资料教程,  cocos2d-x  的变化实在是大.刚开始学习 cocos2d-x 是到处找资 ...

  2. yarn 0.9.0 build spark

    1. 下载scala并安装.版本为2.10.3.设置SCALA_HOME和PATH环境变量 2. 下载SPARK 0.9.0源代码并解压到/root/Downloads/spark-0.9.0-inc ...

  3. Java mysql 日期相关

    获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowString { ...

  4. fragment切换刷新 及下拉刷新

    此工程较BaiduLocationXMLFragmentDB相比:1.滑动fragment自动刷新该fragment2.下拉刷新fragment,上拉暂未实现 a.fragment切换刷新 1 . 由 ...

  5. 百度定位并获取县区天气-XML+fragment+sqlite

    此工程较BaiduLocationXMLFragment相比:1.加入数据库部分,将获取到的地址  天气存入数据库中,离线状态显示数据库最后一条记录 sqlite: DatabaseHelper.ja ...

  6. The data is said to include information from networks

    The data is said to include information from networks as well as from individual computers and smart ...

  7. Jmeter—7 测试中使用到的定时器和逻辑控制器

    1 测试中提交数据有延时1min,所以查询数据是否提交成功要设置定时器. 固定定时器页面:单位是毫秒 [dinghanhua] 2 集合点.Synchronizing Timer 集合点编辑:集合用户 ...

  8. 闭包的理解-from my own opinion

    闭包,说起来那么难,其实理解了作用域,那么理解闭包就容易多了. 全局环境,局部环境,这两个概念很好理解了.那么要深入理解下函数的局部环境. 函数的局部环境,也就是说在一个函数内定义的变量,这个变量只能 ...

  9. Python学习路程day13

    JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. ...

  10. LintCode Binary Tree Maximum Path Sum

    Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree. ...