此贴记录一下自己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 Worldreturn 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 := JNISampleLOCAL_LDFLAGS := -Wl,--build-idLOCAL_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\jniLOCAL_C_INCLUDES += C:\Users\Administrator\Desktop\code\TestJNI\app\src\main\jniinclude $(BUILD_SHARED_LIBRARY)

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

APP_MODULES := JNISampleAPP_ABI := all

4.编译生成so
在jni目录下执行命令 ndk-build

部分详情可参考一下博客
Android Studio jni开发入门
AndroidStudio JNI详细教程

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Android(安卓)WebView使用本地字体
  6. Mac系统下Android(安卓)SDK无法更新解决办法
  7. Android(安卓)学习笔记 databinding简单使用:使用databinding在li
  8. not using the 2- or 3-argument View constructors
  9. android native调用

随机推荐

  1. Android(安卓)android下的电话拨号器
  2. Android之拍照
  3. Android(安卓)键盘驱动
  4. Android之 drawTextOnpath
  5. Android(安卓)-- 解决Android(安卓)Studi
  6. android ios vue 互调
  7. android复合控件
  8. EditeText标签字体大小设置 是否可编辑
  9. Android(安卓)各版本Gradle离线下载
  10. 去除启动edittext时候默认的焦点