NDK/JNI学习--导入hello-jni工程
2014-06-15 19:42
176 查看
上一篇文章,简单搭建了NDK开发的环境,此文通过导入C:\android-ndk-r9d\samples\hello-jni(NDK自带example)来疏通真个环境。
打开Eclipse IDE,指定NDK的位置
选择的NDK位置仅对当前的Eclipse workspace有效哦。如果更改workspace,需要重新指定NDK的位置
![](http://img.blog.csdn.net/20140615174742156?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbnhoX2xvdmU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2. 像导入普通Android工程一样导入hello-jni
此时会出现如下图错误,这个错误是Android导入工程大部分都会出现类似的(原因是开发时API Level小 ),可以不管它。
![](http://img.blog.csdn.net/20140615175747437)
这个时候如果编译运行,会报错,没有.so这个文件。
3. 添加原生C文件支持
直接上图吧,不用文字说明了
![](http://img.blog.csdn.net/20140615181000593)
![](http://img.blog.csdn.net/20140615181148031)
点击Finish按钮即可完成对C原生的支持。
4.接下来直接编译运行即可成功导入hello-jni工程。
![](http://img.blog.csdn.net/20140615181727296)
接下来,我们看下控制台的打印信息:
![](http://img.blog.csdn.net/20140615182052703)
此时,你可能会感觉IDE真牛逼,这也没有NDK,ANT,Cygwin什么事,那我们之前还安装它干什么呢。其实是Eclipse简化了整个构建过程和部署过程,但是并不是所有Android NDK 项目都是Eclipse 来搞定的啊。我感觉距离入门NDK还差点远哦。接下来我们共同继续努力学习吧,苦逼的程序猿们。
命令行构建项目
1. 删除上面Eclipse构建工程生成的libs,obj这两个文件夹,重新用命令行的形式构建项目
2.构建原生的组件(ndk build c库),详细如下图
![](http://img.blog.csdn.net/20140615185228656)
已经生成我们在Eclipse中看到的编译成功之后的libs,obj目录了,这个可以说命令行构建已经成功大部分咯。
3.构建Android应用程序,其实就是打包apk的过程
这是我们需要用到ANT,用ant的原因是android sdk是基于ant的。在第一次构建项目时,要首先生成ANT的构建文件。如下图
![](http://img.blog.csdn.net/20140615190238843)
接下来呢,我们执行ant debug命令构建apk文件:hello-jni-debug.apk
![](http://img.blog.csdn.net/20140615190647156)
话说,有ant debug,那会不会有ant release呢,看下图就知道ant release是可以的哦。
![](http://img.blog.csdn.net/20140615191621375)
我们在构建Apache ANT文档时曾说,他是第一次需要构建,来验证下哦。把hello-jni.c的文件输出改为“Hello from Apache ANT !”,然后直接运行ndk-build,然后ant debug看看
![](http://img.blog.csdn.net/20140615193001953)
事实验证OK
这个流程我们算是走通了,接下来我们新建个项目,其实主要是为了Android.mk Application.mk等makefile文件哦。
打开Eclipse IDE,指定NDK的位置
选择的NDK位置仅对当前的Eclipse workspace有效哦。如果更改workspace,需要重新指定NDK的位置
2. 像导入普通Android工程一样导入hello-jni
此时会出现如下图错误,这个错误是Android导入工程大部分都会出现类似的(原因是开发时API Level小 ),可以不管它。
这个时候如果编译运行,会报错,没有.so这个文件。
3. 添加原生C文件支持
直接上图吧,不用文字说明了
点击Finish按钮即可完成对C原生的支持。
4.接下来直接编译运行即可成功导入hello-jni工程。
接下来,我们看下控制台的打印信息:
此时,你可能会感觉IDE真牛逼,这也没有NDK,ANT,Cygwin什么事,那我们之前还安装它干什么呢。其实是Eclipse简化了整个构建过程和部署过程,但是并不是所有Android NDK 项目都是Eclipse 来搞定的啊。我感觉距离入门NDK还差点远哦。接下来我们共同继续努力学习吧,苦逼的程序猿们。
命令行构建项目
1. 删除上面Eclipse构建工程生成的libs,obj这两个文件夹,重新用命令行的形式构建项目
2.构建原生的组件(ndk build c库),详细如下图
已经生成我们在Eclipse中看到的编译成功之后的libs,obj目录了,这个可以说命令行构建已经成功大部分咯。
3.构建Android应用程序,其实就是打包apk的过程
这是我们需要用到ANT,用ant的原因是android sdk是基于ant的。在第一次构建项目时,要首先生成ANT的构建文件。如下图
接下来呢,我们执行ant debug命令构建apk文件:hello-jni-debug.apk
话说,有ant debug,那会不会有ant release呢,看下图就知道ant release是可以的哦。
我们在构建Apache ANT文档时曾说,他是第一次需要构建,来验证下哦。把hello-jni.c的文件输出改为“Hello from Apache ANT !”,然后直接运行ndk-build,然后ant debug看看
事实验证OK
这个流程我们算是走通了,接下来我们新建个项目,其实主要是为了Android.mk Application.mk等makefile文件哦。
相关文章推荐
- 使用eclipse开发ndk之:导入现有的ndk工程(NDK例子-Hello-jni导入到eclipse)
- 使用eclipse导入现有的ndk工程(NDK例子-Hello-jni导入到eclipse)
- 使用eclipse开发ndk之:导入现有的ndk工程(NDK例子-Hello-jni导入到eclipse)
- 使用eclipse开发ndk之:导入现有的ndk工程(NDK例子-Hello-jni导入到eclipse)(转载)
- Android应用---基于NDK的samples例程hello-jni学习NDK开发
- NDK/JNI学习--进口hello-jniproject
- Android应用---基于NDK的samples例程hello-jni学习NDK开发
- 将NDK中的例子工程hello-neon导入到Eclipse中
- Android-JNI NDK的学习记录
- Android JNI 的学习还是要基于NDK环境!
- JNI学习--通过Java应用调用C语言的函数打印hello,world
- Android JNI和NDK学习(06)--JNI的数据类型
- android ubuntu jni so 报错Java_com_gcx_ndkjni_HelloNdkJni_stringFromNDKJNI
- NDK---JNI学习步步深入之一
- Android JNI和NDK学习(08)--JNI实例一 传递基本类型数据
- Android JNI和NDK学习(03)--动态方式实现JNI
- Android JNI和NDK学习(04)--NDK调试方法
- Android JNI NDK HelloWorld
- JNI+NDK HELLOWORLD!
- NDK---JNI学习步步深入之二