AndroidStudio下的JNI

来源:互联网 发布:种植牙 知乎 疼 编辑:程序博客网 时间:2024/04/26 06:51

第一步:下载NDK

从SDK Manager 或者 AndroidDevTools里都可以,如果是从AndroidDevTools这个网站下载,注意Studio必须下载r9以上版本

 

第二步:配置NDK路径

       打开Project Structure -> SDK Location -> Android NDK Location,配置NDK路径

      

 

第三步:定义一个native方法

public classNativeMethods {
   
/**  定义native方法*/
   
public static native StringgetHelloStr();
}

 

第四步:Build一下Project,生成.class文件

生成的class文件会在jnidemo/build/intermediates/classes/debug下面。

 

第五步:使用javah命令生成头文件

       在class所在目录下,调用“javah -jni 包名.类名”生成.h头文件

      

       执行完命令后,当前class目录下会生成一个.h的头文件:

      

 

第六步:创建jni文件夹,把.h头文件拷贝过来

 

第七步:在jni目录下新建一个c文件,在c文件中将头文件include进来,并编写相应要实现的方法

 

第八步:配置NDK

 

第九步:在代码中加载so库,调用native方法

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 加载so库        System.loadLibrary("Hello");        // 调用native方法获取字符串        String str = NativeMethods.getHelloStr();        // 打印输出        Log.e("JNI Demo MainActivity", str);    }}

 

第十步:运行程序

       运行程序后,AndroidStudio会自动根据你在build.gradle中的配置生成Android.mk文件以及相应的so文件,位置在:/build/intermediates/ndk/debug


原创粉丝点击