1、安装
下载NDK包后,放到与SDK同级的目录下,并且配置好环境变量,配好后,在终端输入ndk-build命令测试,出现如下情况,则代表安装成功
2、工程与代码
a、新建android工程,编写java代码,写好需要的本地方法,以及加载的c文件名字
b、根据写好的java代码,生成.h的c文件,其中生成.h文件的步骤如下:
1、进入该项目的目录下
braincol@ubuntu:~$ cd workspace/android/NDK/hello-jni/
2、ls查看工程文件
braincol@ubuntu:~/workspace/android/NDK/hello-jni$ ls
AndroidManifest.xml assets bin default.properties gen res src
3、在工程目录下建立一个jni文件夹:
braincol@ubuntu:~/workspace/android/NDK/hello-jni$ mkdir jni
braincol@ubuntu:~/workspace/android/NDK/hello-jni$ ls
AndroidManifest.xml assets bin default.properties gen jni res src
4、执行如下语句就可以生成相应的.h文件了:
braincol@ubuntu:~/workspace/android/NDK/hello-jni$ javah -classpath bin -d jni com.example.hellojni.HelloJni
c、根据b中生成好的.h文件来编写相应的.c文件,根据自己的需要实现.h文件中的方法
d、编写Android.mk文件,其格式为如下:
e、生成.so共享库文件,在终端进入到该项目的目录下,输入ndk-build命令,即可在lib目录下生成.so文件,运行该项目,即可。
3、调试语句输出
在 NDK 中, printf() 没法输出,所以我们需要借助 log 库来将我们 c 代码库中需要输出的内容,通过 java 控制台输出。调用函数 __android_log_print(), 就可以在 Eclipse 中,查看 LogCat 来查看相关的输出信息了。
于是在c文件的编写中,需要引入android/log.h文件:
#include <android/log.h>
同时声明打印方法:
#define __android_log_print(......);例如:
因为打印是链接的log库,所以在Android.mk文件中加上如下一句:
LOCAL_LDLIBS += -llog
重新ndk-build,运行项目,可以在logcat中发现我们在c文件中加的打印语句。
参考:
http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html
http://blog.csdn.net/xuxinyl/article/details/6409030
分享到:
相关推荐
学习Android_NDK入门很简单学习Android_NDK入门很简单学习Android_NDK入门很简单学习Android_NDK入门很简单
ndk-Android C++高级编程:使用NDK_Onur Cinar,于红.zipndk-Android C++高级编程:使用NDK_Onur Cinar,于红.zipndk-Android C++高级编程:使用NDK_Onur Cinar,于红.zipndk-Android C++高级编程:使用NDK_Onur Cinar,...
Android NDK入门
Android C++高级编程:使用NDK(完整版带书签),目前来说最好的了
Android C++高级编程:使用NDK
Android C++高级编程:使用NDK_中文,高清带目录,高级进阶必备书籍
《移动开发经典丛书:Android C++高级编程:使用NDK》提供了移植、开发以及利用Android平台上的C++和其他原生代码所需要的知识和技能,以便于运行图形化的高级应用和更复杂的原生应用。 内容简介 Android是移动...
《移动开发经典丛书·Android C++高级编程:使用NDK》中我们将学习如何用AndroidNDK通过原生代码语言去实现自己的Android应用中对性能要求较高的部分。 《移动开发经典丛书·Android C++高级编程:使用NDK》介绍了...
android:对andriod ndk的理解
Android_ NDK编程入门笔记
【eoe特刊】第七期:NDK.rar 用来了解NDK是非常有帮助的
Android NDK编程入门笔记 开发环境的搭建
AndroidNDK学习笔记.pdf
该资源包含了一个AndroidNDK入门项目实战,包括代码和注释,简单易懂!
不管你是想将已经存在的原生代码应用移植到Android平台上还是准备开始在Android平台上进行软件开发,使用《Android C++高级编程——使用NDK》一书提供的技术可以构建更出色的应用。本书将展示构建性能更好的复杂原生...
androidndk入门.pdf
android ndk开发笔记 你懂的 介绍了ndk开发的过程
Android项目史上最强NDK入门项目实战.rar
android-ndk-r16b, Android studio jni开发用ndk 包. 文件为网盘地址及密码
超强NDK入门项目实战 你只知道 用java编 android吗 试试 c语言的吧 android 游戏必学