JNI
文章平均质量分 84
京城最明亮的少年
生活应该充满挑战和艰险才显得无比的精彩!
展开
-
NDK动态注册
关于NDK想必大家都了解一点如静态注册 //动态注册 public native void registerJava01(String text);这是一个最基本的Native函数那么我们之前采用的静态注册就是在c/c++文件中填写extern "C"JNIEXPORT void JNICALLJava_com_example_myndk_MainActivity_r...原创 2020-02-27 20:37:17 · 307 阅读 · 0 评论 -
JNI创建java类,并返回
这里介绍的是如何在jni中创建java中的类,并将java类返回给java代码 在java层面上,生成本地函数 Object表示返回的是一个对象数组 public native Object[] getArr(); 在JNI层面上Java_com_example_administrator_myjnitest_MainActivity_getAr...原创 2018-04-17 10:09:52 · 2025 阅读 · 0 评论 -
JNI创建java类,并返回
1,定义一个java的静态方法//我们就在MainActivity中定义一个静态的方法 public static void JNIcallJava(){ Log.i("test class","when you have seen this you are sucess"); }2,JNI使用该方法extern "C"JNIEXPORT v...原创 2018-04-17 10:56:26 · 380 阅读 · 0 评论 -
JNI 中的C/C++和cmake之间的对应配置
我最近看了很多JNI的网页,基本上都是JNI环境配置,然后就没有了,Android studio到了3.0这个版本环境都是死的,初始化都有一个最基本的native-lib.cpp这个文件,运行就可以在界面上显示从C++返回的字符串,今天这里就不介绍这个了,太多了。一点意义都没有。今天主要介绍:1,如何添加C语言单独文件2, cmake和 C/C++之间的构建新建C语言文件(当...原创 2018-04-20 11:53:53 · 554 阅读 · 0 评论 -
JNI访问域,调用java方法
java有两类域:实例域和静态域JNI提供了访问两类域的函数 带有静态域和实例域的java类public class JavaClass{//实例域private String instanceFiled = "Instance Field";//静态域private static String staticField = "Static Field";}一获取域...原创 2018-04-24 19:43:14 · 214 阅读 · 0 评论 -
JNI异常处理
异常处理是java程序设计语言的重要功能,JNI的异常行为与java的有所不同,在java中当抛出一个异常的时候,虚拟机停止执行代码并进入调用栈反向检查特定类型的异常。虚拟机清除异常并将控制权交给异常处理程序。相比之下JNI要求开发人员在异常发生后显示的实现异常处理流。一,捕捉异常 抛出异常的java例子public class JavaClass{//抛出方法pri...翻译 2018-04-25 09:33:31 · 621 阅读 · 0 评论 -
Cmake的简单论述
关于Cmake很多人应该都听说过,Android在使用JNI和底层的C/C++打交道的时候必须要使用到Cmake,今天就来简单的解析下Cmake。#在android studio升级后,好像是在3.0版本的样子就不用我们手动去配置C/C++的编译环境了,如下图这里我们只用勾选C++ support就可以了,当然如果你想使用kotlin的支持勾选下也是一样的点击 Next完成后是这样...原创 2018-10-15 16:55:23 · 145 阅读 · 0 评论