- 1.请确保安卓环境已经存在
- 2.下载并解压最新版本ndk http://developer.android.com/tools/sdk/ndk/index.html
3. 配置 .bash_profile
开启终端,输入命令 pico .bash_profile首先 export PATH=${PATH}:/Users/Malone/Documents/android-ndk-r13b
然后 A_NDK_ROOT=/Users/Malone/Documents/android-ndk-r13b
最后 export A_NDK_ROOT
contrl + x 保存 后关闭
4. 新建安卓工程
项目右键AnroidTools ->add native support->finish 会自动生成jni文件夹。写cpp文件如下:
extern "C"{ JNIEXPORT jstring Java_com_ndk_test_NDKTest_hello(JNIEnv* env ,jobject thiz); } JNIEXPORT jstring Java_com_ndk_test_NDKTest_hello(JNIEnv* env,jobject thiz){ return env->NewStringUTF("hello word"); }
MainActivity 修改:如下
定义方法 public native String hello(); 加载so库 static { System.loadLibrary("NDKTest"); }
直接调用hello()方法即可调用Java_com_ndk_test_NDKTest_hello
弄环境的时候出现的一些问题:
Method ‘NewStringUTF’ could not be resolved,Type ‘JNIEnv’ could not be resolved
解决办法:
1.项目右键->属性->c/c++常规->Code Analysis,选择”Use project settings” 中的方法Method cannot be resolved
2.jni.h没有导入,此文件在ndk的目录下,做如下配置
Project Properties -> C/C++ General -> Path and Symbols
选择include标签,Add -> $Android_NDK_HOME/platforms/android-17/arch-arm/usr/include,选中All languages,Apply -> OK