`
yddido
  • 浏览: 11425 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Android NDK开发“Hello World NDK”

 
阅读更多

如题,接下来讲的是开发NDK的一个小列子,可以让大家了解一下开发Android NDK的流程,在工作中,由我老大教给我的,加上自己理解,如有问题还请高手们指教!

(1)首先介绍自己的开发环境:Ubuntu下开发eclipse+android+ndk,其中配置android的开发环境网上肯定有不少,这里就不多介绍了,ndk就是自己下载一个就可以,有windows和linux的版本。还需要有点JNI的基础知识,我也刚学就不多说了。

(2)其次,新建一个android项目ndk_hello,配置如图:

在包ndk.test下新建一个类NDKLib,其中编写代码:

这里需要用到JNI的知识,nativie这个关键字,在整个项目中我们不会用到java语言来编写hello()这个方法,是会调用C后者C++的hello()方法。

其中static中的内容“ndk_hello”是对应的找到C的类,和之后的android.mk保持一致。

(3)找到你下载的ndk,打开apps文件夹,新建一个文件ndk_hello,此时点击F3,打开另一个窗口,找到你的工作目录,将你新建的项目创建快捷方式,拷贝到ndk_test下,将拷贝过来的快捷方式改名为project(只是规定),之后再在终端打开:(打如下指令)



在apps/ndk_hello下新建一个文件:Application.mk,内容如下:

(4)之后就是对之前写过的NDKLib进行处理,我的ubuntu下的文件夹名是yandong,按照你们机器的处理,我的工作目录是在yandong/java/workplace


顺序是:①找到新建的项目,项目/bin,编译ndk.test.NDKLib(javah ndk.test.NDkLib),在项目的lib文件下会自动生成一些东西。

②mkdir jni 新建一个jni的文件夹

③由第一步编译生成的.h文件拷贝到这个jni文件夹下

(5)此时在eclipse下刷新自己的项目,找到jni下的.h文件,此时这个.h文件内容如下:

在jni文件夹下创建一个.c的文件,雷同.h的文件名,编写内容如下:


其中include中导入的是自己生成的头文件,里面的方法名要和之前头文件里面的方法名一致。此时的头文件就类似java的接口。

(6)在jni下新建一个文件:Android.mk,其中编写内容如下:


其中ndk_test是在NDKLib类中定义的名字,ndk_test.c是在jni下新建的C文件。

(7)到这为止NDK的开发流程基本结束了,最后一步就是显示Hello World NDK!

这一步就很简单了,在activity那个里面设置一个TextView,调用这个就可以了:


显示效果图如下:


到这里Hello World NDK就结束了,其中为了演示从新建的工程,可能有点出入,但是最好保证项目名与jni下的android.mk中的(LOCAL_MODULE := ndk_hello)和ndk中apps下的项目里的Application.mk(APP_MODULES := ndk_hello)等保持一致最好了。

还请大家一起讨论一下关于学习NDK的开发了,感觉关于开发NDK的例子比较少,也请各位高手多多指点!

分享到:
评论

相关推荐

    androidNDK helloworld

    这个"androidNDK helloworld"资源就是一个入门级别的示例,旨在帮助初学者理解如何在Android项目中集成和使用NDK。下面将详细讲解Android NDK的基础知识以及如何创建并运行一个简单的"Hello, World!"程序。 首先,...

    NDK_Helloworld_DEMO

    "NDK_Helloworld_DEMO"是一个很好的起点,它引导开发者进入Android的原生编程世界。通过学习和理解这个DEMO,初学者可以逐步掌握NDK开发的基本步骤和技巧,为进一步深入研究提供基础。在实际项目中,结合NDK可以...

    Eclipse NDK 开发之 HelloWorld

    1. **Eclipse IDE**:一个流行的Java开发环境,也支持Android开发。 2. **ADT(Android Developer Tools)**:这是Eclipse的一个插件,用于Android应用开发。 3. **Android SDK**:包含了开发Android应用所需的所有...

    Android NDK helloworld小程序

    总结,这个"Android NDK HelloWorld"小程序是一个基础的实践案例,它展示了如何在Android应用中集成和调用C/C++代码,是学习Android NDK开发的良好起点。通过深入理解NDK和JNI的工作原理,开发者可以充分利用C/C++的...

    Android NDK——Hello JNI

    《Android NDK与JNI开发详解:从Hello World开始》 Android NDK(Native Development Kit)是Google提供的一套工具,允许开发者使用C/C++编写部分应用程序,以利用原生代码的高性能和低级硬件访问能力。JNI(Java ...

    Android NDK开发流程

    - 在Android开发中,JNI主要用于连接Java层与C/C++层的代码,使得开发者能够利用C/C++语言的强大功能,如底层硬件访问、高性能计算等。 2. **创建JNI接口**: - 使用`javah`工具自动生成JNI头文件。例如,对于名...

    jni之ndk hello world

    在Android开发中,NDK(Native Development Kit)是Google提供的一套工具集,用于在Android应用中使用C/C++代码,这使得开发者可以利用原生代码的高性能和已有的库。"jni之ndk hello world"是一个典型的入门教程,...

    Android NDK 开发入门例子

    **Android NDK 开发入门详解** Android NDK(Native Development Kit)是Google提供的一款用于在Android平台上进行原生代码开发的工具集。它允许开发者使用C++和其他本地语言编写部分应用,以实现高性能计算或者...

    Android NDK

    Android NDK 开发环境的搭建 Android NDK 是 Android 官方提供的一款开发工具,允许开发者使用 C 和 C++ 语言编写 Android 应用程序。下面将详细介绍 Android NDK 的安装和配置过程。 一、下载安装 Android NDK ...

    NDK_Sample_HelloWorld

    《Android NDK开发入门:HelloWorld实例详解》 在Android应用开发中,除了常见的Java语言,我们还可以利用NDK(Native Development Kit)进行C++或C语言的原生代码编程,以实现性能优化或者调用特定硬件功能。本文...

    Android NDK开发简单程序分享(Hello Word!)

    在本教程中,我们将详细介绍如何在Android环境下开发一个简单的“Hello World!”程序。 首先,你需要具备一些基础知识,包括C语言、Java语言和Linux操作系统的基本概念。这些是进行Android NDK开发的基础。即使你...

    android下的ndk教程之helloworld

    在Android开发中,NDK(Native Development Kit)是一个重要的工具集,它允许开发者使用C/C++等原生代码编写部分应用程序,从而实现高性能计算或利用硬件特性。本教程将聚焦于如何在Android环境下通过NDK编译并运行...

    Android NDK编程首个程序hello-jni

    总的来说,`hello-jni`项目是学习Android NDK开发的一个绝佳起点,它展示了如何在Java和C/C++之间建立桥梁,以及如何利用NDK进行编译和链接。通过深入理解这个示例,开发者可以进一步掌握Android原生编程的技巧,...

    HelloNDK:这是一个简单的 Android NDK “Hello World!” 应用

    本项目 "HelloNDK" 是一个入门级的示例,旨在教授如何在 Android 应用中集成 NDK,实现“Hello World!”的功能。 在 Android 应用开发中,通常我们使用 Java 或 Kotlin 进行编程,但有时为了提升性能或利用现有的 ...

    Android NDK开发环境搭建及案例

    在Android应用开发中,NDK(Native Development Kit)是一个重要的工具集,它允许开发者使用C++和其他本地语言编写...随着技术的发展,NDK已经成为Android开发中不可或缺的一部分,对于需要高性能计算的应用尤其重要。

    ANDROID NDK 实例文档

    《Android NDK 实例开发详解:构建你的第一个“Hello World”应用》 在移动应用开发领域,Android NDK 是一个不可或缺的工具,它允许开发者使用 C 和 C++ 语言进行原生代码编程,以实现高性能、低级别的系统交互。...

    MASTERING_ANDROID_NDK

    因此,目标读者是中型或高级 Android开发人员。本文包含两部分: 第1部分:ndk-build 在这一部分中,我们将讨论如何灵活地使用ndk-build来构建项目,以及如何组织项目的文件结构。 第2部分:独立工具链 在第2 ...

    Windows下安装NDK开发环境及hello world程序测试详细教程

    7. HelloWorld程序:编写一个简单的JNI程序,用来演示如何从Java代码中调用C++编写的函数。这个过程包括编写C/C++代码、生成相应的.h头文件,然后在Java层通过System.loadLibrary加载编译好的.so文件,并通过JNI调用...

    Android NDK之示例源码下载

    本示例源码“android-ndk-helloworld”将引导我们了解如何在Android应用中集成和使用NDK。 首先,Android NDK的主要组件包括: 1. **NDK编译工具链**:提供了用于编译C/C++代码的工具,如GCC和Clang,可以生成适用...

Global site tag (gtag.js) - Google Analytics