Android 第一个NDK项目
1.下载相关软件
进入google中国官网 http://tools.android-studio.org/,选择NDK下载https://pan.baidu.com/s/1dFhUPgt。下载好后,双击解压。
2.Eclipse中设置NDK
对于一个没有设置过的eclipse中找不到NDK的选项。
下载eclipse的插件。借用百度知道的链接:
http://pan.baidu.com/s/1qWz5rNA 密码0qhk
下载好后将文件“com.android.ide.eclipse.ndk_23.0.2.1259578.jar”复制到eclipse目录的“plugins”里面,重启eclipse。然后查看 Window->Preferences->Android,效果如下:
同时”NDK Location”加入第一步解压的ndk文件路径
3.MainActivity中调用c函数。
自定义一个函数public native String helloFromC(); 函数,这个函数没有函数体。
4.新建c代码
1)新建一个Android工程,在工程上右键点击Android Tools->Add Native Support然后给我们的.so文件取个名字,例如:test.so
2)这时候工程就会多一个jni的文件夹,jni下有Android.mk和test.cpp文件。Android.mk是NDK工程的Makefile。
3)在jni文件夹里新建hello.c文件,文件内容如下。文件头必须包含3个头文件。文件名以Java开头,MainActivity类名,再加上第3步的自定义函数名的联合。
现在文件目录如下
4)同时修改Android.mk文件的内容,具体内容如下。其中LOCAL_SRC_FILES 和第3)步的文件名一致,而LOCAL_MODULE是编译后的文件名,建议和文件名一致。
5)这时项目会报错,Method 'NewStringUTF' could not be resolved
选择项目右键->Properties->C/C++ General->Code Analysis->Syntax And Semantic Errors中把”Method cannot be resolves”的打勾去掉即可,如下图所示。
6)编译hello.c 文件,打开jni所在文件夹 输入命令 ndk-build.cmd 如下图所示。
7)如果项目中libs文件夹出现下图的armeabi,说明编译成功。
8)在MainActivity中加入static 调用类库hello,第3步所示。