`
java_cofi
  • 浏览: 48659 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android eclipse NDK开发

阅读更多


    本文记录了最新的eclipse版本helios如何搭建Android的JDK和NDK的开发环境。并提供了整合NDK和cygwin的方法。为了使用户不用切换到cygwin命令行去编译NDK的代码,给出了配置eclipse下的NDK环境。最后给出如何配置eclipse上的C/C++开发环境——CDT。本文还提供了一个最简单的示例说明NDK的使用方法。
关键词:eclipse,Android,Android SDK,cygwin,NDK,CDT
1 准备工作
1.1Windows XP 32位环境PC机,接入宽带互联网。
1.2安装JDK
下载地址:
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u12-oth-JPR@CDS-CDS_Developer
下载之后得到:jdk-6u12-windows-i586-p.exe。安装即可。本例子是安装在:D:\JavaHome。正确安装之后,系统环境变量中应包含如下设置(假定目录和本文一样):
JAVA_HOME=...
D:\JavaHome\jdk1.6.0_12
CLASSPATH=...
%JAVA_HOME%\bin;.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;;C:\ProgramFiles\Java\jre6\lib\ext\QTJava.zip;D:\OraClient10g\jdbc\lib\classes12.zip
Path=
%JAVA_HOME%;.;%JAVA_HOME%\bin;...
1.3安装eclipse(HEILOS)
下载地址:http://www.eclipse.org/downloads/
下载:Eclipse IDE for Java EEDevelopers, 206 MB
得到:eclipse-jee-helios-SR2-win32.zip
Eclipse不需要安装,解压eclipse-jee-helios-SR2-win32.zip到:D:\helios。
启动:D:\helios\eclipse.exe。工作空间为:D:\helios\workspace
这时可以更新eclipse:
打开eclipse;菜单Help->Check For Updates,然后检查更新。选择必要的组件更新eclipse。
2 安装Android 开发工具
2.1安装Android SDK
在下面的地址中下载:android-sdk_r04-windows.zip
http://rghost.net/download/817413/e08025da54d8e38f7e97bcdce6117620a33c054e/android-sdk_r04-windows.zip
解压android-sdk_r04-windows.zip到:D:\helios\android-sdk-windows。
更新android-sdk到最新:
eclipse菜单Help->Check For Updates,进行必要的更新。
eclipse菜单Help->Install New Software:
Work with:
http://dl-ssl.google.com/android/eclipse/site.xml
点击按钮[Select All]
点击按钮[Next>]
2.2配置Android SDK
1)设置引用:
eclipse菜单->Window->Preferences:
左边选择+Android,右边填入:
SDK Location:D:\helios\android-sdk-windows
点击按钮[Apply]
2)更新Android SDK:
eclipse菜单->Window->Android SDK and AVD Manager
右边应该显示上一步设置的SDK Location:D:\helios\android-sdk-windows
点击左边的Available packages,选择要更新的包。
点击左边的Installed Packages,按 [Updated All...]可以更新全部已经安装的包。
2.3 创建Android虚拟机:
eclipse菜单->Window->Android SDK andAVD Manager,左边选择:
Availabledevices,右边按[New...]按钮,弹出Create new Android VirtualDevice (AVD)对话框:
Name:HTC-G7
Target:Android 2.2 - API Level 8
SD Card:
       Size=1000 MiB
按[Create AVD]按钮。这个AVD要在每次部署前启动(eclipse菜单->Window->Android SDK andAVD Manager,左边选择:Availabledevices,右边选择HTC-G7,按[Start...]按钮启动AVD。)
2.3配置cygwin 和Android NDK
以往,使用GCC给ARM写程序很麻烦,他的交叉编译环境是需要在Linux下运行的。而其他的很多工具又不得不在Windows下使用,于是人们不得不来回切换操作系统,很麻烦,也浪费了大量宝贵的时间。CYGWIN的出现总算解决了这一问题。

CYGWIN是一个Windows操作系统下类Linux的运行环境,包括一个用于提供Linux API的DLL和一系列的linux工具。在http://cygwin.com/可以下载到最新版本。
下载完Cygwin的安装程序setup.exe,可以安装了。在安装之前首先确定你要安装的那个驱动器上有3GB的空间。Cygwin在安装的时候可以选择直接从网络安装、下载安装包和本地安装,我是选的下载安装包,将需要的东西下到本地磁盘里,再从本地安装,下一步选择安装的位置,设置网络连接方式并选择下载站点,之后就是选择需要安装的包,有四种安装状态分别是Default、Install、Reinstall、Uninstall,如果你不能确定你所需要的环境,那就把ALL上的状态设为Install,选择全部安装。
1)安装cygwin
下载:http://www.cygwin.com/setup.exe。安装时选择ALL以免遗漏gcc等工具。漫长的等待(基于网速情况,也许一夜)之后,cygwin下载完毕。解压到:D:\cygwin。然后手动配置Windows环境变量,增加D:\cygwin;D:\cygwin\bin到Path:
Path=...;D:\cygwin;D:\cygwin\bin
验证:调出命令窗口cmd,键入命令:cygwin回车,启动cygwin工具窗口,运行:
make –v
验证cygwin是否正确:
GNU Make 3.81
Copyright (2006) Free Software Fundation Inc.
...
下载android-ndk-r4-windows.zip安装包,下载地址:
http://developer.android.com/sdk/ndk/index.html
解压缩到:D:\helios\android-ndk-r4。
写本文时,已经有最新的:android-ndk-r6-windows.zip
如果使用android-ndk-r6,请注意更改路径的配置。
2)整合cygwin和Android NDK
编辑文件:D:\cygwin\home\Administrator\.bash_profile,在末尾增加:
# Android NDK
NDK=/cygdrive/d/helios/android-ndk-r4
export PATH="$NDK:$PATH"
       保存后重新启动cygwin(开始->运行:cygwin)。

3)使用NDK编译NDK示例:
       启动cygwin;
进入d:\helios\android-ndk-r4\samples\hello-jni\jni 目录(或者相应工程的  *.C  或 *.CPP 文件所在目录内):
       #cd /cygdrive/d/helios/android-ndk-r4/samples/hello-jni/jni
执行ndk-build 编译即可:
       #ndk-build
3 Android NDK工程示例
下面演示如何创建一个最简单的NDK项目,并将cygwin+NDK整合到eclipse中。
1)启动eclipse,菜单
File->New->Project->+Android--AndroidProject
创建项目,按[Next>]按钮弹出New Android Project对话框,输入下面的内容:
Priject name:ndkfoo
勾选Android 2.2
Applicationname: ndkfoo
Package name:com.mine.ndkfoo
勾选Create Activity: ndkfooActivity
Min SDK Version:8
按[Finish]按钮。
2)在项目ndkfoo下创建jni目录(右键项目->New->Folder)。
3)在jni目录下面创建Android.mk文件,内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

# Here we give our module name and sourcefile(s)
LOCAL_MODULE  := ndkfoo
LOCAL_SRC_FILES := ndkfoo.c

include $(BUILD_SHARED_LIBRARY)
4)在jni目录下面创建ndkfoo.c文件,内容如下:
[cpp] view plaincopyprint?
#include <string.h> 
#include <jni.h> 
 
jstringJava_com_mine_ndkfoo_ndkfooActivity_invokeNativeFunction(JNIEnv* env, jobjectjavaThis) { 
    return (*env)->NewStringUTF(env, "Hello from nativecode!"); 

5)修改ndkfooActivity.java文件(ndkfoo/src/com.mine.ndkfoo)如下:
[java] view plaincopyprint?
package com.mine.ndkfoo; 
 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.os.Bundle; 
 
public class ndkfooActivity extendsActivity { 
    //load the library - name matches jni/Android.mk 
    static{ 
        System.loadLibrary("ndkfoo"); 
    } 
 
    //declare the native code function - must match ndkfoo.c 
    privatenative String invokeNativeFunction(); 
 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
 
        // this is where we call the native code 
        String hello = invokeNativeFunction(); 
        newAlertDialog.Builder(this).setMessage(hello).show(); 
    } 

6)每次编译ndkfoo项目之前必须先使用cygwin的ndk-build命令行编译ndkfoo.c:
启动cygwin;
进入D:\helios\workspace\ndkfoo\jni目录:
# cd /cygdrive/d/helios/workspace/ndkfoo/jni
执行ndk-build 编译即可:
# ndk-build
libndkfoo.so编译成功。
7)回到eclipse,重新编译ndkfoo项目。部署到AVD上(必须首先启动AVD->HTC-G7)。可以看到一个最简单的Android NDK程序正确运行到HTC-G7虚拟机中。
4 整合NDK和Eclipse
在eclipse中选中上面创建的ndkfoo项目, 按Alt+Enter,显示 Properties for ndkfoo窗口:
左边选Builders,右边按[New...]按钮,弹出的对话框中双击Program图标,在Edit Configuration 窗口中填入:
Name:NDK_Builder(这个名词是任意的)
切换到Main Tab:
Location:
D:\cygwin\bin\bash.exe
Working Directory:
D:\cygwin\bin
Arguments:
--login -c "cd/cygdrive/d/helios/workspace/ndkfoo/jni && $NDK/ndk-build"
切换到Refresh Tab,勾选以下项:
Refresh resources upon completion.
The entire workspace
Recursively include sub-folders
切换到 Build Options,勾选以下项:
AllocateConsole
After a Clean
Buring manual builds
During auto builds
During a Clean
Spacify working set of relevant resources
这样我们就把NDK和eclipse整合到一起。当更改ndkfoo.c文件之后,就不用切换到cygwin命令窗口去执行ndkfoo的编译了。
5 安装Eclipse C/C++开发工具包CDT
这个话题和NDK关系不大。
进入下面的地址页面:
http://www.eclipse.org/cdt/downloads.php
可以看到:
CDT 7.0.2 for Eclipse Helios
Eclipse package: EclipseC/C++ IDE Helios SR2.
p2 software repository: http://download.eclipse.org/tools/cdt/releases/helios.
记下URL:
http://download.eclipse.org/tools/cdt/releases/helios
打开eclipse菜单Window->Install new Software,
Work with:
http://download.eclipse.org/tools/cdt/releases/helios
按按钮[Select All],[Next>],安装和更新CDT。完成之后,就可以在eclipse中创建、编辑、编译、调试C/C++程序了(但这样的程序并不天生是一个Android NDK程序。更多的功能选项要逐步探索)。

本文转自 http://blog.csdn.net/ubuntu64fan/article/details/6686743
分享到:
评论

相关推荐

    Android开发eclipse NDK插件

    android开发有时需要开发c/c++插件,这就需要用到NDK(Native Development Kit),如果eclipse中没有配置NDK的选项则需要此插件。解压后对应放入eclipse目录下的features和plugins文件夹重启eclipse就可以看到NDK的...

    非常强大的eclipse中android ndk开发环境的配置说明

    ### 非常强大的Eclipse中Android NDK开发环境的配置说明 #### 一、概述 本文档将详细介绍如何在Eclipse中配置Android NDK开发环境,并实现C/C++代码的自动编译以及通过Eclipse使用Ant生成JNI所需的头文件。配置流程...

    Eclipse NDK 开发之 HelloWorld

    Eclipse NDK 开发是Android应用开发中的一个重要领域,它允许开发者使用原生代码(如C++)来实现性能敏感的部分或系统级功能。在本篇文章中,我们将深入...学习和掌握NDK开发,将有助于提升Android应用的性能和功能。

    ECLIPSE下的androidndk开发

    通过以上步骤,你就可以在Eclipse中进行Android NDK开发了。在开发过程中,你可以利用Eclipse的CDT插件进行C/C++代码的编写和调试,同时使用ADT的构建和部署功能进行Android应用的测试和发布。 总之,集成Android ...

    Windows下Eclipse搭建Android_NDK开发环境

    Windows下Eclipse搭建Android_NDK开发环境

    Eclipse下NDK开发参考

    本指南旨在为开发者提供关于如何在 Eclipse 开发环境中利用 Android NDK 进行开发的基础指导。Android NDK 是一套工具集,允许开发者使用 C 和 C++ 等原生代码语言来实现应用程序的部分功能。对于某些类型的应用程序...

    Eclipse配置NDK开发环境

    配置Eclipse以进行NDK开发主要包括以下几个步骤: 1. **安装ADT插件**:首先,确保你已经安装了Eclipse,并且在Eclipse中安装了Android Developer Tools(ADT)插件。ADT提供了对Android开发的全面支持,包括创建、...

    android eclipse jni(ndk) 开发环境的搭建

    ### Android Eclipse JNI (NDK) 开发环境搭建详解 #### 一、引言 随着移动互联网的迅猛发展,Android平台的应用开发变得越来越重要。而JNI(Java Native Interface)与NDK(Native Development Kit)作为连接Java层...

    windows下eclipse集成cygwin编译android_NDK

    在 Windows 环境下使用 Eclipse 开发 Android 应用时,如果需要利用 C 或 C++ 的功能,通常会涉及到 Android NDK 的使用。为了更好地整合开发流程,可以将 Cygwin 和 Eclipse 结合起来使用,实现更加高效的开发体验...

    eclipse NDK入门实例

    参考黄书《Android应用安全防护和逆向分析》第二章Android NDK开发2.1.1节以及百度经验 Android NDK入门开发实例(https://jingyan.baidu.com/article/37bce2be191ed51003f3a278.html)即可完成该实例

    Windows下Eclipse搭建AndroidNDK开发环境[整理].pdf

    Windows下Eclipse搭建AndroidNDK开发环境 本资源摘要信息将详细介绍Windows下Eclipse搭建AndroidNDK开发环境的过程,从Cygwin的搭建到Eclipse的配置,囊括了整个开发环境的搭建过程。 Cygwin的搭建 Cygwin是一个...

    Android NDK 开发教程三

    ### Android NDK 开发教程之 Hello JNI 示例详解 #### 一、引言 在移动应用开发领域,Android NDK (Native Development Kit) 提供了一种使用 C 或 C++ 编写原生代码的方式,这对于提高应用程序性能至关重要。本文...

    详解如何使用Android Studio 进行NDK开发和调试

    个人认为使用Android Studio作NDK开发是必然趋势,所以本文将简单介绍如何在Android Studio上实现NDK开发。 简介 JNI JNI 是Java Native Inteface的缩写,是Java中定义的一种用于连接Java和C/C++接口的一种实现方式...

    Android_NDK开发入门示例

    ### Android NDK 开发入门详解 #### 一、Android NDK 概述 Android NDK (Native Development Kit) 是一套工具集,它允许开发者使用 C 或 C++ 编写原生代码来构建 Android 应用程序。这为需要高性能计算的应用(如...

    Android-NDK开发

    【Android NDK开发】是指在Android应用开发中使用原生代码(C/C++)来编写部分功能,通过NDK工具集与Java代码交互。NDK的全称是Native Development Kit,它提供了一种机制,使得开发者可以利用高性能的C/C++代码来...

    Eclipse配置NDK环境

    Eclipse配置NDK环境是Android开发中一个常见的任务,它允许开发者在Eclipse中创建、编译和管理使用C或C++编写的本地代码。 首先,要正确配置NDK环境,首先需要下载并安装C/C++专用版的Eclipse,这是因为标准版的...

Global site tag (gtag.js) - Google Analytics