您的位置:首页 > 移动开发 > Android开发

android studio JNI编程

2015-11-02 09:22 344 查看
1.添加native接口

public class MainActivity extends Activity {

static{
System.loadLibrary("JniTest");
}
public native void md5Encode(String inputStr);
String result;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new Runnable() {
@Override
public void run() {
md5Encode("admin");
}
}).start();
//        System.out.println("result---------------------------" + result);
}


然后make project

2.用javah命令生成.h文件

格式:javah -d jni -classpath <SDK_android.jar>;<APP_classes> com.chuangxue.jackie.md5test3.MainActivity

其中<SDK_android.jar>填上你的sdk中android.jar文件的具体路径, <APP_classes>就是你的class文件存放的位置

例子:javah -d jni -classpath F:\AndroidSDK\platforms\android-22\android.jar;..\..\build\intermediates\classes\debugcom.chuangxue.jackie.md5test3.MainActivity

接着就会在main文件夹下生成一个jni文件夹,里面会有一个头文件

3.编写C文件,要保存在jni目录下,记得还要再添加一个空的.c文件不然会报错,这里不贴代码了

然后再make project

4.配置NDK路径

点击project structure

右边一栏有一个android NDK location 选择你的NDK路径,注意不能有空格和中文

5.修改build.gradle文件

我们要修改的是project\app文件下的那一个

在defaultConfig下添加

ndk {
moduleName "JniTest"
ldLibs "log", "z", "m"
abiFilters "armeabi", "armeabi-v7a", "x86"
}


6.在local.properties文件最后添加一行

android.useDeprecatedNdk=true


醉胡rebuild project就可以生成so文件了

so文件存放在project\app\build\intermediates\ndk\debug\lib
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: