Andro Studio 中JNI学习使用记录
来源:互联网 发布:网络谣言研究报告 编辑:程序博客网 时间:2024/06/08 06:54
题记:现有在工程中需要用JNI来简化及拓展APK功能
一,安装及配置NDK
进入SDK manager 勾选NDK,然后Apply一下,等待安装完成
配置环境变量:
新建环境变量,路径为AS在sdk路径中安装的./ndk-bundle
然后在path中添加上图定义的%NDK_ROOT%
dos窗口可以敲出ndk-build指令即配置完成,因为cmd路径下啥都没,所以当前啥都build不出来。
二,在AS中使用JNI
首先需要根据需求写对应的C函数实现,并通过NDK编译成SO库,先定义一个新类
loadLibrary指定所要调用的so库,native表示so库的调用函数。package com.example.testing.mybooo;public class NdkJniUtils{ static { System.loadLibrary("demo"); } public native String getCLanguageString();}
然后在app目录下创建JNI目录,用以存放源C文件和MakeFile文件
首先cmd进入./app目录下,使用javah指令根据制定类生成需求的H文件,指令:javah com.example.testing.mybooo.NdkJniUtils
根据生成的h文件定义的函数名来写对应的C函数实现;
demo.c如下
#include <jni.h>jstringJava_com_example_testing_mybooo_NdkJniUtils_getCLanguageString(JNIEnv *env, jobject obj){ return (*env)->NewStringUTF(env,"This just a test for Android Studio NDK JNI developer!");}
写好C以后写MakeFile,必须命名为Android.mk,内容如下
LOCAL_PATH := $(call my-dir)//索引编译目录include $(CLEAR_VARS)//LOCAL_MODULE := demo//输出模块名,实际输出so文件名为“libdemo.so”LOCAL_SRC_FILES := demo.c//源include $(BUILD_SHARED_LIBRARY)//
之后在app目录下输入ndk-build命令,输出libdemo.so库文件。
在app节点的build.gradle的android分支下设置jni中的so来源
android { ... sourceSets { main { jniLibs.srcDirs = ['libs'] } }}
然后在MainActivity中调用所需函数,即可正常使用了。
阅读全文
0 0
- Andro Studio 中JNI学习使用记录
- Android studio 中使用Jni
- Android studio中如何使用Ndk(Jni)?
- Android Studio 中使用JNI的步骤
- 在Android Studio中使用Jni
- Android Studio中使用NDK/JNI
- Android Studio中jni的使用
- Android Studio中使用NDK/JNI
- 【笔记】Android Studio中使用NDK-JNI
- 在Android Studio中使用Jni
- 如何在Android Studio中使用JNI
- Android JNI学习系列1.3——在 Android Studio 2.2 中愉快地使用 C/C++ JNI
- Studio NDK(Jni)学习
- android studio JNI使用
- Android Studio使用JNI
- android studio使用jni
- Android Studio 使用JNI
- ANDROID STUDIO JNI使用
- HTTP协议(一)
- JSP2 Taglib 自定义标签学习
- Android_数据库操作
- 蓝桥杯--前缀判断
- jQuery UI 实例
- Andro Studio 中JNI学习使用记录
- 阿里云推荐引擎使用教程
- 顺序栈和链栈的基本操作实现
- Java 校招面试,Google 面试官亲授-校招面试通关宝典
- 比特平面分层
- 和为S的连续正数序列
- 链表逆转的两种方法
- thinkphp3.2 发送邮件三个步骤
- BOM header