Android studio 混编之JNI环境搭建
目的:
- 搭建JNI混编环境
- 创建简易实现在Java中调用C文件的函数
一、下载所需文件(目前Android Studio不能自动下载NDK)
- 下载DNK到官网 http://wear.techbrood.com/tools/sdk/ndk 下载NDK安装文件
二、给项目配置NDK路径![](http://i.imgur.com/hgKPAQV.png)
- 在 我的电脑->高级系统设置->环境变量->path里面配置的NDK路径,可通过命令符键入”ndk-build -h”检查NDK是否配置成功。
- 在Android studio里面进行NDK配置;通过File->Project Structure选项进入Project Structure界面可对JDK、SDK及NDK进行配置,在配置NDK路径完成后clean一下就会发现local.properties文件下除了SDK路径外,还有NDK路径。
三、创建JNI工作文件夹
- 创建jni文件夹
四、在gradle.properties下加入
android.useDeprecatedNdk=true
四、在build.gradle里进行本地C函数库的配置,在defaultConfig中增加上。
ndk {
moduleName "dameon_jni"
ldLibs "log", "z", "m"
abiFilters "armeabi", "armeabi-v7a", "x86"
}
五、在java中编写调用native的java方法
package com.jni.demo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView test;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
test= (TextView) findViewById(R.id.test);
}
static {
System.loadLibrary("JniDemo");//调用前需要load这个库
}
public native String getStringFromNative();//调用C函数的java方法
}
六、本地函数的实现C函数
- 在android studio上可以自动创建本地C函数,不用像eclipse中需要先创建头文件再重写该函数