上一篇文章,简单的设置NDK开发环境,本文通过导入C:\android-ndk-r9d\samples\hello-jni(NDK自带example)来疏通真个环境。

  1. 打开Eclipse IDE。指定NDK的位置
         选择的NDK位置仅对当前的Eclipse workspace有效哦。

假设更改workspace。须要又一次指定NDK的位置

         
     2. 像导入普通Androidproject一样导入hello-jni
  • 此时会出现例如以下图错误,这个错误是Android导入project大部分都会出现类似的(原因是开发时API Level小 )。能够无论它。
  • 这个时候假设编译执行,会报错,没有.so这个文件。
3. 加入原生C文件支持
直接上图吧。不用文字说明了
 
点击Finishbutton就可以完毕对C原生的支持。
4.接下来直接编译执行就可以成功导入hello-jniproject。

接下来,我们看下控制台的信息打印:

此时。你可能会感觉IDE真牛逼,这也没有NDK。ANT,Cygwin什么事。那我们之前还安装它干什么呢。

事实上是Eclipse简化了整个构建过程和部署过程。可是并非全部Android NDK 项目都是Eclipse 来搞定的啊。

我感觉距离入门NDK还差点远哦。接下来我们共同继续努力学习吧,苦逼的程序员们。

命令行构建项目
1. 删除上面Eclipse构建project生成的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文件哦。

NDK/JNI学习--进口hello-jniproject的更多相关文章

  1. NDK/JNI学习--环境搭建

    基于Windows来开发Android的NDK.JNI须要的环境搭建,所须要的软件例如以下: Android 开发环境的基本配置(SDk,ADT.Eclipse IDE.JDK)       这些都是 ...

  2. android NDK 实用学习(五)-c++端调用java接口

    1,阅读此文章前请阅读前面文章,以免阅读出现障碍: android NDK 实用学习(一)-获取java端类及其类变量 android NDK 实用学习(二)-java端对象成员赋值和获取对象成员值 ...

  3. 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)

    原文网址:http://www.cnblogs.com/luxiaofeng54/archive/2011/08/20/2147086.html 基于 Android NDK 的学习之旅-----数据 ...

  4. Android JNI学习(五)——Demo演示

    本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...

  5. Android JNI学习(四)——JNI的常用方法的中文API

    本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...

  6. Android JNI学习(三)——Java与Native相互调用

    本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...

  7. Android JNI学习(二)——实战JNI之“hello world”

    本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...

  8. Android NDK JNI 入门笔记-day04-NDK实现Hash算法

    * Android NDK JNI 入门笔记目录 * 开头 前面的学习,我们已经掌握了 NDK 开发的必备知识. 下一步就要多实践,通过创造问题并解决问题,来增加熟练度,提升经验. 日常开发中,经常会 ...

  9. 【Android】Eclipse自动编译NDK/JNI的三种方法

    [Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...

随机推荐

  1. IIS部署asp.net报404错误

    1).所建网站->(右键)权限->"ASP.NET计算机帐户"是否已添加.     2).所建网站->(右键)属性->ASP.NET选项卡->版本是否 ...

  2. flashcache中应用device mapper机制

    Device Mapper(DM)是Linux 2.6全面引入的块设备新构架,通过DM可以灵活地管理系统中所有的真实或虚拟的块设备. DM以块设备的形式注册到Linux内核中,凡是挂载(或者说“映射” ...

  3. django url调度

    Django的url配置相同遵循着DRY(dont repeat yourself)的规则.下面都是官方文档的样例: 首先介绍的是Django怎样处理http的请求: 1.在setting里定义ROO ...

  4. Swift - 控制流/控制结构说明(if,switch,for,while)

    1,if语句 1 2 3 4 5 if count >=3 {     println("yes") }else{     println("no") } ...

  5. go (break goto continue)

    package main import ( "fmt" ) func main() { LABEL1: for { ; i < ; i++ { { break LABEL1 ...

  6. Face-landmarks-detection-benchmark 人脸特征定位网站汇总

    源地址:https://www.douban.com/note/525032729/   https://github.com/delphifirst/FaceXhttps://github.com/ ...

  7. 《转》Python多线程学习

    原地址:http://www.cnblogs.com/tqsummer/archive/2011/01/25/1944771.html 一.Python中的线程使用: Python中使用线程有两种方式 ...

  8. KMP算法的Next数组详解(转)

    转载请注明来源,并包含相关链接. 网上有很多讲解KMP算法的博客,我就不浪费时间再写一份了.直接推荐一个当初我入门时看的博客吧: http://www.cnblogs.com/yjiyjige/p/3 ...

  9. ASP.NET MVC的跳转攻击问题

    在ASP.NET MVC的自带的模板代码中,有这样一段,用来拦截非登录用户,使其跳转到登录页面,然后登录后在跳转回原页面.所以,期间有一个returnUrl参数用来保存原页面地址.在Login Act ...

  10. Help Johnny-(类似杭电acm3568题)

    Help Johnny(类似杭电3568题) Description Poor Johnny is so busy this term. His tutor threw lots of hard pr ...