android JNI入门 之helloworld

旧版步骤

创建好项目后

  • 打开gradle.properties,添加:
android.useDeprecatedNdk=true
  • 打开local.properties,添加:
ndk.dir=NDK的路径
  • 最后打开app内build.gradle,在android/defaultConfig下面添加ndk配置
ndk {
            moduleName "JNISample"  //moduleName 表示编译出的so文件的名字
        }
  • 任意在类中声明一个Native方法(C/C++写的方法)
 public static native String getJniString();
  • 进入到源代码目录,在终端中根据native方法所在文件路径,输入以下命令生成头文件com_instructionextract_sdkdemo_sdkDemo.h
javah com.instructionextract.sdkdemo.sdkDemo
  • 在main目录下创建jni目录存放Native层代码,将头文件移动到jni目录下
  • 使用头文件的名称,创建cpp文件com_instructionextract_sdkdemo_sdkDemo.cpp来写代码,例如
#include <com_instructionextract_sdkdemo_sdkDemo.h>

//方法定义是从.h头文件中copy过来的
JNIEXPORT jstring JNICALL Java_com_instructionextract_sdkdemo_sdkDemo_Anti_1TraceMe
  (JNIEnv *, jclass){
    return env -> NewStringUTF("Hello World");;
 }
  • 在java层使用Native层方法,先加载库文件,文件名由moduleName定义
    static {
        System.loadLibrary("AntiDebug");
    }

新版步骤

谷歌官方推荐参考向您的项目添加 C 和 C++ 代码,安装好NDK、LLDB,在新建项目的时候,在向导的 Configure your new project 部分,选中 Include C++ Support 复选框。

创建好项目后,原生代码都在cpp目录下即可,并且新建项目存在一个系统生成的原声demo方法可以参考

参考

Android Studio jni开发入门——看我就够了!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容