上一篇文章,简单的设置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. Mac OS X将CSV格式转换为Excel文档格式,Excel转CSV中文乱码问题

    一:在Mac上假设你使用Excel打开windows导出的CSV格式文档.你会发现表格中全部的的内容都显示在A列. 那么,怎样恢复正常呢,你能够将CSV格式的文档导入到Excel文档中,这样就正常显示 ...

  2. Mac OS升级到Yosemite后一些问题

    苹果"优山美地"採用移动设备平面风格,看起来还是相当清爽. 只是升级完还是有一些程序兼容性问题的. 1. 开发Android的程序猿们,Java se 6 须要升级到2014_00 ...

  3. Repeater

  4. leetcode第一刷_Largest Rectangle in Histogram

    非常难的问题,数组线性时间. 属于我之前说的解法的借助辅助空间.给定两个柱子,他们之间的面积由什么确定呢?没错,他们之间的距离和他们之间最矮的那个柱子的高度.我们并不知道这个柱子在什么位置,所以仅仅能 ...

  5. Load and Unload

    一.前言 在前一段时间,我遭遇了一个现象诡异的Bug,最后原因归结为在DllMain里错误地调用了FreeLibrary(在本文最后对此Bug有详细的解释). MSDN里关于禁止在DllMain里调用 ...

  6. bootstrap css选择不同的宽度

    刚开始使用bootstrap css开源项目.遇到一个问题,默认的input 宽度太大,需要找小一点的. 其实只需要在input tag中选用预定义的较小的宽度即可.比如: <input typ ...

  7. 自己动手写处理器之第一阶段(2)——MIPS指令集架构的演变

    将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第三篇.我尽量每周四篇 MIPS指令集架构自上世纪80年代出现后.一直在进行着更新换代,从最初的MIPS I到MIPS V,发 ...

  8. make 2>&1 | tee log.txt之小析

    前言 接触过linux的人,或多或少都会了解一点make 2>&1 | tee log.txt这个命令. 1. make是什么? make是linux下一个非常强大的命令,简单点就是你要 ...

  9. filter与servlet对照

    最近在开java物自,还记得刚开始使用servlet这是一个调试ajax什么时候,然后,我不知道怎么用,你知道写的路径来调用,总是提示404错,,到最后自己一点点的调通了,知道servlet是须要se ...

  10. loj1341(数学)

    传送门:Aladdin and the Flying Carpet 题意: 给出两个正整数1<=m<=n<=1e12.问N可以拆成多少对p*q,使得p和q中最小的不小于a,且p!=q ...