步骤:
1、首先新建一个普通的项目
并且关联NDK
2、在Java目录的包下新建一个Hello的类
public class Hello { public static native String sayHello(); }
这里提示sayHello方法没在JNI中找到的错误,没关系,接下来慢慢解决
3、在terminal里面执行以下命令,目的是生产Hello类对于的头文件
C:\Users\zhengyg\AndroidStudioProjects\MyNdkProject>cd app
C:\Users\zhengyg\AndroidStudioProjects\MyNdkProject\app>cd src/main/java
C:\Users\zhengyg\AndroidStudioProjects\MyNdkProject\app\src\main\java>javah -d ../jni com.example.myndkproject.Hello
这时候在工程的main目录下出现了jni的包
4、在jni包下新建一个Hello.cpp和Hello.h文件
在Hello.cpp中实现这个方法
NIEXPORT jstring JNICALL Java_com_example_myndkproject_Hello_sayHello(JNIEnv * env, jclass jclass1){ return env->NewStringUTF("from c"); }
5、生产.so文件
在app模块的build.gradle下
ndk{ moduleName "hello" }
编译会出现下面的问题
在gradle。properties加上
android.useDeprecatedNdk=true
再次编译就可以了
6、这是运行结果: