Adroid studio3.2 JNI教程

本文档详细介绍如何在Android Studio 3.2环境下进行JNI开发,包括NDK下载配置、Java与C层接口交互、头文件生成及C++文件编写等步骤,并提供完整的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此贴记录一下自己Android Studio3.2 进行jni开发的基础配置以及入门教程

1.下载NDK
2.配置
(1)打开gradle.properties,添加:android.useDeprecatedNdk=true

(2)打开local.properties,添加:ndk.dir=D:\Android\SDK\ndk-bundle

(3)app里面的build.grald文件夹中添加

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.administrator.testjni"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        ndk {
            moduleName "JNISample"//moduleName 表示编译出的so文件的名字
        }


    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

3.新建java访问c层的接口类,并写一个native方法

public class JniUtils {

    //创建一个Jni的工具类,并定义接口函数,函数关键字用native(static用不用均可)
    //getJniString()方法即要与C层的交互的函数
    public static native String getJniString();

    static {
        //名字注意,需要跟你的build.gradle ndk节点下面的名字一样
        System.loadLibrary("JNISample");
    }
}

4.生成头文件
首先要安装JDK并配置环境变量,才可执行下图步骤
在这里插入图片描述
输入命令 javah com.example.administrator.testjni.JniUtils

在这里插入图片描述

5.创建jni开发的文件夹

点击main文件夹,New → Folder → JNI Folder,生成成功后main目录下会出现一个jni的文件夹
找到刚才生成到头文件,复制到jni文件夹下
头文件有了,现在在jni目录下创建一个C++文件用于开发使用,命名与头文件相同
编写C++文件中定义函数的代码
在这里插入图片描述
com_example_administrator_testjni_JniUtils.cpp文件

//
// Created by Administrator on 2019/4/2.
//

#include "com_example_administrator_testjni_JniUtils.h"

JNIEXPORT jstring JNICALL Java_com_example_administrator_testjni_JniUtils_getJniString
(JNIEnv *env,jclass jobj) {
//new 一个字符串,返回Hello World
return env -> NewStringUTF("Hello World");
}

6.调用函数,运行项目
在这里插入图片描述

生成so文件
1.配置ndk-bundle系统变量path,值为D:\Android\SDK\ndk-bundle
2.在jni目录下新建Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := JNISample
LOCAL_LDFLAGS := -Wl,--build-id
LOCAL_SRC_FILES := \
	C:\Users\Administrator\Desktop\code\TestJNI\app\src\main\jni\com_example_administrator_testjni_JniUtils.cpp \

LOCAL_C_INCLUDES += C:\Users\Administrator\Desktop\code\TestJNI\app\src\debug\jni
LOCAL_C_INCLUDES += C:\Users\Administrator\Desktop\code\TestJNI\app\src\main\jni

include $(BUILD_SHARED_LIBRARY)

3.在jni目录下新建Application.mk文件

APP_MODULES := JNISample
APP_ABI := all

4.编译生成so
在jni目录下执行命令 ndk-build
在这里插入图片描述
部分详情可参考一下博客
Android Studio jni开发入门
AndroidStudio JNI详细教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值