Android NDK用Android studio开发步骤:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android NDK用Android studio开发步骤:相关的知识,希望对你有一定的参考价值。

1.先在类中写一个native本地方法,例如(static非必须,只为调用方便):

1 public class JniTest {
2     public static native String getString(String s);
3 }

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

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

4.在build.gradle里添加

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

5.在调用类里,添加

1 static {
2     System.loadLibrary("JniTest"); //跟上面moduleName名字要一致
3         }
4 
5textView.setText(JniTest.getString("这是JniTest测试"));//调用

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

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

技术分享

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

技术分享

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

以上是关于Android NDK用Android studio开发步骤:的主要内容,如果未能解决你的问题,请参考以下文章

Android NDK用Android studio开发步骤:

用Android Studio 执行ndk 程序

android ndk是啥

sh 为Android开发构建Google Protobuf库。用android ndk独立工具链。

NDK交叉编译及so库导入Android项目

用ndk环境编译android可用的so库