关于android+eclipse配置
2015-12-20 19:19
435 查看
1,假如已经写好一个要用c++实现的java类,比如XXX。
cmd中进入到项目根目录的中bin/classes/目录下 :
执行如下命令:
javah com.example.项目名.XXX
然后就会在 生成文件:com_example_项目名.XXX.h
2,不安装Cygwin的情况下配置ndk
对于Windows环境下NDK的开发,如果使用的NDK是r7之前的版本,必须要安装Cygwin才能使用NDK,所以为Eclipse需要配置的builder,其实是执行Cygwin,然后传递ndk-build作为参数。在NDKr7开始,Google的Windows版的NDK提供了一个ndk-build.cmd的脚本,这样,就可以直接利用这个脚本编译,而不需要使用Cygwin了。只需要为Eclipse Android工程添加一个Builders,就能让Eclipse自动编译NDK。
(3)eclipse新建并配置一个Builder:
(a)Project->Properties->Builders->New,新建一个Builder。
(b)在弹出的【Choose configuration type】对话框,选择【Program】,点击【OK】:
(c)在弹出的【Edit Configuration】对话框中,配置选项卡【Main】。
在“Name“中输入新builders的名称(我取名为Ndk_Builder)。
在“Location”中输入nkd-build.cmd的路径。
(我的是D:\AndroidDev\android-ndk-r7\ndk-build.cmd,根据各自的ndk路径设置,也可以点击“Browser File System…”来选取这个路径)。
在“Working Diretcoty”中输入${workspace_loc:/TestNdk}(也可以点击“Browse Workspace”来选取TestNdk目录)。
(d)【Edit Configuration】对话框中,配置选项卡【Refresh】。
勾选“Refresh resources upon completion”,
勾选“The entire workspace”,
勾选“Recuresively include sub-folders”。
(e)【Edit Configuration】对话框中,配置选项卡【Build options】。
勾选“After a “Clean””,
勾选“During manual builds”,
勾选“During auto builds”,
勾选“Specify working set of relevant resources”。
点击“Specify Resources…”
勾选TestNdk工程的“jni“目录,点击”finish“。
点击“OK“,完成配置。
OK,到这里Eclipse就能够自动调用NDK编译jin目录下的C/C++代码了。
记住,ndk的整个路径不能有空格,否则出错。
开始测试:
编辑com_ndk_test_JniClient.c并保存后,
项目可能会报出很多problem,但是这是没问题的,将problem删除,clean一下项目,会生成so文件
可以看到工程下的obj/local/armeabi目录下将自动生成libXXXNdk.so库。
添加后打开Configure Build Path,勾上所添加的so文件,eclipse是默认不会自动帮你勾上的
![](http://img.blog.csdn.net/20131008224728921?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWx3YXlzNDMyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
3,在模拟器上运行时,需要将so文件导入到模拟器的文件系统system/lib 下
cmd中进入到项目根目录的中bin/classes/目录下 :
执行如下命令:
javah com.example.项目名.XXX
然后就会在 生成文件:com_example_项目名.XXX.h
2,不安装Cygwin的情况下配置ndk
对于Windows环境下NDK的开发,如果使用的NDK是r7之前的版本,必须要安装Cygwin才能使用NDK,所以为Eclipse需要配置的builder,其实是执行Cygwin,然后传递ndk-build作为参数。在NDKr7开始,Google的Windows版的NDK提供了一个ndk-build.cmd的脚本,这样,就可以直接利用这个脚本编译,而不需要使用Cygwin了。只需要为Eclipse Android工程添加一个Builders,就能让Eclipse自动编译NDK。
(3)eclipse新建并配置一个Builder:
(a)Project->Properties->Builders->New,新建一个Builder。
(b)在弹出的【Choose configuration type】对话框,选择【Program】,点击【OK】:
(c)在弹出的【Edit Configuration】对话框中,配置选项卡【Main】。
在“Name“中输入新builders的名称(我取名为Ndk_Builder)。
在“Location”中输入nkd-build.cmd的路径。
(我的是D:\AndroidDev\android-ndk-r7\ndk-build.cmd,根据各自的ndk路径设置,也可以点击“Browser File System…”来选取这个路径)。
在“Working Diretcoty”中输入${workspace_loc:/TestNdk}(也可以点击“Browse Workspace”来选取TestNdk目录)。
(d)【Edit Configuration】对话框中,配置选项卡【Refresh】。
勾选“Refresh resources upon completion”,
勾选“The entire workspace”,
勾选“Recuresively include sub-folders”。
(e)【Edit Configuration】对话框中,配置选项卡【Build options】。
勾选“After a “Clean””,
勾选“During manual builds”,
勾选“During auto builds”,
勾选“Specify working set of relevant resources”。
点击“Specify Resources…”
勾选TestNdk工程的“jni“目录,点击”finish“。
点击“OK“,完成配置。
OK,到这里Eclipse就能够自动调用NDK编译jin目录下的C/C++代码了。
记住,ndk的整个路径不能有空格,否则出错。
开始测试:
编辑com_ndk_test_JniClient.c并保存后,
项目可能会报出很多problem,但是这是没问题的,将problem删除,clean一下项目,会生成so文件
可以看到工程下的obj/local/armeabi目录下将自动生成libXXXNdk.so库。
添加后打开Configure Build Path,勾上所添加的so文件,eclipse是默认不会自动帮你勾上的
3,在模拟器上运行时,需要将so文件导入到模拟器的文件系统system/lib 下
相关文章推荐
- Java多线程编程中Future模式的详解
- 【Java基础】——JDBC
- java.lang.UnsatisfiedLinkError: Can't find dependent libraries的解决办法
- Spring+springmvc+mybatis+maven整合视频
- (Factory Method)工厂方法模式的Java实现
- 配置spring事务管理的几种方式(声明式事务)
- java异常处理机制
- Java学习--01--JRE与JDK的关系
- java学习笔记-泛型
- 各种排序算法的分析及java实现
- springmvc(一) 入门程序
- Java四类八种数据类型
- 多线程下载的原理(1) java事例
- java web权限管理
- 深入理解java虚拟机之一window下编译OpenJDK环境搭建
- 【Java EE 学习 78 下】【数据采集系统第十天】【数据采集系统完成】
- java设计模式——装饰者模式浅析
- 建造者模式
- java学习笔记-foreach与iterator
- 原型模式