JNI开发 eclipse相关开发环境的搭建.docx

上传人:b****7 文档编号:23439729 上传时间:2023-05-17 格式:DOCX 页数:12 大小:745.74KB
下载 相关 举报
JNI开发 eclipse相关开发环境的搭建.docx_第1页
第1页 / 共12页
JNI开发 eclipse相关开发环境的搭建.docx_第2页
第2页 / 共12页
JNI开发 eclipse相关开发环境的搭建.docx_第3页
第3页 / 共12页
JNI开发 eclipse相关开发环境的搭建.docx_第4页
第4页 / 共12页
JNI开发 eclipse相关开发环境的搭建.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

JNI开发 eclipse相关开发环境的搭建.docx

《JNI开发 eclipse相关开发环境的搭建.docx》由会员分享,可在线阅读,更多相关《JNI开发 eclipse相关开发环境的搭建.docx(12页珍藏版)》请在冰豆网上搜索。

JNI开发 eclipse相关开发环境的搭建.docx

JNI开发eclipse相关开发环境的搭建

JNI开发eclipse相关开发环境的搭建

开发环境:

windows+eclipse+NDK+cygwin

在《android初涉JNI,从零打造你的第一个demo》(code的逻辑非常复杂,代码工作量也非常之大的话,不是大神并且刚刚开始接触JNI开发的你我在不借助IDE的情况下,想必十分DT。

好在eclipse中也不少好用的插件帮助我们解决这一难题。

废话说完,进入正题。

首先是CDT插件的安装,官方地址:

http:

//www.eclipse.org/cdt/downloads.php。

在该页面找到你需要的版本下载安装(PS:

貌似该网页提供的在线安装的地址失效Orz,所以还是下到本地安装吧)。

安装完成之后,我们现在就可以用eclipse写c/c++代码了(熟悉vs开发环境的童鞋可能需要适应一下)。

在上次的demo中,我们是单独编写JNI相关代码然后编译得到so文件,在拷贝到android工程中,这个过程有点繁琐,有时可能还会忘记,尤其是在以后调试的时候,反复地重复该过程会让人崩溃吧!

在安装了CDT后,我们把上次的C的工程部分的D:

\myfirstJNISO中的jni文件夹整个拷贝到android工程MyFirstJNI目录下(如果没有,稍后我会上传相关工程代码,不过最好还是自己实际动手做一下会比较好:

D),refresh,现在我们的工程应该是这样的:

标记的部分就是我们新添加进来的jni实现部分

现在不要急着编译,否则各种error可能会打击我们继续下去的信心。

接下来,我们需要把这个android工程转换成C/C++工程进行一些开发,具体操作:

File->New->Other,之后如图:

Next之后选取MyFirstJNI工程其他选项默认即可。

现在我们的工程已经转换成C工程了,打开相关的.h.c文件看看,Oh,No。

是不是各种error,原因是我们还没有在CDT中设置相关环境变量,编译器找不到jni相关头文件造成的。

设置过程如下:

Window->Preference然后如图定位:

在Environment中添加一些必要的环境变量,具体如下:

CPLUS_INCLUDE_PATH(这个随便你取):

D:

\Android\android-sdk\android-ndk-r8b\platforms\android-14\arch-arm\usr\include;D:

\Android\android-sdk\android-ndk-r8b\sources\cxx-stl\stlport\stlport

(PS:

红色部分是你安装NDK目录中你需要的相关平台的头文件,我这里选的最新的是14,可以根据具体要求选择,篮色部分则是一些C++中常用的头文件,比如:

iostream,还有中间的";"别忘了)

CPLUS_INCLUDE_LIB_PATH(同样asyouwish):

D:

\Android\android-sdk\android-ndk-r8b\platforms\android-14\arch-arm\usr\lib

添加完成后是这样的:

下面我们要为我们的工程设置一个专属的编译器,因为在windows下,我们无法直接运行ndk-build来编译我们的JNI代码,那么怎么做呢?

往下看:

在我们的工程MyFirstJNI上右击,选择属性,接着选择"Builders",如图:

那个红色的”NDK_Builder“就是我们要创建的专属的编译器,方法:

点击New出现

(Name填上你喜欢的名字;①中是你安装的cygwin中bash.exe的路径②是bash.exe所在的目录③中则是运行bash.exe时的命令行参数;这些配置说我们要启动bash.exe然后定位到我们的MyFirstJNI工程目录然后执行$NDK/ndk-build,简单的说就把我们之前的手动过程用命令行替代了,这也就是为什么是专属编译器的原因)

接着切换到Refresh选项卡,然后照着图片配置:

(很简单吧,告诉系统这个编译器是指定工程的)

再切换到BuildOptions选项卡,设置如下:

这里主要是设置自动编译的时机,注意红色部分,这里需要点击按钮选定我们的MyFirstJNI工程,这样我们MyFirstJNI的专属编译器就创建完成了。

回到属性界面,是不是多个一个NDK_Builder,这里需要把这个编译器Up到最上面,否则我们修改JNI代码需要编译两次才能生效。

现在试试,我们创建的编译器能不能正常工作,Project->Clean...,Console中如果输出这样的就说明我们成功了

但是注意红色的部分,虽然我们已经能正确的编译出so文件了,但是工程此时还有错误:

我们已经解决了这么多的问题和麻烦,怎么能在这卡住?

这个error出现是因为我们在将android工程转化为C/C++工程造成的,再次打开MyFirstJNI的属性对话框,如图:

看到没,我们的工程自己是有编译选项的,make这个本来是在*nix系统中使用的,因为我们之前已经创建了专属的编译器,所以这里将BuilderType选择为”Internalbuilder“,这样再次clean工程就可以了。

(PS:

更简单的方法是在当初建立专属编译器的时候,将CDTBuilder的勾选状态取消,然后多refresh几次或者暴力点重启eclipse)

对了,有些人可能打开该对话框发现BuilderType是不可用状态,没关系解决方法如下:

照着上图所示设置,然后再返回到之前的那个设置界面,是不是能选择了?

好了,我发现讲的有点罗嗦:

D,现在我们就能在eclipse中直接开发JNI了并且也能很方便的编译。

由于我接触的时间也不长,所以讲的不清楚的地方或者有误的地方,还希望大家指正,共同进步。

关于调试的部分,windows下的配置,我还在研究,有进展了更新!

最后,推荐一款JNI开发相关的插件sequoyah,在线安装地址:

http:

//download.eclipse.org/sequoyah/updates/2.0/

注意要将”Groupitemsbycategory“取消,否则看不到插件列表,我们只需要安装上图所选的就行了,安装完成后需要进行一些基本设置

现在右击任何一个android工程,右击选择”Androidtools“出现下图则表示安装成功

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1