引用:http://www.ibm.com/developerworks/cn/opensource/tutorials/os-androidndk/section6.html

自定义 Eclipse

使用 Eclipse IDE 的好处之一是很少需要编译。每次在 Eclipse IDE 中保存文件时,就会自动构建项目。这非常适用于 Android SDK(即 Java)文件和 Android XML 文件,但是对于 NDK 构建的库来说怎么样呢?我们来了解一下。

扩展 Eclipse 环境

如前所述,构建本地库和运行ndk-build命令一样简单。但是,除了简单的练习外,当处理其他任何项目时,像下面这样做会很麻烦,即跳出终端或命令窗口并执行ndk-build命令,返回到 Eclipse 环境,然后通过“单击”一个项目文件执行刷新,这会强制重新编译和重新打包完成的应用程序。解决方案是根据您的 Android 项目自定义构建设置以扩展 Eclipse 环境。

要修改构建设置,首先查看 Android 项目的属性并选择列表中的Builders。添加一个新 Builder 并将其移动到列表顶部,如图 8 所示。


图 8. 修改构建设置
屏幕截图显示了在 Eclipse 中编辑 IBM Photo Phun 属性的 Builders 页面

每个生成器都有 4 个配置选项卡。为您的生成器命名,比如将其命名为 Build NDK Library,然后填充选项卡。第一个选项卡("Main")指定可执行工具的位置和工作目录。浏览到您 jni 文件夹中的 ndk-build 文件和工作目录,如图 9 所示。


图 9. 设置 NDK 的 Builder 属性


您只想使用 ndk-build 而不是 Eclipse 工作空间的其他内容操作此项目,因此设置 Refresh 选项卡,如图 10 所示。


图 10. 设置 Refresh 选项卡
屏幕截图显示了 Refresh 选项卡,详细说明了 Eclipse 中 NDK 条目的编辑

只有在修改 Android.mk 文件或 ibmphotophun.c 文件时,才会想要重新构建库。为此,在 Build Options 选项卡中Specify Resources按钮的下方选择 jni 文件夹。此外,通过核对适当的时间指定何时想要构建工具,如图 11 所示。


图 11. 设置 build options
屏幕截图显示了 Build Options 选项卡,详细说明了 Eclipse 中 NDK 条目的编辑

单击OK确认设置后,确保此 NDK 构建工具设置为列表中的第一个条目,方法是选择Up按钮,直到其位于 Builders 列表的顶部,如图 7 所示。

要测试是否正确设置了您的 Builder,打开 Eclipse 中的 ibmphotophun.c 源文件,方法是右键单击源文件,然后使用 Text Editor 打开它。进行简单的更改,然后保存文件。您应在控制台窗口中看到 NDK 工具链输出,如图 12 所示。如果您的 C 代码有错误,则它们显示为红色。


图 12. NDK 输出在 Eclipse IDE 的控制台中显示
屏幕截图显示了在执行 gdb-setup 时 Eclipse 输出控制台的一个示例

将 NDK 结合到您的构建流程中,您可以侧重于编写代码而不用了解构建环境太多。需要对应用逻辑进行更改?没问题,修改 Java 代码并保存文件。需要调整图像处理算法?不用担心,只需修改 C 例程并保存文件即可。Eclipse 和 ADT 插件会完成其他操作。

更多相关文章

  1. Android Studio快捷键、配置 Android Studio、cmake配置Android
  2. android原生项目整合ReactNative
  3. SD卡读写文件 代码学习
  4. 安装|卸载apk文件在Android仿真器中
  5. Android XML文件 Error parsing XML: unbound prefix...
  6. [android]android命令行截图
  7. 【Android 应用开发】GitHub 优秀的 Android 开源项目
  8. Android10共享文件总是读取不到文件,文件资源不存在!
  9. Android学习之文件存储

随机推荐

  1. 使用WCF实现SOA面向服务编程—— 架构设
  2. {$POINTERMATH ON} 方便指针操作的编译指
  3. 将字符串转换成 UTF8 编码的函数
  4. 如何用 GDI 绘制阴影文字 - 回复
  5. SOA面向服务架构——SOA的概念
  6. 几个和当前路径相关的新函数
  7. 可爱的 CreateMessageDialog
  8. 反转内存的函数
  9. 如何用 GDI+ 高质量地缩放图片 - 回复
  10. 什么网盘不限速?