安卓基础知识笔记

安卓四大组件

Activity(活动)、Service(服务)、BroadcastReceiver(广播接收者)、ContentProvider(内容提供者)

JNI 静态注册和动态注册

Java 支持调用 C/C++ 代码,JNI(Java Native Interface)的作用是粘合 Java 代码和 C/C++ 代码

静态注册 遵循一定的命名规则,一般是 Java_packagename_classname_methodname(JNIEnv *env,jclass/jobject,...)

动态注册 有几个关键点

使用结构体 JNINativeMethod 来记录java方法和jni函数的对应关系

1
2
3
4
5
typedef struct {
const char* name; //Java方法名
const char* signature; //方法的参数和返回值,使用字符串记录,格式形如`()V, (I)I`,括号内表示函数参数,括号右侧表示函数返回值
void* fnPtr; // 指向JNI函数的函数指针
} JNINativeMethod;

java 端的 native 方法
c/c++ 代码实现的JNI_Onload()方法


安卓基础知识笔记
http://example.com/2025/07/02/android_note/
作者
Eleven
发布于
2025年7月2日
许可协议