创建eclipse针对NDK的联合编译环境。
警告, 这篇文章是老的配置方式, 随着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的联合编译环境。的更多相关文章
- Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子
[学习笔记] Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子: 在eclipse oxygen上创建一个普通的java项目,然后把spark ...
- ADT+NDK搭建jni编译环境
jni是android调用C++编写的库的接口.C++和java的差别不在此文的讨论范畴,另外这里也仅仅是记录下.怎样搭建好开发环境. 首先是下载ADT包和NDK包. ADT包包括了eclipse.所 ...
- 创建一个简单的配置android编译环境的脚本
由于有多个Android项目,每个项目配置编译环境时选项都不同,所以尝试写一个sh脚本来完成这个功能. 首先进入bin文件夹,新建一个文件enbuild $ cd ~/bin $ touch ...
- 在eclipse中配置android ndk的自动编译环境builders
无论linux还是mac在jni目录中直接运行 ndk-build 就可以生成 lib目录及所需要的 so文件: windows 装上lnx模拟器也是一样: 每次修改完 c++代码, 都要运行一下 ...
- Windows下为 Eclipse 配置 C/C++ 编译环境(转)
1.Eclipse及CDT的安装 CDT的全称是C/C++ DevelopmentTools,CDT使得Eclipse能够支持C/C++的开发.直接下载 eclipse CDT 集成版 下载地址:ht ...
- Cocos2d-x 2.2.3 使用NDK配置编译环境
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/wwj_748/article/details/30072379 Cocos2d-x 2.2.3 使用 ...
- NDK开发-简介&环境搭建(Eclipse,Android Studio)
NDK简介 NDK(Native Development Kit)是一套工具集,允许你在Android应用中嵌入c或c++. 使用NDK的好处主要有以下4点: 安全:由于apk的java层代码很容易被 ...
- Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
转自:http://www.cppblog.com/kangnixi/archive/2010/02/10/107636.html 首先是安装Eclipse,方法有两种: 第一种是通过Ub ...
- 【转】ubuntu下安装eclipse以及配置python编译环境
原文网址:http://blog.csdn.net/wangpengwei2/article/details/17580589 一.安装eclipse 1.从http://www.eclipse.or ...
随机推荐
- createjs 利用createjs 写拼图功能
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...
- Leetcode 58 Length of Last Word 难度:0
https://leetcode.com/problems/length-of-last-word/ int lengthOfLastWord(char* s) { int ans = 0; int ...
- 【61测试】【dp】【二分】【前缀和】【树剖】
不要问我为什么昨天考的今天才贴解题报告.. 第一题: 给定3个字符串,求它们的最长公共子序列. 解: 考试时知道肯定是LCS的二维再加一维,用三维,可天堂有路你不走,地狱无门你偏来...灵机一动想出来 ...
- 计算机网络(6)-----运输层概述和UDP协议
运输层(Transport Layer) 定义 运输层负责端到端的通信,既是七层模型中负责数据通信的最高层,又是面向网络通信的低三层和面向信息处理的最高三层之间的中间层.运输层位于网络层之上.会话层之 ...
- web.xml的初始化参数
web.xml的初始化参数 ---------首先声明,这里所介绍的是web中context-param,init-param参数的初始化配置---------- ------------------ ...
- HTML5适合移动应用开发的几大特性
1.离线缓存为HTML5开发移动应用提供了基础 HTML5 Web Storage API可以看做是加强版的cookie,不受数据大小限制,有更好的弹性以及架构,可以将数据写入到本机的ROM中,还可以 ...
- cloud theory is a failure? 分类: Cloud Computing 2013-12-26 06:52 269人阅读 评论(0) 收藏
since LTE came out, with thin client cloud computing and broadband communication clouding 不攻自破了.but ...
- JVM-class文件完全解析-属性表集合
属性表集合 在前面魔数,次版本号,主板本号,常量池入口,常量池,访问标志,类索引,父类索引,接口索引集合,字段表集合,方法表集合,那么接下来就是属性表集合了. 在class文件,字段表,方法表都可 ...
- checkbox选中与取消选择
先上代码 <form> 你爱好的运动是?<br/> <input type="checkbox" name="items" val ...
- 【Python】:简单爬虫作业
使用Python编写的图片爬虫作业: #coding=utf-8 import urllib import re def getPage(url): #urllib.urlopen(url[, dat ...