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

Android NDK用Android studio开发步骤:

2016-03-01 12:55 483 查看
1.先在类中写一个native本地方法,例如(static非必须,只为调用方便):

public class JniTest {
static {
System.loadLibrary("JniTest"); //跟下面moduleName名字要一致
}
public static native String getString(String s);
}


2.然后rebuild probject,在项目app/build/intermediates/classes/debug/包名下,会生成上面类名.class,

打开命令窗口,cd到项目\app\build\intermediates\classes\debug下,输入命令:javah -jni 包名.JniTest,

会在debug下生成 包名_JniTest.h的头文件,在app/src/main下创建文件夹jni,剪切上面头文件到jni下

3.根据头文件在jni下创建JniTest.c

#include <jni.h>
jstring Java_com_okdrive_others_JniTest_getString
(JNIEnv *env, jclass j,jstring s){
return s;
}


4.在build.gradle里添加

defaultConfig {
ndk {
moduleName "JniTest"          //生成的so名字
abiFilters "armeabi", "armeabi-v7a", "x86" //输出指定三种abi体系结构下的so库,目前可有可无。
}
}


5.调用

textView.setText(JniTest.getString("这是JniTest测试"));


6.运行,没问题的话就看到结果了

7.so包:会在app\build\intermediates\ndk\debug\lib下生成上面ndkabiFilters对应的三个文件夹



打开任意一个可以看到so库



这就是我们平时直接调用的so库,把这些文件夹放到其他项目的app\src\main\jniLibs,

把1里面的类放到src对应包里,调用1类即可。

8.全程注意包名要一致!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: