Android(安卓)NDK环境搭建和开发入门
16lz
2021-01-24
第一次接触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#includejstringJava_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。
更多相关文章
- C语言函数的递归(上)
- Android系统给第三方app签名流程
- Android开发主页框架搭建
- Android(安卓)aar打包及引用
- Vitamio打造android个性化得播放器
- [置顶] Android存储选择
- android assets 的说明与应用
- Android:支持不同分辨率的屏幕设计
- Android应用程序UI设计(1)_布局