【1】准备工作:

下载最新版本的eclipse。下载地址:http://www.eclipse.org/downloads/

下载最新版本的JDK。下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

下载Android SDK。下载之后找个地方解压之后即可使用。下载地址:http://androidappdocs.appspot.com/sdk/index.html

安装Eclipse ADT 插件,有两种安装方式:

1.在线安装,将Eclipse解压之后,选择菜单help->Software Updates。在Available Software tab页里点击add site按钮,输入https://dl-ssl.google.com/Android/eclipse。然后Install就OK了。

2.离线安装,下载ADT插件包之后(下载地址:http://androidappdocs.appspot.com/sdk/eclipse-adt.html ),安装方式1的方法安装即可。区别在于点击add site 按钮之后输入本地ADT插件包的地址即可。

下载Android NDK。下载之后找个地方解压之后即可使用。下载地址:http://androidappdocs.appspot.com/sdk/ndk/index.html

Eclipse 能够为包括 C 语言在内的任何语言的开发提供支持。一个名为 CDT 的插件,使得在 Eclipse 里能对 C/C++ 进行开发。CDT插件的下载地址: http://www.eclipse.org/cdt/

要想进行Android JNI开发,Windows操作系统下还需要安装 Cygwin ,并安装上重要的包(特别是 GCC Make )。Cygwin的下载地址:http://www.cygwin.com/

接下来是windows 下面的配置:

在晕的死下可以配置 eclipse ndk cygwin ,使得可以在 eclipse 中直接对 android 项目中编写 c/c++ 代码并且自动编译,就像写 java 代码一样方便(当然,其实没有写 java 代码方便啦,写 java 代码可是有代码提醒功能的),当然,这个配置并不如在 linux 下配置简单。 前提条件:首先要确保cygwin 安装好了且可以运行,建议将devel 下面的所有包都装上,谁知道那个什么时候要用上呢。

1. cygwin 中设置环境变量

打开C:/cygwin/home/tao/.bash_profile 文件(假设cygwin 是安装在C:/cygwin 目录),在最后添加以下内容: ANDROID_NDK_ROOT=/cygdrive/d/android-ndk-r5b export ANDROID_NDK_ROOT

保存后退出;

【2】集成NDK

准备工作之后,这时你的Eclipse已经有了CDT插件了,你可以在Eclipse里编译JNI工程了。

生成项目也是快速而灵活的。你曾经使用过 Eclipse 的生成器吗?它们是一些可配置的开关,用于执行你所配置的命令和刷新工程资源。以下是我的配置:

右击你的项目,选择“ properties

在左边的列表中选择“ Builders

在右侧,点击“ New… ”按钮

在列表框,选择“ Program ”作为配置类型;点击“ OK ”按钮,进入下一个配置对话框。

命名 name 为“ Native Builder

选择 Location 为“ c:/cygwin/bin/bash.exe

Working Directory ”为“ c:/cygwin/bin

Arguments ”为:

重点是arguments

--login -c "cd /cygdrive/d/workspace/hello-jni&&$ANDROID_NDK_ROOT/ndk-build"

这条命令的意思是:在cygwin 环境下进入你的android 项目的目录里面,执行ndkndk-build 命令编译c 代码。 相当于在linux 环境中打开命令行终端,进入你的android 项目再用ndkndk-build 编译c 代码。 其实,cygwin 就是对linux 环境的一个模拟,这也是为什么在晕的死的环境下搭建这个环境这么麻烦的原因了。 Cd /cygdrive/d/workspace/hello-jni 命令的作用就是进入windows 文件结构下的d 盘下的workspace/hello-jni 目录,也就是你eclipseandroid 项目的绝对路径,而$ANDROID_NDK_ROOT 就是在第一步中配置的环境变量,指向ndk 跟目录,这条命令的意思就是执行ndk-build 程序编译c 代码了,编译完了以后会在android 项目的libs 目录下生成一个.so 文件。

确保在 login 前有两个连接号, -c 后面的引号。

接着打开“ refresh ”的 tab 面板:

选中“ Refresh resources upon completion

选择“ Specific resources

点击“ Specify resources ”按钮,选择你项目的 lib 目录

选中“ Recursively include sub-folders

接着打开“ Build Options ”的 tab 面板:

选中“ Allocate Console

选中“ Launch in background

选中“ Run the builder After a Clean

选中“ Run the builder During manual builds

选中“ Run the builder During auto builds

选中“ Specify working set of relevant resources

点击“ Specify Resources ”按钮,选择你项目的 JNI 目录,并包含所有的文件。

点击“ OK ”按钮。

这里假设: cygwin 安装在 c:/cygwin NDK 安装在 c:/Android_NDK ;项目工程名称是“ myapp ”。根据你的安装配置,相应地替换这些参数。 你刚刚做了什么呢?你使得,在 JNI 的目录下,每次修改任何文件, Eclipse 都通过 cygwin 自动启动 NDK 编译你的工程,并在控制台输出编译信息。当它编译完成,将自动刷新工程输出目录( lib ),并触发 ADT 生成一个新的 APK 安装包。这一切都极其简便。

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  3. 简单的Android对文件进行读写操作
  4. Android通讯录实现联系人模糊查找
  5. H5混合开发 js与java相互调用
  6. Ant 打包 Android(安卓)应用
  7. Android实战简易教程-第五枪(ListView用法研究)
  8. Android解决fragment重影问题
  9. Android(安卓)Studio NDK 入门demo

随机推荐

  1. Android安装busybox
  2. Android(1.1-4.2) platform 开发包【全版本
  3. Android(安卓)Exported service does not
  4. Android中Fragment的应用(android官方教程
  5. android intent和intent action大全
  6. Android彻底组件化方案实践
  7. Android(安卓)操作系统 获取Root权限 原
  8. Android之——系统进程与用户进程分离
  9. [置顶] Android启动过程的深入研究
  10. Android(安卓)面试问题