- 2024-10-16NDK开发
NDK介绍app为什么会把代码放到so中a)C语言历史悠久,有很多现成的代码可用b)C代码执行效率比Java高c)Java代码很容易被反编译,而且反编译以后的逻辑很清晰为什么要学习NDK开发在安卓的so开发中,其他基本与C/C++开发一致,而与Java交互需要用到jni在本部分的NDK开发讲解
- 2024-09-05Android之JNI开发
JNIJNI是JavaNativeInterface的缩写,俗称Java本地接口,是Java语言提供的用于Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的C/C++的代码也可以通过JNI调用Java代码。那什么场景下可能会用到JNI呢?1、需要提升性能时,比如说做一些底层的开发,例如音视频处理之类
- 2024-08-02让C++通过JNI来callback回调kotlin侧代码
kotlin一次通过jni调用C++侧,然后C++侧多次回传数据让C++通过JNI来callback回调kotlin侧代码1.定义Kotlin接口在Kotlin中定义一个用于接收C++回调的接口:interfaceDataCallback{funonDataReceived(data:String)}2.定义C++侧的JNI方法在C++侧,实现接收指令和
- 2024-03-22JNI 基础教学
/*常用引用数据类型对比*Allobjectjobject*java.lang.Classjclass*java.lang.Stringstring*int[]jintArray*Object[]jobjectArray**JNI函数签名信息*java支持函数重载,因此仅仅根据
- 2023-03-04Android JNI 调用
1.Android Studio创建native项目 对项目进行解释cmake_minimum_required(VERSION3.10.2)#Declaresandnamestheproject.project("jnitest")#Create
- 2022-12-26JavaVM & JNIEnv
JNIEnv提供了大多数的JNI函数。你的本地方法都会接收JNIEnv作为第一个参数。JNIEnv用于本地线程存储。因此,你不能在线程间共享同一个JNIEnv。如果一个代码段没有其他方式获
- 2022-11-21JNI中AttachCurrentThread和DetachCurrentThread的问题
在《Java与CC++交互JNI编程》中有讲过AttachCurrentThread和DetachCurrentThread的使用。我们知道在jni中我们可以使用pthread或者std::thread创建线程。因为线程并不是从
- 2022-10-12安卓逆向 JNI实先java与C互通
先来一张吊图jdk_1.6.0_43/include/jni.h 这个头文件的地址头文件分布 我们需要熟悉的 反射获取java中的类1.jclass/类型(JNICALL*FindClass)函数