android studio NDK环境搭建

1.下载NDK

  1. 在src/main/jni目录下 新建文件 Android.mk 和 Application.mk,hello-jni.c文件内容如下

Android.mk

LOCALPATH := $(call my-dir) include $(CLEARVARS) LOCALMODULE := hello # 生成的静态链接库或动态链接库的名字, linux 下生成 libhello.so LOCALSRCFILES := hello-jni.c # 所有的源文件,空格隔开 include $(BUILDSHARED_LIBRARY) # 生成动态链接库

Applocation.mk

APP_ABI := all # 生成所有CPU架构下的库,如果没有 Application.mk 默认只会生成 arm 架构下的库

hello-jni.c

include jstring JavacomexamplelesliefangmyapplicationMainActivitystringFromJNI(JNIEnv env, jobject thiz) { return (env)->NewStringUTF(env, "Hello from JNI ! "); }

注意方法的命名:必须包含到类的完整的包名

在build.gradle 里添加模块

defaultConfig { ndk { moduleName "hello" // 要生成的库文件的名称 } }

别忘了在local.properties配置ndk路径

ndk.dir=/Users/baidu/android/android-ndk/android-ndk-r10e sdk.dir=/Users/baidu/android/android-sdk

android里面就可以直接使用了

public class MainActivity extends Activity { TextView textView; static { System.loadLibrary("hello"); } public native String stringFromJNI(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textview1); textView.setText(stringFromJNI()); } }

如果报错如下

Error:(16, 0) NDK integration is deprecated in the current plugin.

请在gradle.properties添加’android.useDeprecatedNdk=true’

http://stackoverflow.com/questions/31979965/after-updating-android-studio-to-version-1-3-0-i-am-getting-ndk-integration-is

参考:http://www.cnblogs.com/lesliefang/p/5159561.html