Android NDK环境搭建和开发入门

第一次接触NDK开发,嘿嘿,刚写了个Demo测试成功,记录下环境的搭建过程和遇到的问题。

1、首先去下载一个NDK开发包,我使用的是android-ndk-r7,直接解压就OK了,D:\android-ndk-r7

记得设置环境变量 path = D:\android-ndk-r7;


2、安装CygWin,用来在Windows下模拟linux环境,编译我们写的的JNI代码。


3、CygWin安装成功之后,进入到安装的根目录,找到这个文件  ->  /home/(你的用户)/.bash_profile,在文件的最后里面加入

NDK=/cygdrive/D/android-ndk-r7
设置NDK的路径,在CygWin里面测试设置是否成功 cd $NDK,进入NDK的目录则说明设置OK。


4、有时候NDK使用的awk.exe会过期,造成编译源码的时候失败,可以直接进入D:\android-ndk-r7\prebuilt\windows\bin目录,删除掉awk.exe即可。


接下来就可以开始写一个测试Demo了

C语言写的 native 函数的实现源码必须放到一个名字为jni文件夹内进行编译,这是必须的,不然会编译出错。

first-jni.c

#include
#include

jstring
Java_com_iqiwh_car_MainActivity_firstJni(JNIEnv *env, jobject obj){
	return (*env)->NewStringUTF(env, "This is my first jni test!");
}
对应的JNI函数命名规则:

Java_ + 包名(com.lucyfyr) 类名(MainActivity) + 接口名(firstJni):必须要按此JNI规范来操作

在CygWin里面进入到JNI目录,使用$NDK/ndk-build,来编译源码,编译成功会产生对应的.so文件,拷贝到Android项目工程libs目录里面。

然后在Activity里面加入代码,用来加载库文件

static {
		System.loadLibrary("first-jni");
	}

然后定义对应的native 函数

public native String firstJni();

在适当的位置直接调用就行了,函数会返回一个Java的String字符串。


一个简单的Demo。


你可能感兴趣的:(Android笔记,android,ndk,jni,ndk,java,Android)